租借的是autodl的服务器,配置是RTX 4090 / 24G (一开始租的是5090,结果一阵配环境后发现项目指定的pytorch版本不支持,所以只好换一下)
- 服务器租赁教程参考:https://www.bilibili.com/video/BV16PVDzfEvk?vd_source=0e63ac2dd754b64db4ecb7f2de6ea971
需要上传的文件(可以先无卡模式开机做上传文件和配环境的工作)
- dino_wm.zip(我上传的包含源码和dinov2模型修改后的代码)
- mujoco210-linux-x86_64.tar.gz
- train/plan任务对应的数据集的压缩包
特殊的环境设置
| |
数据集/checkpoints下载
https://osf.io/bmw48/files/osfstorage?view_only=a56a296ce3b24cceaf408383a175ce28 下载建议是一个一个zip在浏览器上下载(我尝试整包wget, curl和浏览器下载,均功亏一篑…) 下载在本机后上传到服务器,以及接下来修改路径
主流程
大部分内容和github仓库readme指示的一样,但是有一些地方有调整
- 创建conda环境:在dino_wm目录下conda env create -f environment.yaml, 然后conda activate dino_wm
- 安装Mujoco: 服务器大概是连不上的,所以要使用上传的文件,放到root/.mujoco并tar -xzvf mujoco210-linux-x86_64.tar.gz
- 环境变量设置:vi ~/.bashrc i编辑 esc退出编辑 :wq保存并退出
| |
然后source ~/.bashrc 4. 训练模型指令:
| |
(如果和我配置一样 会出现跑不动的情况,可在train.yaml里把batch_size改为8) 5. plan指令:
| |
where the model is saved at folder <ckpt_base_path>/outputs/<model_name>, and <ckpt_base_path> can be specified in conf/plan.yaml
- 也就是下载的checkpoints/训练出来的权重存放的位置
我做出的修改
可以在走主流程遇到问题后来这里看(?)
- 直接命令行export HYDRA_FULL_ERROR=1, 可以查看traceback
- wandb相关 由于现在wandb似乎一直连不上,故使用swanlab替代。首先需要pip install swanlab. 然后使用apikey在命令行进行swanlab login. 在每个有wandb.init的文件里:
| |
- 关于DinoV2Encoder的报错:由于dino-wm的环境要求是python3.9, 而使用
self.base_model = torch.hub.load("facebookresearch/dinov2", name)下载下来的代码包含其不允许的语法,故要做出修改。我的方案是:在缓存里找到一开始拉取的代码并把它保存到dino_wm/dinov2_local, 并修改:
| |
同时将dino.py中的self.base_model = torch.hub.load("facebookresearch/dinov2", name)改为
| |
- 其他:运行时遇到了一些工作目录和运行目录混乱的问题(报错大概是file not found),做了一些修改:
| |
然后就可以快乐炼丹啦!目前我跑了point_maze的plan和train都没有问题。如果还有解决不了的报错可以联系我讨论~
标签: #技术笔记 #世界模型
分类: 技术笔记
创建时间: 2025-07-14 00:06
更新时间: 2025-07-14 00:06