PointMAE的代码配环境+运行

PointMAE的笔记
PointMAE的代码地址

1. 环境配置

我的cuda是115安装Pointnet2_PyTorch总是失败
所以我在隔离环境中创建了cuda113的环境
参考pip 隔离环境内 安装 cuda 113 不覆盖原有的全局 cuda 115

1.1 安装torch

pipinstalltorch==1.12.1+cu113torchvision==0.13.1+cu113torchaudio==0.12.1 --extra-index-url https://download.pytorch.org/whl/cu113

1.2 安装pyyaml

pipinstallpyyaml

1.3 安装easydict

pipinstalleasydict

1.4 安装h5py

pipinstallh5py

1.5 安装tqdm (后面有报错的解决方案 更换tqdm版本)

pipinstalltqdm==4.64.1 pipinstalltimm==0.6.13

1.6 安装matplotlib

pipinstallmatplotlib==3.5.3

1.7 安装 Pointnet2_PyTorch (对cuda版本有要求)

参考博客M3DM-pointnet2_ops踩坑指北

gitclone https://github.com/erikwijmans/Pointnet2_PyTorch.gitcdPointnet2_PyTorch/pointnet2_ops_lib pipinstall.

1.8 安装termcolor

pipinstalltermcolor==2.4.0

1.9 安装torch-scatter torch-sparse

pipinstalltorch-scatter torch-sparse -f https://data.pyg.org/whl/torch-1.12.1+cu113.html

1.10 安装 KNN_CUDA (必须有ninja)

pipinstall--upgrade https://github.com/unlimblue/KNN_CUDA/releases/download/0.2/KNN_CUDA-0.2-py3-none-any.whl pipinstallninja

1.11 安装 chamfer_dist

gitclone https://github.com/Julie-tang00/Point-BERTcdPoint-BERT/extensions/chamfer_dist python setup.pyinstall

1.12 安装opencv

pipinstallopencv-python==4.5.5.62

1.13 环境 pip list

2. 预训练

数据集用的ShapeNet55 [BaiduCloud] (code:le04)

2.1 指令 (CUDA_VISIBLE_DEVICES要用的GPU设备号 exp_name存放地址)

CUDA_VISIBLE_DEVICES=0python main.py --config cfgs/pretrain.yaml --exp_name pointmae_pretrain

2.2 划分数据集

2.2.1 新建.py文件 划分数据集为训练和测试

importosimportrandomimportargparsedefsplit_dataset(pc_dir,save_dir,train_ratio=0.8,random_seed=123456):""" 划分ShapeNet55-34数据集,生成train.txt和test.txt 参数说明: - pc_dir: shapenet_pc目录的绝对路径(存放所有.npy点云文件) - save_dir: ShapeNet-55目录的绝对路径(保存train.txt/test.txt) - train_ratio: 训练集比例(默认0.8) - random_seed: 随机种子(保证划分结果固定) """# 1. 检查目录是否存在ifnotos.path.exists(pc_dir):raiseValueError(f"点云目录不存在:{pc_dir}")os.makedirs(save_dir,exist_ok=True)# 确保保存目录存在# 2. 获取所有.npy点云文件pc_files=[fforfinos.listdir(pc_dir)iff.endswith('.npy')]ifnotpc_files:raiseValueError(f"{pc_dir}目录下没有找到.npy点云文件")print(f"共找到{len(pc_files)}个点云文件")# 3. 固定随机种子,保证划分结果可复现random.seed(random_seed)random.shuffle(pc_files)# 4. 划分训练集/测试集split_idx=int(len(pc_files)*train_ratio)train_files=pc_files[:split_idx]test_files=pc_files[split_idx:]print(f"训练集:{len(train_files)}个文件 | 测试集:{len(test_files)}个文件")# 5. 写入txt文件(每行是shapenet_pc下的文件名,匹配配置文件路径逻辑)train_txt_path=os.path.join(save_dir,'train.txt')test_txt_path=os.path.join(save_dir,'test.txt')withopen(train_txt_path,'w',encoding='utf-8')asf:f.write('\n'.join(train_files))withopen(test_txt_path,'w',encoding='utf-8')asf:f.write('\n'.join(test_files))print(f"划分完成!文件保存路径:")print(f"- 训练集:{train_txt_path}")print(f"- 测试集:{test_txt_path}")if__name__=='__main__':# 解析命令行参数(方便自定义路径)parser=argparse.ArgumentParser(description='划分ShapeNet55-34数据集为训练集/测试集')parser.add_argument('--pc_dir',type=str,required=True,help='shapenet_pc目录的绝对路径(例如:/home/cscai/data/ShapeNet55-34/shapenet_pc)')parser.add_argument('--save_dir',type=str,required=True,help='ShapeNet-55目录的绝对路径(例如:/home/cscai/data/ShapeNet55-34/ShapeNet-55)')parser.add_argument('--train_ratio',type=float,default=0.8,help='训练集比例(默认0.8)')args=parser.parse_args()# 执行划分split_dataset(pc_dir=args.pc_dir,save_dir=args.save_dir,train_ratio=args.train_ratio)

