LTSM
model.fit不支持ndarry:Failed to convert a NumPy array to a Tensor (Unsupported object type float).
model.fit(X_train,y_train,epochs=100,batch_size=64,verbose=1,shuffle=True,validation_split=0.1)
Can not convert a ndarray into a Tensor or Operation.
实现的代码如上,报错
Failed to convert a NumPy array to a Tensor (Unsupported object type float).
查了一下午,解决了问题,因为这个版本的keras支持的是tensor,但是用
xm=tf.convert_to_tensor(X_train,dtype=tf.float64)
无法解决问题,无法转换为tensor,需要用到后台。话不多说,直接上代码
from keras import backend as K #转换为张量
X_train1 = K.cast_to_floatx(X_train)
y_train1 = K.cast_to_floatx(y_train)
路过的点个赞!哎,折腾了半天,闹心!
Failed to convert a NumPy array to a Tensor (Unsupported object type numpy.ndarray).
# 保存的代码位置
# 预测
train, test = supervised_value[:-testNum], supervised_value[-testNum:]
# 报错
yhat = model.predict(X, batch_size=batch_size)
原因
在对模型进行训练之前没有把训练样本和测试样本转化为 tensorflowh 和 Keras 可接受的数据类型。
解决方法:
# 预测
train, test = supervised_value[:-testNum], supervised_value[-testNum:]
# 修正为float64类型
train = train.astype("float64")
test = test.astype("float64")
train_scaled = train_scaled.astype("float64")
test_scaled = test_scaled.astype("float64")