You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

TensorFlow目标检测API运行报错:int()参数不能为NoneType,无摄像头也触发

解决TensorFlow目标检测API的int()参数为NoneType错误

最近我在学习TensorFlow目标检测API的相关教程,不管是用静态图片测试(不调用摄像头)还是直接用摄像头运行代码,都会触发如下错误栈:

Traceback (most recent call last):
File "C:\obj\models\research\object_detection\object_testmien_image.py", line 138, in
feed_dict={image_tensor: image_np_expanded})
File "C:\Users\tomsa\AppData\Local\Programs\Python\Python35\lib\site-packages\tensorflow\python\client\session.py", line 905, in run
run_metadata_ptr)
File "C:...

同时还收到明确的错误提示:TensorFlow目标检测错误:int()的参数必须是字符串、类字节对象或数字,不能是'NoneType'

几个实用的排查和解决方向

  • 先确认输入数据是否正常加载:这个错误90%的概率是你的image_np_expanded变量变成了None——说白了就是图像没成功读进来。如果是静态图片,检查cv2.imread()的路径是不是写错了,比如Windows路径的反斜杠有没有转义(写成\\或者用正斜杠/),或者图片文件是不是真的在你指定的文件夹里;如果是用摄像头,看看cv2.VideoCapture(0)的设备号对不对,有没有其他程序占用了摄像头。
  • 检查模型文件是否正确加载:要是你的预训练模型(.pb文件)没下载完整、路径写错或者解压出错,后续的张量操作也会出问题。可以在模型加载的代码后面加个打印,确认模型是否成功加载。
  • 定位第138行的变量状态:错误刚好出在第138行的feed_dict处,建议在这行代码前加一句print("image_np_expanded:", image_np_expanded),看看输出是不是None。如果确实是None,就往前找图像预处理的代码,比如是不是在resize、转格式的时候操作失误,导致数据丢失变成了None。
  • 排查版本兼容性:你用的是Python3.5搭配旧版TensorFlow,目标检测API对TensorFlow版本要求很严,比如1.x和2.x的代码逻辑差异极大。看看你跟着的教程对应的TensorFlow版本是不是和你本地安装的一致,版本不兼容也会出现这种奇怪的类型错误。

内容的提问来源于stack exchange,提问作者Mader n fader

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.26 09:43:09