您好,我正在尝试一个非常简单的项目来了解 TensorFlow 中的工作原理。我只给出了 3 个简单的数组,但它没有找到给我一个错误之间的关系。为什么会这样以及如何克服它?这是我的代码
import tensorflow as tf
from tensorflow import keras
x = [[1,2,5,6],[12,5,1,7],[1,5,7,9]]
y = [[1],[4],[3]]
model = keras.Sequential()
model.add(keras.layers.Dense(4, activation=tf.nn.relu))
model.add(keras.layers.Dense(1, activation=tf.nn.softmax))
model.compile(optimizer='adam',
loss='binary_crossentropy',
metrics=['accuracy'])
model.fit(x,y,epochs=20,batch_size=4)
错误: ValueError:请提供单个数组或数组列表作为模型输入。您通过了: x=[[1, 2, 5, 6], [12, 5, 1, 7], [1, 5, 7, 9]]
最佳答案
在 Python 中,我们没有原生数组。您使用 x
和 y
制作的内容是 lists 。更准确地说,是列表的列表。
正如错误消息所示,Tensorflow 期望 numpy arrays或数组列表作为输入。
在代码顶部添加 import numpy
并将 x
和 y
转换为 numpy 数组,然后再将它们用于模型。
x = [[1,2,5,6],[12,5,1,7],[1,5,7,9]]
y = [[1],[4],[3]]
x = numpy.array(x)
y = numpy.array(y)
关于python - 在tensorflow的输入中放入什么才能起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54916951/