TensorFlow模型预测抛出ValueError:无法识别列表类型输入
解决TensorFlow预测时的ValueError问题
错误根源是预测输入的类型为普通Python列表(list),尽管训练阶段已经将数据转为numpy数组,但study_model.predict([n])里的[n]属于未被TensorFlow识别的列表类型,新版本TensorFlow对输入数据类型的校验更为严格,仅接受numpy数组或TensorFlow张量作为预测输入。
以下两种修复方法任选其一即可:
方法1:将预测输入转为numpy数组
修改预测逻辑的代码行:
result = study_model.predict(np.array([n]))[0][0]
方法2:将预测输入转为TensorFlow张量
修改预测逻辑的代码行:
result = study_model.predict(tf.constant([n]))[0][0]
完整修复后的核心代码片段
n = 38 # 示例采用方法1的写法 result = study_model.predict(np.array([n]))[0][0] rounded_number = round(result, 2) print(f"If I study for {n} hours, I will get {rounded_number} marks as my grade.")
内容的提问来源于stack exchange,提问作者jdf
相关产品推荐
相关产品推荐

