返回顶部
首页 > 资讯 > 后端开发 > Python >[VoteNet]报错出现错误“subprocess.CalledProcessError: Command ‘[‘ninja‘, ‘-v‘]‘ returned nonzero exit state
  • 161
分享到

[VoteNet]报错出现错误“subprocess.CalledProcessError: Command ‘[‘ninja‘, ‘-v‘]‘ returned nonzero exit state

pytorch深度学习python 2023-08-31 16:08:46 161人浏览 八月长安

Python 官方文档:入门教程 => 点击学习

摘要

项目场景: 尝试运行votenet baseline 服务器环境: NVIDIA RTX3090 PyTorch 1.8.1 CUDA11.1 问题描述 在run demo的时候尝试对pointne

项目场景:

尝试运行votenet baseline
服务器环境:
NVIDIA RTX3090
PyTorch 1.8.1
CUDA11.1


问题描述

在run demo的时候尝试对pointnet2的一众cpp文件进行编译,运行python setup.py install时出现报错,报错信息为‘ubprocess.CalledProcessError: Command ‘[‘ninja‘, ‘-v‘]‘ returned nonzero exit state 1’


原因分析:

pytorch版本和源代码所使用的pytorch版本不一致


解决方案:

这里搜罗了网上许多解决方案大致可以分为三种:
1.对pytorch版本降级到1.5以下(懒得改,以免无法兼容其余网络并且无法支持cuda11.0+)
2.将ninja -v 变成ninja --version(看了网上的评论,这种做法是把编译命令进行了更改,不是解决ninja -v报错的方法,而且改变底层逻辑代码也是不被推荐的)
3.添加CUDA环境变量(亲测无效)

我自己的方法是查看了两位csdn朋友的blog后结合成功的。
Step1
将/votenet/pointnet2/setup.py下的这段代码:

cmdclass={'build_ext': BuildExtension}

更改为:

cmdclass={'build_ext': BuildExtension.with_options(use_ninja=False)}

该步骤是为了pytorch禁用ninja。

Step 2
将/votenet/pointnet2/_ext_src/include下的/votenet/pointnet2/_ext_src/include/utils.h中AT_CHECK更改为TORCH_CHECK
同时将/votenet/pointnet2/_ext_src/src下的ball_query.cpp、group_points.cpp、interpolate.cpp、sampling.cpp文件中的AT_CHECK更改为TORCH_CHECK

重新运行Python setup.py install

问题解决,顺利编译
Po 两位朋友链接万分感谢!

错误解决:subprocess.CalledProcessError: Command ‘[‘ninja‘, ‘-v‘]‘ returned non-zero exit status 1
出现错误“subprocess.CalledProcessError: Command ‘[‘ninja‘, ‘-v‘]‘ returned non-zero exit status 1”解决方法

来源地址:https://blog.csdn.net/weixin_44235206/article/details/130028555

--结束END--

本文标题: [VoteNet]报错出现错误“subprocess.CalledProcessError: Command ‘[‘ninja‘, ‘-v‘]‘ returned nonzero exit state

本文链接: https://lsjlt.com/news/386263.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作