【问题标题】:what to put in tensorflow's input to work在 tensorflow 的输入中投入什么工作
【发布时间】:2019-02-28 01:17:21
【问题描述】:

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

【问题讨论】:

  • 你的错误是什么?
  • 哦,我忘了。刚刚添加。
  • 仅供参考,给定标签的数量(即 3 个),您应该使用带有单热编码的 ycategorical_crossentropysparse_categorical_crossentropy

标签: python tensorflow machine-learning artificial-intelligence


【解决方案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)

【讨论】:

  • 我认为安装 tensorflow 也会自动安装 numpy,但如果引发 ImportError,请从终端运行 pip install numpy
猜你喜欢
  • 2018-09-13
  • 1970-01-01
  • 2019-08-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多