我应该在 Keras 输入类中使用什么形状?

我正在尝试运行一个简单的神经网络,并且使用以下代码已经达到了我的特征平坦的地步:


training_dataset = (

tf.data.Dataset.from_tensor_slices(

    (

        tf.cast(ballast_train[features].values, tf.float64),

        tf.cast(ballast_train[target].values, tf.int32)

    )

)

)


for features_tensor, target_tensor in training_dataset:

    print(f'features:{features_tensor} target:{target_tensor}')


features:[0.46029711 0.33290338 0.78302964 0.10295655 0.5890411 ] target:5

features:[0.63530873 0.90712946 0.27781778 0.10295655 0.45988258] target:5

features:[0.68413444 0.81390713 0.8448272  0.65073914 0.46771037] target:2

现在,我尝试运行以下代码,但无法正确获取代码的 tf.keras.Input() 部分。


`inputs = tf.keras.Input(shape=(5,))

x = tf.keras.layers.Dense(100, activation=tf.nn.relu)(inputs)

outputs = tf.keras.layers.Dense(15, activation=tf.nn.softmax)(x)

model = tf.keras.Model(inputs=inputs, outputs=outputs)


model.compile(optimizer='adam',

              loss='mean_squared_error',

              metrics=['accuracy'])


model.fit(training_dataset, epochs=5)`

当尝试拟合模型时,会出现此错误:


ValueError: Error when checking input: expected input_10 to have shape (5,) but got array with shape (1,)

“形状”参数中应该包含什么?我在这里缺少什么吗?


POPMUISE
浏览 84回答 1
1回答

当年话下

尝试以下方法看看是否有效:model.fit(training_dataset.batch(batch_size), epoch=5)您需要提供一个值batch_size如果这不起作用,我总是倾向于将我的功能和示例提供给单独的参数x和ytf.keras.Model.fit 。您可以尝试修改代码来执行此操作,而不是将它们合并到数据集中。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python