我应该在 Keras Input class 中使用什么形状?
What shape should I use in Keras Input class?
我正在尝试 运行 一个简单的神经网络,我已经使用以下代码达到了我的特征平坦的地步:
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,)
“形状”参数应该包含什么?我在这里遗漏了什么吗?
有类似的问题,它可能也适用于您的情况。尝试以下操作,看看它是否有效:
model.fit(training_dataset.batch(batch_size), epoch=5)
您需要为 batch_size
提供一个值
如果这不起作用,我总是倾向于将我的特征和示例提供给 tf.keras.Model.fit 中单独的参数 x
和 y
。您可以尝试修改您的代码来执行此操作,而不是将它们合并到数据集中。
我正在尝试 运行 一个简单的神经网络,我已经使用以下代码达到了我的特征平坦的地步:
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,)
“形状”参数应该包含什么?我在这里遗漏了什么吗?
model.fit(training_dataset.batch(batch_size), epoch=5)
您需要为 batch_size
如果这不起作用,我总是倾向于将我的特征和示例提供给 tf.keras.Model.fit 中单独的参数 x
和 y
。您可以尝试修改您的代码来执行此操作,而不是将它们合并到数据集中。