Python Keras模型误解了输入数据的形状
我有一个发电机,它产生以下结果: 产生{'components':成分,'documents':文档},标签 屈服迭代器具有以下形状: 成分。形状10,46文件。形状10,46标签。形状10 一旦该迭代器通过do my model输入,我将得到以下结果: ValueError:检查输入时出错:预期成分的形状为1,但得到的数组的形状为46 以下是产生上述错误的模型代码:Python Keras模型误解了输入数据的形状,python,tensorflow,keras,Python,Tensorflow,Keras,我有一个发电机,它产生以下结果: 产生{'components':成分,'documents':文档},标签 屈服迭代器具有以下形状: 成分。形状10,46文件。形状10,46标签。形状10 一旦该迭代器通过do my model输入,我将得到以下结果: ValueError:检查输入时出错:预期成分的形状为1,但得到的数组的形状为46 以下是产生上述错误的模型代码: # Both inputs are 1-dimensional ingredients = Input(
# Both inputs are 1-dimensional
ingredients = Input(
name='ingredients',
shape=[1]
)
# ingredients.shape (?, 1)
documents = Input(
name='documents',
shape=[1]
)
# documents.shape (?, 1)
logger.info('ingredients %s documents shape %s', ingredients.shape, documents.shape)
ingredients_embedding = Embedding(name='ingredients_embedding',
input_dim=training_size,
output_dim=embedded_document_size)(ingredients)
# Embedding the document (shape will be (None, 1, embedding_size))
document_embedding = Embedding(name='documents_embedding',
input_dim=training_size,
output_dim=embedded_document_size)(documents)
配料和文档输入层中提到的输入形状为1。但是,成分的形状是10,46,文件的形状是10,46。这里10是样本数量
您正在初始化模型,使其输入为形状None,1。应该是零,46。因此,您可以进行这些更改
ingredients = Input( name='ingredients', shape=( 46 , ) )
documents = Input( name='documents', shape=( 46 , )
这将修复错误。实际上,输入有46个维度或46个特征。是的,好主意。我有相同的lol。这将错误转移到:ValueError:新数组的总大小必须保持不变行是问题合并=重塑获取_形状=46,合并