2.2 指令(必须先变成 如图所示的结构)

python split_dataset.py\--pc_dir /home/cscai//Point-MAE/Point-MAE-main/data/ShapeNet55-34/shapenet_pc\--save_dir /home/cscai//Point-MAE/Point-MAE-main/data/ShapeNet55-34/ShapeNet-55\--train_ratio0.8

3.报错

3.1 报错1:scheduler = CosineLRScheduler(optimizer, TypeError:init() got an unexpected keyword argument ‘t_mul’

pipinstalltimm==0.4.12

3.2 报错2 RuntimeError

pretrain.yaml中的total_bs修改为8

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/1160206.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

CMake:现代C/C++项目的构建中枢

CMake:现代C/C项目的构建中枢 引言:从构建混乱到标准化 想象你正在开发一个跨平台的C库,需要在Windows、Linux、macOS上都能构建。在CMake出现之前,这意味着:为Visual Studio编写.vcxproj文件为Linux编写复杂的Mak…

【MIMO通信】基于matlab MIMO检测器(ZF、MMSE、SIC、ML)在瑞利衰落下的BER性能比较【含Matlab源码 14929期】含报告

💥💥💥💥💥💥💞💞💞💞💞💞💞💞欢迎来到海神之光博客之家💞💞💞&#x1f49…

8 款 AI 毕业论文写作工具实测:拯救你的学术秃头季

又到毕业季,看着空白的 Word 文档和导师催稿的消息,不少同学直接陷入 “论文焦虑症”。别慌!AI 写作工具已经成为当代毕业生的隐形外挂。我们实测了全网最火的 8 款 AI 毕业论文写作工具,从选题、框架到降重一站式搞定&#xff0c…

智能体反思模式:让AI从“会做“到“做好“的关键技术

智能体反思模式是让AI对自身输出进行评估并自我纠错的机制,通过"执行-评估-优化"闭环迭代提升输出质量。文章详解了其流程、价值(减少人工修正、避免重复犯错、适配复杂场景)和实现方式(特别是"生产者-批评者"…

锁定Nature!小样本学习是真的好发

小样本机器学习|学术人不容错过的高产赛道!数据稀缺是AI领域的长期痛点,而小样本学习以“少量数据就能实现高效学习”的核心优势,成为现实应用中不可或缺的技术,同时也成为学术研究的热门方向——技术迭代迅速、创新空…

基于改进鲸鱼优化算法的微网系统能量优化管理Matlab源码

✅作者简介:热爱科研的Matlab仿真开发者,擅长数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。 🍎 往期回顾关注个人主页:Matlab科研工作室 👇 关注我领取海量matlab电子书和数学建模资料 &#x1…

MyBatis:注解开发

在 MyBatis 的开发体系中,注解开发作为 XML 配置的补充方案,以其简洁直观的语法大幅简化了基础 CRUD 操作的代码编写。然而需要明确的是,该方式更适用于简单业务场景,不推荐在生产环境中大规模使用—— 复杂 SQL 的维护性、动态 S…

大模型智能体工程实践:Rock Roll训练系统的构建与优化【收藏学习】

该研究提出智能体学习生态系统(ALE),包含ROLL训练框架、ROCK环境和iFlow CLI工具三层架构。创新性IPA算法基于语义交互块进行信用分配,提升长程训练稳定性。基于百万轨迹数据训练的ROME模型在SWE-bench等基准上表现优异,仅用30B参数就接近GPT…

2026年AI产品市场格局:多模态崛起,音乐生成爆发,程序员必看

SimilarWeb的2026年全球AI报告显示:通用AI流量滞涨,OpenAI市占率降至65%以下,Gemini上升至20%;音乐和音频生成增速最高;多模态产品访问量上涨;图像、写作和自动化工具流量下滑。AI原生应用冲击传统互联网平…

大模型工程师转型攻略:无需985学历,四大核心能力助你轻松入行

本文破除了大模型工程师高门槛的迷思,指出大多数企业需要的是应用工程师而非算法研究员。通过分析真实转型案例,文章总结出四大核心能力:提示工程、RAG检索增强生成、模型微调和工程部署能力。零基础程序员可通过系统学习一个月内产出可演示项…

【PaperXie毕业论文】从零到一的智能写作革命:AI如何重塑你的学术创作全流程

paperxie-免费查重复率aigc检测/开题报告/毕业论文/智能排版/文献综述/aippt https://www.paperxie.cn/ai/dissertationhttps://www.paperxie.cn/ai/dissertation ——告别熬夜改稿,开启“输入即输出”的高效学术时代 在2026年的今天,当人工智能已深度…

短剧广告联盟APP开发:数据对接与播放量、广告曝光量、收益联动统计方案

在短剧广告联盟APP的商业化体系中,播放量、广告曝光量与收益数据是衡量运营效果的核心指标,而三者的联动统计与精准对接,更是实现 “内容优化 - 广告策略调整 - 收益提升” 的关键前提。多数短剧APP 在开发阶段易陷入 “数据割裂、统计延迟、…

GEO营销全链路方案:附近搜索引流 + 到店优惠 + 会员裂变

一、方案概述本方案为实体门店打造基于地理位置(GEO)的数字化营销闭环,通过“线上精准引流-到店转化锁客-会员裂变增长”全链路设计,实现低成本、高效率的客源增长。二、核心玩法架构text附近搜索引流 → 到店专享优惠 → 会员体系…

羟基聚乙二醇多巴胺,HO-PEG-Do试剂的全能应用图解

试剂基本信息中文名:羟基聚乙二醇多巴胺,HO-PEG-醇多巴胺英文名:HO-PEG-Do,HO-PEG-dopamine分子量PEG:1k,2k,3.4k,5k,10k,20k(其它分子量可按需定…

AI 赋能学术:paperxie 毕业论文功能,如何让硕士论文写作效率提升 80%?

paperxie-免费查重复率aigc检测/开题报告/毕业论文/智能排版/文献综述/aippt https://www.paperxie.cn/ai/dissertationhttps://www.paperxie.cn/ai/dissertation 在学术写作愈发依赖数字化工具的今天,“论文难写” 早已不是学生独有的焦虑 —— 从选题方向的模糊…

paperxie 科研绘图:从流程图到专业图表,一键搞定学术可视化的 “高效工具”

paperxie-免费查重复率aigc检测/开题报告/毕业论文/智能排版/文献综述/aippt https://www.paperxie.cn/drawinghttps://www.paperxie.cn/drawing 学术写作中,“图表可视化” 是让研究成果更直观的关键 —— 但多数科研人员常陷入 “不会用专业绘图软件”“图表不符…

Paperxie 毕业论文:从选题到定稿的一站式智能写作解决方案

paperxie-免费查重复率aigc检测/开题报告/毕业论文/智能排版/文献综述/aippt https://www.paperxie.cn/ai/dissertationhttps://www.paperxie.cn/ai/dissertation 对于每一位高校毕业生而言,毕业论文不仅是学业生涯的收官之作,更是学术能力的集中考验。…

通信原理篇---第一类部分响应的预编码和相关编码

我们用「事先打暗号的猜谜游戏」来彻底讲懂预编码和相关编码,你会惊叹于它们的巧妙。核心比喻:猜数字游戏假设我们要玩一个游戏:我快速报出一串数字给你听,你要猜出我心中原始的数字序列。但是有个讨厌的规则:我每次报…

大数据集成性能测试:JMeter压测ETL任务,找出性能瓶颈

大数据集成性能测试实战:用JMeter压测ETL任务,精准定位性能瓶颈 摘要/引言:你为什么需要系统的ETL性能测试? 凌晨3点,你揉着眼睛盯着监控大屏——昨天的用户订单ETL任务还没跑完。业务部门早早就催着要“季度复购率报表”,而你只能一遍遍地刷新Spark UI,看着“Stage 3…

通信原理篇---第二类部分响应的预编码和相关编码

我们用「带负号的声音接力」这个游戏来彻底搞懂第四类部分响应的预编码和相关编码。这个类比会让你发现它和第一类的精妙差异。核心比喻:带负号的猜数游戏这次的游戏规则变了,更奇特:新规则:我报出的数字 我当前的数字 - 你猜的上…