TensorFlow语言预测代码运行报错求助:类型推断失败+路径未找到
错误信息翻译
2022-11-25 16:53:52.060639: W tensorflow/core/common_runtime/forward_type_inference.cc:332] 类型推断失败。这表明存在一个绕过类型检查的无效计算图。错误信息:INVALID_ARGUMENT: 预期兼容的输入类型,但输入1的类型为:
type_id: TFT_OPTIONAL
args {
type_id: TFT_PRODUCT
args {
type_id: TFT_TENSOR
args {
type_id: TFT_INT64
}
}
}
既不是之前组合输入的子类型也不是超类型:
type_id: TFT_OPTIONAL
args {
type_id: TFT_PRODUCT
args {
type_id: TFT_TENSOR
args {
type_id: TFT_INT32
}
}
}推断节点 'dnn/zero_fraction/cond/output/_18' 的类型时出错
2022-11-25 16:53:54.402348: W tensorflow/core/framework/op_kernel.cc:1780] OP_REQUIRES 在 save_restore_v2_ops.cc:112 处失败:NOT_FOUND: 无法创建新的可写文件:C:/Users/vs889/Desktop/project/outputs\model.ckpt-0_temp\part-00000-of-00001.data-00000-of-00001.tempstate6886965226105612622 : 系统找不到指定的路径。
; 没有这样的进程
Traceback (most recent call last):
文件 "C:\Users\vs889\AppData\Local\Programs\Python\Python39\lib\site-packages\tensorflow\python\client\session.py", line 1378, in _do_call
return fn(*args)
文件 "C:\Users\vs889\AppData\Local\Programs\Python\Python39\lib\site-packages\tensorflow\python\client\session.py", line 1361, in _run_fn
return self._call_tf_sessionrun(options, feed_dict, fetch_list,
文件 "C:\Users\vs889\AppData\Local\Programs\Python\Python39\lib\site-packages\tensorflow\python\client\session.py", line 1454, in _call_tf_sessionrun
return tf_session.TF_SessionRun_wrapper(self._session, options, feed_dict,
tensorflow.python.framework.errors_impl.NotFoundError: 无法创建新的可写文件:C:/Users/vs889/Desktop/project/outputs\model.ckpt-0_temp\part-00000-of-00001.data-00000-of-00001.tempstate6886965226105612622 : 系统找不到指定的路径。
; 没有这样的进程
[[{{node save/SaveV2}}]]
问题1:整数类型不兼容(INT64 vs INT32)
- 检查模型中
dnn/zero_fraction相关节点的输入,确保所有整数类型统一(全用INT32或全用INT64) - 数据预处理阶段显式指定张量类型,比如用
np.int32或np.int64转换输入数据 - 若使用预训练模型,确认加载时的类型设置与训练时一致
问题2:文件路径无法创建
- 手动创建输出目录
C:/Users/vs889/Desktop/project/outputs,确保目录存在且有读写权限 - 统一路径分隔符,要么全用Windows格式的
\,要么全用Python兼容的/,避免混合使用导致解析错误 - 检查当前用户对输出目录的写入权限,右键目录→属性→安全,确认权限设置
- 尝试修改模型保存路径,使用更简洁的路径结构,避免过长或含特殊字符的路径
内容的提问来源于stack exchange,提问作者Vedant Sharma

