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

这篇具有很好参考价值的文章主要介绍了[VoteNet]报错出现错误“subprocess.CalledProcessError: Command ‘[‘ninja‘, ‘-v‘]‘ returned nonzero exit state。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

项目场景:

尝试运行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://www.toymoban.com/news/detail-543038.html

到了这里,关于[VoteNet]报错出现错误“subprocess.CalledProcessError: Command ‘[‘ninja‘, ‘-v‘]‘ returned nonzero exit state的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包