遇到问题:No module named onnxsim 解决

课题需要,使用 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-Fastestv2ONNX 模型进行简化和优化

  • 9
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 这个错误通常是由于缺少 onnxsim 模块导致的。你需要安装 onnxsim 模块,可以使用以下命令: ``` pip install onnxsim ``` 如果你使用的是 conda 环境,可以使用以下命令: ``` conda install -c conda-forge onnxsim ``` 安装完成后,再次运行你的代码应该就可以解决这个错误了。 ### 回答2: `ModuleNotFoundError: No module named 'onnxsim'` 是一个Python错误提示。该问题出现的原因是在当前的Python环境中找不到名为 'onnxsim' 的模块。 要解决这个问题,你可以按照以下步骤进行操作: 1. 首先,确认你已经正确安装了 'onnxsim' 模块。你可以使用 `pip list` 命令来查看已安装的模块列表,检查是否存在 'onnxsim' 模块。 2. 如果没有安装 'onnxsim' 模块,可以使用以下命令进行安装: `pip install onnxsim`。确保你的计算机联网,这样pip才能下载并安装模块。 3. 如果已经安装了 'onnxsim' 模块,但仍然出现错误,可能是因为你的Python脚本尝试在不同的Python环境中运行。这种情况下,你需要确保你的脚本在正确的Python环境中运行。可以尝试在终端中运行脚本,或者使用virtualenv等工具创建一个独立的Python环境。 总结来说,`ModuleNotFoundError: No module named 'onnxsim'` 错误提示是由于当前Python环境中找不到 'onnxsim' 模块引起的。你可以通过安装 'onnxsim' 模块或者确保脚本在正确的Python环境中运行来解决问题。 ### 回答3: ModuleNotFoundError: No module named 'onnxsim'是Python编程中出现的一个错误信息,意味着当前环境中找不到名为'onnxsim'的模块。 onnxsim是一个用于简化、优化和验证ONNX模型的Python包。ONNX是一种开放的模型格式,它允许将不同框架(如TensorFlow、PyTorch等)训练的模型进行互操作性。 如果在运行代码时出现ModuleNotFoundError: No module named 'onnxsim',可以考虑以下解决方法: 1. 确保已经安装了onnxsim包。可以使用pip命令在终端中安装,例如:pip install onnxsim。如果之前已经安装过,可以尝试使用pip install --upgrade onnxsim来更新该包。 2. 检查Python环境中的模块路径是否正确。有时安装的模块路径可能与当前项目的Python路径不匹配,可以通过在代码的开头添加sys.path.append('module_path')来解决。其中'module_path'是onnxsim模块所在的路径。 3. 检查是否使用了正确的Python解释器。有时候在不同的环境中安装的模块可能发生冲突,可以检查是否使用了正确版本的Python解释器。 4. 如果在使用虚拟环境,请确保已经激活并正确安装了onnxsim包。 总之,ModuleNotFoundError: No module named 'onnxsim'表示当前环境中找不到名为'onnxsim'的模块。通过正确安装该模块以及检查模块路径、Python解释器等可以解决这个问题
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值