Sorry, I still don't understand.  I don't think an input of (N*3,) *should* work.  What is the legitimate use case for such a flattened array as the input?  If the user wants N rgb values for N > 1, it is up to the user to feed in a proper sequence of rgb values, not a flattened array. For N=1, it should be valid for both the input and the output to be simply (3,).  I think that this will be the case if the reshape is removed.