Python 在传输学习值错误中:无法将NumPy数组转换为张量

Python 在传输学习值错误中:无法将NumPy数组转换为张量,python,numpy,tensorflow,deep-learning,transfer-learning,Python,Numpy,Tensorflow,Deep Learning,Transfer Learning,我正在使用Iris数据集练习迁移学习 对于以下代码,我得到以下错误消息: 无法将NumPy数组转换为张量(不支持的对象类型) 浮动) 我需要帮助解决这个错误 下面是导入的库 使用pandas读取csv文件 转换为numpy数组进行分类 建立神经网络, 编译神经网络模型 适合车型,请关注本部分内容 model_fit=model.fit(x,y, verbose=2, epochs=10, steps_per_epoch=3) 错误如下所示: ValueError回溯(最近一次调用) 在() -

我正在使用Iris数据集练习迁移学习

对于以下代码,我得到以下错误消息:

无法将NumPy数组转换为张量(不支持的对象类型) 浮动)

我需要帮助解决这个错误

下面是导入的库

使用pandas读取csv文件

转换为numpy数组进行分类

建立神经网络,

编译神经网络模型

适合车型,请关注本部分内容

model_fit=model.fit(x,y, verbose=2, epochs=10, steps_per_epoch=3)
错误如下所示:

ValueError回溯(最近一次调用)
在()
---->1模型拟合=model.fit(x,verbose=2,epoch=10,每个epoch的步数=3)
13帧
/usr/local/lib/python3.6/dist-packages/tensorflow/python/framework/constant_op.py in convert_to_eager_tensor(value、ctx、dtype)
96 dtype=dtypes.as\u dtype(dtype).as\u datatype\u enum
97 ctx.确保_已初始化()
--->98返回操作数(值,ctx.device\u名称,数据类型)
99
100
ValueError:无法将NumPy数组转换为张量(不支持的对象类型float)。

您可以尝试以下方法:

X = np.asarray(x).astype(np.float32)

model_fit=model.fit(X,y, verbose=2, epochs=10, steps_per_epoch=3)
似乎其中一列不受支持。所以只需将其转换为数据类型为float的numpy数组

注意:您以错误的方式定义了包含该类的
x
。应该是:

x = df[['SepalLengthCm', 'SepalWidthCm', 'PetalLengthCm', 'PetalWidthCm']].values

@ImdadulHaque你也注意到那张纸条了吗?关于建造
x
model = Sequential()
model.add(Dense(50, input_dim = x.shape[1], activation= 'relu'))   #Hidden Layer-->1
model.add(Dense(25, activation= 'relu'))     #Hidden Layer-->2
model.add(Dense(y.shape[1], activation= 'softmax'))     #Output
model.compile(loss ='categorical_crossentropy', optimizer ='adam')
model_fit=model.fit(x,y, verbose=2, epochs=10, steps_per_epoch=3)
ValueError                                Traceback (most recent call last)
<ipython-input-48-0ff464178023> in <module>()
----> 1 model_fit=model.fit(x,verbose=2, epochs=10, steps_per_epoch=3)

13 frames
/usr/local/lib/python3.6/dist-packages/tensorflow/python/framework/constant_op.py in convert_to_eager_tensor(value, ctx, dtype)
     96       dtype = dtypes.as_dtype(dtype).as_datatype_enum
     97   ctx.ensure_initialized()
---> 98   return ops.EagerTensor(value, ctx.device_name, dtype)
     99 
    100 

ValueError: Failed to convert a NumPy array to a Tensor (Unsupported object type float).
X = np.asarray(x).astype(np.float32)

model_fit=model.fit(X,y, verbose=2, epochs=10, steps_per_epoch=3)
x = df[['SepalLengthCm', 'SepalWidthCm', 'PetalLengthCm', 'PetalWidthCm']].values