gpt4 book ai didi

python - 下面的代码的输入形状应该是什么

转载 作者:行者123 更新时间:2023-12-01 22:04:02 24 4
gpt4 key购买 nike

这里我有一个用 Tensorflow 编写的非常简单的回归代码:

import tensorflow as tf
import numpy as np

x_train = np.array([[ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]],
dtype="float32")
y_train = np.array([[-1, 1, 3, 5, 7, 9, 11, 13, 15, 17, 19]],
dtype="float32")

loss = 'mean_squared_error'
optimizer = tf.keras.optimizers.Adam(0.1)

model = tf.keras.Sequential([
tf.keras.layers.Dense(units=1, input_shape=[1])])

model.compile(loss=loss, optimizer=optimizer)

history = model.fit(x_train, y_train, epochs=500)

当我运行此代码时,我收到此错误:

ValueError:检查输入时出错:预期dense_24_input的形状为(1,),但得到的数组形状为(11,)

现在我知道如果我从 x_train 和 y_train 中删除一对括号,代码将正常运行,如下所示:

x_train = np.array([ 0,  1,  2,  3,  4,  5,  6,  7,  8,  9, 10],
dtype="float32")

但我的问题是,如何使用相同的数据形状运行此代码? input_shape 应该是什么,这样我就不会收到上面的错误?

最佳答案

似乎 x 和 y 数组中有 11 个示例。为了训练每个示例都必须位于大小为 1 的子数组中:

import tensorflow as tf
import numpy as np

x_train = np.array([ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10],
dtype="float32")
y_train = np.array([-1, 1, 3, 5, 7, 9, 11, 13, 15, 17, 19],
dtype="float32")

x_train = np.asarray([[x] for x in x_train])
y_train = np.asarray([[x] for x in y_train])

loss = 'mean_squared_error'
optimizer = tf.keras.optimizers.Adam(0.1)

model = tf.keras.Sequential([
tf.keras.layers.Dense(units=1, input_shape=[1])])

model.compile(loss=loss, optimizer=optimizer)

history = model.fit(x_train, y_train, epochs=500)

关于python - 下面的代码的输入形状应该是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59446800/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com