这个问题就是之前有提到,你跑完pointnet之后,没有把他生成的文件放到pvn3d的指定位置,很抽象,我没看到有人说这个问题,我也是从报错里面每个文件去找才发现的,先说解决办法,之后再解释一下解决思路,问题如图:
解决办法:
先导航到你下载pointnet的位置,比如:\Pointnet2_PyTorch\pointnet2_ops_lib。这个文件夹下如图
是我们之前跑setup.py文件的位置,他跑完会在build里生成结果文件:build\lib.win-amd64-3.6\pointnet2_ops,文件如图:
因为我之前在win10是实现过,所以这里用win10路径来截图方便一点,板子上不好截图,位置是一样的,只是生成的文件名字不一样,这里是amd的,板子上是arm的
只需要把这个文件移到你报错的位置,我这里是:pvn3d\lib\pointnet2_utils,这样就对了
解决思路
简单分享一下解决思路,说实话,确实就是想找人说一说我的想法,毕竟做的时候非常的烦。
File "demo.py",line 18,in <module>
from lib import PVN3DFile "/home/huaqing/pvn3d/lib/ init_ .py", line 8, in <module>from .pvn3d import PVN3DFile "/home/huaqing/pvn3d/lib/pvn3d.py", line 13, in <module>from lib.pointnet2 utils.pointnet2 modules import PointnetfPModule, PointnetsAModuleMscFile "/home/huaqing/pvn3d/lib/pointnet2 utils/ init .py", line 8, in <module>from .import pointnet2 utilsFile "/home/huaqing/pvn3d/lib/pointnet2 utils/pointnet2 utils.py", line 19, in <module>from lib.pointnet2 utils import extImportError:cannot import name 'ext'
报错里面,提到pointnet2中不能导入ext文件,确实是一脸懵,按照提示路径去找,确实没有ext文件, 网上一看,也没有回答,这咋解决。
没办法,既然是pointnet2,那估计是当时配置的时候出的问题吧,所以就去看了一下pointnet2,然后就去看了看setup文件:
发现它里面确实提到_ext,我知道应该方向对了,然后回想起来构建命令是
python setup.py build _ext
那应该是构建了_ext ,然后就翻箱倒柜,找到了_ext文件,欸嘿。