您好,我正在尝试一个非常简单的项目,以了解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]]
答案 0 :(得分:1)
在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)