neurad复现心得和错误

 1.按照github里的readme正常配置环境

因为autodl会将/root下的文件视为系统盘,将/autodl-tmp下的文件视为数据盘,所以这里其实应该cd autodl-tmp/neurad-studio,之后再pip install -e .  。也正是因为我是在/neurad-studio而不是/autodl-tmp/neurad-studio下pip install -e .  ,导致后面出现了个错误浪费了很多时间。

2.在配置好环境之后,按照

训练模型,但是这里看上去是使用整个pandaset数据集进行训练,其实被训练的只有pandaset的001序列,因为代码中设置了sequence 的值为001。此时我想去训练其他序列,但是不管怎么修改/autodl-tmp/neurad-studio下.py文件的参数值,都没有任何改变。我想把render time设置的max改为8,在修改代码之后也没有任何改变。

3.原因分析

虽然运行的是/autodl-tmp/neurad-studio的train.py,但是train.py在import时并不是像文件操作那样从根目录文件找.py进行import,而是根据sys.path列表里的路径寻找这些包或模块。

运行代码:

得出这样的输出:['', '/root/miniconda3/envs/neurad/lib/python310.zip', '/root/miniconda3/envs/neurad/lib/python3.10', '/root/miniconda3/envs/neurad/lib/python3.10/lib-dynload', '/root/miniconda3/envs/neurad/lib/python3.10/site-packages', '__editable__.neurad_studio-0.1.0.finder.__path_hook__']

sys.path 的输出中可以看到,并没有直接列出 /autodl-tmp/neurad-studio/neurad-studio,说明 Python 并没有直接通过 sys.path 来指定你的项目路径。这种情况下,可能是因为你安装了一个可编辑的 Python 包(__editable__.neurad_studio-0.1.0.finder.__path_hook__),它可能通过某种方式默认指向了 /neurad-studio

这种情况通常出现在使用 pip install -e . 安装本地包时,Python 会动态加载这个包的源代码,但通常会锁定在一个文件路径上。例如,如果你是在 /root/neurad-studio 目录下运行了 pip install -e .,这个路径将被固定为默认加载的路径,即便你在别的路径运行同样的包名,Python 仍然会指向 /root/neurad-studio

4.总结:由于前面是在/neurad-studio下pip install -e . ,所以python将/neurad-studio设置成了默认加载的路径,即使运行的是/autodl-tmp/neurad-studio的train.py,import的仍然是/neurad-studio的其他.py,而不是/autodl-tmp/neurad-studio的.py。

5.解决方法:进入 /autodl-tmp/neurad-studio 目录,重新执行 pip install -e .,这样会把可编辑的路径指向这个新的目录。

### PointNet++ 复现过程中的错误解决方案 在复现 PointNet++ 的过程中,可能会遇到多种问题,这些问题通常涉及环境配置、依赖项安装以及代码实现细节。以下是针对这些可能问题的具体解决方案。 #### 1. Ubuntu 系统初始化与 TensorFlow 安装 如果是在 Ubuntu 18 上构建运行环境,则需要确保系统的 Python 版本兼容,并完成必要的库安装。具体操作如下: - **Python 虚拟环境设置** 推荐使用 `virtualenv` 或者 `conda` 创建独立的开发环境,以避免版本冲突[^1]。 ```bash sudo apt-get update && sudo apt-get upgrade sudo apt-get install python3-pip virtualenv virtualenv -p python3 env_pointnetpp source env_pointnetpp/bin/activate ``` - **TensorFlow 安装** 根据硬件支持情况选择 CPU 或 GPU 版本的 TensorFlow。对于 NVIDIA 显卡用户,需先确认驱动程序 CUDA 工具链已正确安装。 ```bash pip install tensorflow==2.4.0 # 假设使用的是 Tensorflow 2.x ``` #### 2. 编译 PointNet++ 扩展模块 PointNet++ 需要一些自定义的操作符来加速计算效率,在此之前必须手动编译扩展模块。按照官方文档说明执行以下命令可以解决问题[^2]: ```bash cd path/to/pointnet2/ python setup.py install --user ``` 注意:上述路径应替换为实际克隆下来的仓库目录位置;另外,“--user”参数表示仅限当前用户的本地安装模式,从而减少权限管理上的麻烦。 如果有任何 C++ 编译器相关的警告或者错误提示,请检查 GCC/G++ 是否更新至最新稳定版(>=7),并重新尝试构建流程。 #### 3. PyTorch 实现下的依赖处理 (Pointnet2_PyTorch) 当采用基于 PyTorch 构建的分支时(如 erikwijmans 提供的版本),某些情况下会因为缺失特定子模块而导致失败。此时可以通过指定 URL 方式直接从源码获取所需组件[^3]: ```bash pip install git+https://github.com/erikwijmans/Pointnet2_PyTorch.git#egg=pointnet2_ops&subdirectory=pointnet2_ops_lib ``` 若仍存在未满足的需求列表,可逐一排查缺少哪些第三方库文件并通过标准方法补充完整。 --- ### 总结 通过以上步骤能够有效应对大部分常见的 PointNet++ 模型复现实验期间所遭遇的技术障碍。当然,由于不同开发者的工作场景差异较大,因此不排除个别特殊情况还需单独分析调整策略。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值