TensorFlow中调用方法返回输入并在模型中使用的报错解决
错误原因
调用tf.convert_to_tensor时传入的是firstMethod函数对象本身,而非函数执行后返回的numpy数组,TensorFlow不支持将函数类型转为张量,因此触发报错。
修复方法
在firstMethod后添加括号执行函数,拿到它返回的numpy数组后再做张量转换即可,修改后的代码如下:
def secondMethod(model): # 调用firstMethod获取返回数组后再转张量 tf.print(tf.convert_to_tensor(firstMethod(), dtype = tf.float32)) secondMethod(model)
如果后续需要使用当前模型权重完成预测,可扩展为如下写法:
def secondMethod(model): # 拿到输入数组 input_data = firstMethod() # 打印输入验证 print("输入集合:", input_data) # 推理模式调用模型获取预测结果,避免训练相关层影响输出 pred = model(input_data, training=False) print("模型预测结果:", pred.numpy()) secondMethod(model)
内容的提问来源于stack exchange,提问作者sergey_208
相关产品推荐
相关产品推荐

