ValueError:无法将NumPy数组转换为张量(不受支持的对象类型float)

时间:2020-07-02 00:33:41

标签: python numpy tensorflow keras tf.keras

我在诊断Tensorflow的问题时遇到了真正的问题。我得到这个ValueError,它根本不是直观的。我尝试按照其他SO问题中的说明将浮点数转换为np.float32。我已经尝试过一揽子解决方案,但似乎无法克服。

我的数据在Pandas数据框中。我将TF-IDF数据框与其他一些复杂的功能结合在一起,以获得最终数据集。尺寸为(7176, 1006)。我正在使用Tensorflow,我的模型代码是:

model = Sequential()

model.add(Dense(500, activation='relu'))
model.add(Conv1D(500, 10, activation='relu', input_shape=input_shape)) # Convultional Layer
model.add(MaxPooling1D(pool_size=10, strides=80)) # MaxPooling
model.add(LSTM(250, dropout=0.2, recurrent_dropout=0.2)) # LSTM Layer
model.add(Dense(111, activation='softmax')) #output layer
model.compile(
    loss='sparse_categorical_crossentropy',
    optimizer='adam',
    metrics=['accuracy']
)

model.fit(X_train, y_train, epochs=10, validation_data=(X_test, y_test))

我已经在AutoKeras模型中使用了这些数据,因此我可以合理地确定问题是我如何构建模型(该模型从未完成,花费了很长时间)。浏览了不可避免的输入尺寸错误后,我到达了这里,我想拉头发。任何帮助或建议,我们将不胜感激!

1 个答案:

答案 0 :(得分:1)

您需要将最终数据集转换为numpy数组。您可以使用以下方法:

import numpy as np
input_data = np.array(your_final_data_array).astype(np.float32)

现在应该可以正常工作了。