[windows]pointnet2安装

pointnet2的代码来自:

https://github.com/halfsummer11/CAPTRA#dataset-folder-structure

https://github.com/sshaoshuai/Pointnet2.PyTorch

https://github.com/yanx27/Pointnet_Pointnet2_pytorch

在pointnet_lib目录下执行 python setup.py install 后

安装pointnet_lib报错:

D:\Anaconda\envs\pcl\lib\site-packages\torch\utils\cpp_extension.py:316: UserWarning: Error checking compiler version for cl: [WinError 2] 系统找不到指定的文件。

warnings.warn(f'Error checking compiler version for {compiler}: {error}')

找到cl.exe的路径添加到环境变量path中,去VS安装目录下找exe

D:\VS2019\VC\Tools\MSVC\14.28.29333\bin\Hostx64\x64

重启cmd使环境变量生效

D:\Anaconda\lib\site-packages\torch\utils\cpp_extension.py:209: UserWarning: Error checking compiler version for cl: 'utf-8' codec can't decode byte 0xd3 in position 0: invalid continuation byte

(未测试)安装英文语言包的VS可以解决 https://github.com/harskish/ganspace/issues/31

Pytorch 编译cpp、cuda扩展遇到的问题_xiongxyowo的博客-优快云博客

找到报错的py文件 cpp_extension.py

找到代码:

compiler_info.decode()

改为

compiler_info.decode('gbk')

但是不想改文件

Pytorch编译maskRCNN问题:cpp_extension.py:189: UserWarning: Error checking compiler version for cl..._高精度计算机视觉的博客-优快云博客

VS2019可以直接call,说如果输出没有中文

D:\VS2019\VC\Auxiliary\Build>vcvars64.bat

**********************************************************************

** Visual Studio 2019 Developer Command Prompt v16.8.2

** Copyright (c) 2020 Microsoft Corporation

**********************************************************************

[vcvarsall.bat] Environment initialized for: 'x64'

将version.py代码从match = self._regex.search(version)更改match = self._regex.search(str(version))

//…………

经历了安装cuda toolkit版本对应的pytorch…

//…………

UserWarning: It seems that the VC environment is activated but DISTUTILS_USE_SDK is not set.This may lead to multiple activations of the VC env.Please set `DISTUTILS_USE_SDK=1` and try again.

在命令行中执行:set DISTUTILS_USE_SDK=1

File "D:\Anaconda\envs\pcl\lib\site-packages\torch\utils\cpp_extension.py", line 545, in win_cuda_flags

    cflags + _get_cuda_arch_flags(cflags))

  File "D:\Anaconda\envs\pcl\lib\site-packages\torch\utils\cpp_extension.py", line 1561, in _get_cuda_arch_flags

    arch_list[-1] += '+PTX'

IndexError: list index out of range

参考:https://github.com/pytorch/extension-cpp/issues/71

在Python中输出torch.cuda.is_available() 是False,当输出为True时就能够解决这个问题

看了一下我的pytorch安装的是cpu版本的

使用conda search查看包的详细信息

cpu版本的所以会一直返回False

卸载

nvcc -V查看到CUDA是11.2,但是官网没有找到11.2对应的安装命令

https://pytorch.org/get-started/locally/,勇敢安装11.3

至此可以成功创建库

numpy.core.multiarray failed to import

似乎是安装pointnet_lib时安装了其他版本的numpy?还是其他原因?

但是我uninstall之后重新install又可以了,而且安装的还是这个版本

问题解决了就行….

pointnet_utils.py在尝试调用库pointnet_lib时报错

Traceback (most recent call last):

  File "<frozen importlib._bootstrap>", line 971, in _find_and_load

  File "<frozen importlib._bootstrap>", line 955, in _find_and_load_unlocked

  File "<frozen importlib._bootstrap>", line 665, in _load_unlocked

  File "<frozen importlib._bootstrap_external>", line 678, in exec_module

  File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed

  File "H:\PCL\2DKeypoint\model\pointnet_utils.py", line 10, in <module>

    from pointnet_lib import pointnet2_utils as futils

ModuleNotFoundError: No module named 'pointnet_lib'

打印sys.path发现是project目录,也就是说,python尝试在project目录下搜索pointnet_lib

因此在代码中,将model目录到sys.path中

pointnet_utils.py中打印__file__显示:

'H:\\PCL\\2DKeypoint\\model\\pointnet_utils.py'

可以使用os.path.dirname(__file__)来获得当前文件的上一层目录

添加

import sys

import os

sys.path.append(os.path.dirname(__file__))

 或者

pointnet_utils.py同级目录下创建一个__init__.py文件

import os

import sys

from os.path import join as pjoin

BASEPATH=os.path.dirname(__file__)

sys.path.insert(0,BASEPATH)

sys.path.insert(0,pjoin(BASEPATH,'..'))

sys.path.insert(0,pjoin(BASEPATH,'..','..'))

### Windows环境下实现或运行PointNet项目的指南 为了在Windows操作系统上成功复现PointNet项目,需遵循一系列配置环境和安装依赖项的操作。具体而言,在Win10系统下有两种主要途径来部署PointNet:一种基于`Pointnetpytorch`项目[^1];另一种则是针对三维视觉深度学习的Windows10下的PointNet官方代码PyTorch版本[^2]。 #### 配置开发环境 对于两种方案来说,首要任务都是搭建合适的Python编程环境以及必要的库文件支持: - 安装Anaconda发行版作为管理工具; - 创建一个新的Conda虚拟环境用于隔离不同项目的依赖关系; - 使用pip或者conda命令行工具安装诸如PyTorch、numpy等基础包。 ```bash conda create -n pointnet_env python=3.7 conda activate pointnet_env pip install torch torchvision torchaudio pip install numpy matplotlib scikit-learn tensorboardX h5py open3d ``` #### 方案一:通过Pointnetpytorch项目实现 此路径适合那些希望快速启动并测试模型的人群。按照GitCode上的说明文档操作即可完成大部分设置工作。特别需要注意的是数据集下载部分可能需要额外处理以适应本地存储结构的要求。 #### 方案二:基于cd0ca仓库构建 该方法更贴近原始论文中的实验设定,并提供了更多自定义选项给研究者们探索不同的参数组合效果。除了上述通用步骤外,还需要关注CUDA/GPU兼容性的调整,确保能够充分利用硬件加速功能提升训练效率。 ```python import os os.environ["CUDA_VISIBLE_DEVICES"] = "0" ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值