Keras重塑层会增加尺寸吗?

时间:2018-08-09 22:55:12

标签: keras reshape tensor

Reshape层无法正常工作。在下面的示例中,我认为最后一行应返回形状为[5,1]的张量对象。但是会引发错误,指出形状[5]张量不能重塑为大小[5,5,1]张量。

>>> from keras.layers import Reshape
>>> from keras import backend as K
>>> import numpy as np
>>> x = K.constant(np.array([1,2,3,4,5]))
>>> K.eval(x)
array([1., 2., 3., 4., 5.], dtype=float32)
>>> Reshape(target_shape=(5,1))(x)
...
ValueError: Cannot reshape a tensor with 5 elements to
shape [5,5,1] (25 elements) for 'reshape_3/Reshape' (op: 
'Reshape') with input shapes: [5], [3] and with input 
tensors computed as partial shapes: input[1] = [5,5,1].

有人可以解释一下Reshape层的工作原理(即为什么要添加额外的暗淡)以及如何将矢量重塑为矩阵吗?

谢谢

1 个答案:

答案 0 :(得分:2)

用户Reshape(target_shape=(1,))(x)

batch_size隐含在整个模型中,并且从头到尾都被忽略。

如果您要访问批次大小,请使用K.reshape(x,(5,1))

如果不创建完全由图层组成的模型,则不应使用Keras。