使用keras模型进行预测时,出现以下错误
AttributeError:'Tensor'对象没有属性'ndim'
原因是权重是numpy数组,而不是张量。
那么如何将numpy数组转换为keras张量呢?
答案 0 :(得分:2)
在Tensorflow中,可以通过以下方式完成:
import tensorflow.keras.backend as K
import numpy as np
a = np.array([1,2,3])
b = K.variable(a)
print(b)
# <tf.Variable 'Variable:0' shape=(3,) dtype=float32>
print(K.eval(b))
# array([1., 2., 3.], dtype=float32)
在原始喀拉拉邦,应将import tensorflow.keras.backend as K
替换为from keras import backend as K
。
答案 1 :(得分:0)
要将 numpy 数组转换为张量,
import tensor as tf
#Considering y variable holds numpy array
y_tensor = tf.convert_to_tensor(y, dtype=tf.int64)
#您可以使用任何最适合的可用数据类型 - https://www.tensorflow.org/api_docs/python/tf/dtypes/DType