Voxel2Mesh程序运行常见问题

最近在跑Voxel2Mesh: 3D Mesh Model Generation from Volumetric Data (https://github.com/cvlab-epfl/voxel2mesh)的代码时,由于环境问题,出现了很多问题,总结如下:

程序在运行过程中,要import rasterize_cuda,这个包是用c++和CUDA写的,在导入该包之前,rasterize.py文件的开头用了如下代码来编译这个包:

from torch.utils.cpp_extension import load
rasterize_cuda = load('rasterize_cuda',
                      ['./utils/rasterize/rasterize_cuda.cpp', './utils/rasterize/rasterize_cuda_kernel.cu'],
                      verbose=True)

总共在四台硬件相同的服务器上试过,其中有一台可以正常编译,另外三台编译时报如下错误:

对比不同服务器后发现,有的服务器没装cmake,还有些服务器的cmake版本过低,安装cmake 3.20.2后,有一台服务器没有报错,但是还有两台报如下错:

/usr/include/c++/7/bits/basic_string.tcc:1067:16: error: cannot call member function ‘void std::basic_string<_CharT, _Traits, _Alloc>::_Rep::_M_set_sharable() [with _CharT = char32_t; _Traits = std::char_traits<char32_t>; _Alloc = std::allocator<char32_t>]’ without object

原因是这两台服务器的CUDA版本为10.1.105,把CUDA版本升级到CUDA10.1.243即可,注意,用conda命令安装的CUDA对编译rasterize_cuda包无效,得在系统上装的CUDA才行。

 

总体环境配置如下:

  • torch 1.7.0
  • torchvision 0.8.0
  • python 3.6
  • pytorch3d 0.4.0
  • cmake 3.20.2
  • gcc 7.5.0
  • Ubuntu 18.04
  • CUDA 10.1.243

参考:https://github.com/pytorch/vision/issues/1893

 

 

 

  • 4
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值