在tensorflow的输入中要做什么

时间:2019-02-28 01:17:21

标签: python tensorflow machine-learning artificial-intelligence

您好,我正在尝试一个非常简单的项目,以了解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]]

1 个答案:

答案 0 :(得分:1)

在Python中,我们没有本地数组。您使用xy所做的是lists。更确切地说,是列表列表。

如错误消息所述,Tensorflow希望将numpy arrays或数组列表作为输入。

在代码顶部添加import numpy,然后将xy转换为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)