我有这个错误,我不知道如何重塑None
的维度。
Exception: Error when checking : expected input_1 to have shape (None, 192) but got array with shape (192, 1)
如何将数组重塑为(None,192)?
我的数组accuracy
的形状为(12, 16)
,我的accuracy.reshape(-1)
提供了(192,)
。但这不是(None, 192)
。
答案 0 :(得分:0)
在keras/keras/engine/training.py
def standardize_input_data(data, names, shapes=None,
check_batch_dim=True,
exception_prefix=''):
...
# check shapes compatibility
if shapes:
for i in range(len(names)):
...
for j, (dim, ref_dim) in enumerate(zip(array.shape, shapes[i])):
if not j and not check_batch_dim:
# skip the first axis
continue
if ref_dim:
if ref_dim != dim:
raise Exception('Error when checking ' + exception_prefix +
': expected ' + names[i] +
' to have shape ' + str(shapes[i]) +
' but got array with shape ' +
str(array.shape))
将其与错误进行比较
Error when checking : expected input_1 to have shape (None, 192) but got array with shape (192, 1)
所以它将(None, 192)
与(192, 1)
进行比较,并跳过第一轴;这是比较192
和1
。如果array
的形状为(n, 192)
,它可能会通过。
所以基本上,生成(192,1)
形状的东西,而不是(1,192)
或可广播的(192,)
导致错误。
我在猜测这是问题模块的标签上添加keras
。
搜索其他keras
标记的SO问题:
Dimensions not matching in keras LSTM model
Getting shape dimension errors with a simple regression using Keras
Deep autoencoder in Keras converting one dimension to another i
我不太了解keras
以了解答案,但除了重塑输入数组之外,还有更多内容。