课题需要,使用 Yolo-FastestV2 的代码
然后配置里面的 nxnn 时,在使用命令
python3 -m onnxsim yolo-fastestv2-palm2.onnx yolo-fastestv2-palm2-opt.onnx
时,出现报错:
/home/be/anaconda3/envs/fastv2/bin/python3: No module named onnxsim
如何解决
首先是没有这个模块,那么需要在对应的虚拟环境里面下载该模块。
但是不是使用命令: pip3 install onnxsim
而是命令:
pip3 install onnx-simplifier
然后就有可能遇到报错:
/usr/bin/ld: /usr/lib/x86_64-linux-gnu/libprotobuf.a(arena.o): relocation R_X86_64_TPOFF32 against hidden symbol `_ZN6google8protobuf8internal9ArenaImpl13thread_cache_E' can not be used when making a shared object
/usr/bin/ld: /usr/lib/x86_64-linux-gnu/libprotobuf.a(common.o): relocation R_X86_64_PC32 against symbol `stderr@@GLIBC_2.2.5' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: final link failed: bad value
collect2: error: ld returned 1 exit status
make[2]: *** [CMakeFiles/onnx_cpp2py_export.dir/build.make:88: onnx_cpp2py_export.cpython-36m-x86_64-linux-gnu.so] Error 1
make[1]: *** [CMakeFiles/Makefile2:104: CMakeFiles/onnx_cpp2py_export.dir/all] Error 2
make: *** [Makefile:130: all] Error 2
Traceback (most recent call last):
File "/home/be/anaconda3/envs/fastv2/lib/python3.6/site-packages/pip/_vendor/pep517/in_process/_in_process.py", line 349, in <module>
main()
File "/home/be/anaconda3/envs/fastv2/lib/python3.6/site-packages/pip/_vendor/pep517/in_process/_in_process.py", line 331, in main
json_out['return_val'] = hook(**hook_input['kwargs'])
File "/home/be/anaconda3/envs/fastv2/lib/python3.6/site-packages/pip/_vendor/pep517/in_process/_in_process.py", line 249, in build_wheel
metadata_directory)
File "/tmp/pip-build-env-wst535fl/overlay/lib/python3.6/site-packages/setuptools/build_meta.py", line 231, in build_wheel
wheel_directory, config_settings)
File "/tmp/pip-build-env-wst535fl/overlay/lib/python3.6/site-packages/setuptools/build_meta.py", line 215, in _build_with_temp_dir
self.run_setup()
File "/tmp/pip-build-env-wst535fl/overlay/lib/python3.6/site-packages/setuptools/build_meta.py", line 268, in run_setup
self).run_setup(setup_script=setup_script)
File "/tmp/pip-build-env-wst535fl/overlay/lib/python3.6/site-packages/setuptools/build_meta.py", line 158, in run_setup
exec(compile(code, __file__, 'exec'), locals())
File "setup.py", line 365, in <module>
"backend-test-tools = onnx.backend.test.cmd_tools:main",
File "/tmp/pip-build-env-wst535fl/overlay/lib/python3.6/site-packages/setuptools/__init__.py", line 153, in setup
return distutils.core.setup(**attrs)
File "/home/be/anaconda3/envs/fastv2/lib/python3.6/distutils/core.py", line 148, in setup
dist.run_commands()
File "/home/be/anaconda3/envs/fastv2/lib/python3.6/distutils/dist.py", line 955, in run_commands
self.run_command(cmd)
File "/home/be/anaconda3/envs/fastv2/lib/python3.6/distutils/dist.py", line 974, in run_command
cmd_obj.run()
File "/tmp/pip-build-env-wst535fl/overlay/lib/python3.6/site-packages/wheel/bdist_wheel.py", line 299, in run
self.run_command('build')
File "/home/be/anaconda3/envs/fastv2/lib/python3.6/distutils/cmd.py", line 313, in run_command
self.distribution.run_command(command)
File "/home/be/anaconda3/envs/fastv2/lib/python3.6/distutils/dist.py", line 974, in run_command
cmd_obj.run()
File "/home/be/anaconda3/envs/fastv2/lib/python3.6/distutils/command/build.py", line 135, in run
self.run_command(cmd_name)
File "/home/be/anaconda3/envs/fastv2/lib/python3.6/distutils/cmd.py", line 313, in run_command
self.distribution.run_command(command)
File "/home/be/anaconda3/envs/fastv2/lib/python3.6/distutils/dist.py", line 974, in run_command
cmd_obj.run()
File "setup.py", line 236, in run
self.run_command("cmake_build")
File "/home/be/anaconda3/envs/fastv2/lib/python3.6/distutils/cmd.py", line 313, in run_command
self.distribution.run_command(command)
File "/home/be/anaconda3/envs/fastv2/lib/python3.6/distutils/dist.py", line 974, in run_command
cmd_obj.run()
File "setup.py", line 230, in run
subprocess.check_call(build_args)
File "/home/be/anaconda3/envs/fastv2/lib/python3.6/subprocess.py", line 311, in check_call
raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['/usr/bin/cmake', '--build', '.', '--', '-j', '16']' returned non-zero exit status 2.
----------------------------------------
ERROR: Failed building wheel for onnx
Failed to build onnx
ERROR: Could not build wheels for onnx which use PEP 517 and cannot be installed directly
这个说明环境里面要么没有安装 onnx 要么安装的 onnx 版本不对。安装
pip install onnx==1.11.0
然后再运行上面安装 onnx-simplifiter 的命令即可成功。
之后再运行
python3 -m onnxsim yolo-fastestv2-palm2.onnx yolo-fastestv2-palm2-opt.onnx
就可以实现对 YOLO-Fastestv2 的 ONNX 模型进行简化和优化