运行
VERIFICATION_SCRIPT = os.path.join(paths['APIMODEL_PATH'], 'research', 'object_detection', 'builders', 'model_builder_tf2_test.py')
# Verify Installation
!python {VERIFICATION_SCRIPT}
测试文件
报错
VERIFICATION_SCRIPT = os.path.join(paths['APIMODEL_PATH'], 'research', 'object_detection', 'builders', 'model_builder_tf2_test.py')
# Verify Installation
!python {VERIFICATION_SCRIPT}
ImportError: cannot import name 'anchor_generator_pb2' from 'object_detection.protos' (C:\Users\ZZH\PycharmProjects\tfnew\venv\lib\site-packages\object_detection\protos_init_.py)
都重头再来了没辙了
正常运行测试文件
原因
在执行这个之前,你需要先编译一下proto文件,可能你没有执行这一步
protoc object_detection/protos/*.proto --python_out=.
如果还不行的话,那就是环境变量的问题
尝试下面的解决方法。
3、在执行之前model_builder_test.py,您需要编译 proto 文件,如下所示:
# From tensorflow/models/
protoc object_detection/protos/*.proto --python_out=.
方法二
对于windows来说 可以用源码安装的简单快速的方法
1、为 Windows 下载的 protobuf v3.4:https://github.com/google/protobuf/releases/tag/v3.4.0
2、将 protoc.exe 放在“research”文件夹中
3、然后运行下面的命令。
protoc object_detection/protos/.proto --python_out=.
python object_detection/builders/model_builder_test.py
anchor_generator_pb2.py 文件位于 object_detection/protos
如果上述方法还不行,可以参考:
如有问题及时沟通
import错误,包名和函数名正确吗?
看下有没有在同一个文件夹中,注意一下路径问题,再看下包什么的有没有问题。都不行的话,重新建一个文件夹单独拿出来进行实验看是否有错
大哥你这不就是缺个函数库嘛,网上下个开源的装一下就好了啊
不介意的话,发我测试文件
Python在搜索路径的时候有个顺序
>>> sys.path
['', '/home/caffe/python', '/home/', '/usr/lib/python3.4', '/usr/lib/python3.4/plat-x86_64-linux-gnu', '/usr/lib/python3.4/lib-dynload', '/usr/local/lib/python3.4/dist-packages', '/usr/local/lib/python3.4/dist-packages/setuptools-28.8.0-py3.4.egg', '/usr/lib/python3/dist-packages']
第一个空格代表当前目录,首先被搜索,然后是环境变量PYTHONPATH目录,python标准库目录,任何.pth包含的目录。
所以,,,虽然代码没错,解释器也对,也能找到模块里的类,但就是用不了,因为它首先找到当前目录里面的文件,就不会再找到库里的模块了。
不仅是文件名,变量名的取法也应该较讲究才对。
另外可用file属性查看模块的完整文件名,看是否对应
import PIL
print( PIL.__file__)
输出
/usr/lib/python3/dist-packages/PIL/__init__.py
另一个问题 No module named C.:
找不到模块的原因,python2和3对import的处理不同,这里只说python3,它是绝对导入,import时必须要写上路径才可以找到模块。
如
A—>B
A—>C
在B中要引用C模块
必须要写成 from A import C
直接写import C则就会提示 No module named C.
如有帮助,请采纳,十分感谢!
您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!