2025.7.9学习日记
1.训练前置步骤
1.1 数据集下载
数据集下载的仓库地址:
https://github.com/facebookresearch/co3d?tab=readme-ov-file#co3dv2-common-objects-in-3d-version-2

在下载数据集这一部分下,作者将数据集文件的链接放入了仓库的dataset/link.json文件中.

操作步骤:
【!!!】:这里选择下载的是作者提供的子集,时候
- 与download_dataset.py下创建download_dataset.sh
- 编写创建的脚本,添加如下内容
#!/bin/bash
# 设置下载文件夹的路径
DOWNLOAD_FOLDER="/root/autodl-tmp/data/co3d"
# 执行下载数据集的命令,下载脚本的路径需要改成绝对路径
python /root/autodl-tmp/co3d/co3d/download_dataset.py --download_folder $DOWNLOAD_FOLDER --single_sequence_subset
- 执行进入脚本所在路径,于命令行中直接执行。

文件解压后zip文件不会删除,可以根据存储空间大小自行选择是否删除,不过最重要的是需要移动.zip结尾的文件,这一点会在下面讲解
【注1】:在查看完readme文件后,如果你身处实验室环境,先查看实验室服务器的数据集是否存在co3d数据集。之后再查看各大社区,是否存在着可直接下载,符合数据组织格式的数据集
【注2】:co3d文件夹中,challenge是作者关于数据集挑战赛的内容,不用理会
1.2 注释下载
注释的下载仓库地址:
https://huggingface.co/datasets/JianyuanWang/co3d_anno
【错误做法!!!】这一部分的下载较为简单,通过git clone下载即可,较为推荐的方式是使用SSH URL,参照Chap3.2中的SSH步骤,将公钥上传至huggingface账户即可。
【原因】缺少了git lfs的安装😡
【正确做法-1】:对于HuggingFace上的LFS(全称为Large File Storage)文件需要下载Git LFS处理。先启动Git LFS,再去使用git clone。
- 【😨】但是这种做法有一个致命的问题,需要开启代理

- 启动Git LFS(git lfs install)
# 添加packagecloud仓库
curl -s https://packagecloud.io/install/repositories/github/git-lfs/script.deb.sh | sudo bash
# 安装Git LFS
sudo apt-get install git-lfs
# 初始化Git LFS
git lfs install
# 验证是否安装成功
git lfs --version
完整的安装做法参考Github上的教程
https://github.com/git-lfs/git-lfs/blob/main/INSTALLING.md
- 添加仓库结果:

- 安装Git LFS结果:

- 初始化与验证

- 克隆仓库(git clone):
git clone git@hf.co:datasets/JianyuanWang/co3d_anno
【正确做法-2】:使用huggingface cli+huggingface镜像下载LFS
这里先需要进行Linux的镜像设置,操作方法如下:
- 【Linux镜像设置】需要打开终端修改/root/.bashrc文件,按G跳转最后一行,按O插入新的一行,加上
export HF_ENDPOINT=https://hf-mirror,并且重新开启终端source ~/.bashrc,使得配置生效
huggingface cli支持模型下载和数据集下载,在命令行输入分别输入如下,即可下载模型/数据集
- 模型下载
#!/bin/bash
MODEL_NAME="model copied by hf"
DOWNLOAD_PATH="your/path"
huggingface-cli download --resume-download $MODEL_NAME --local-dir $DOWNLOAD_PATH
- 数据集下载
#!/bin/bash
DATASET_NAME="JianyuanWang/co3d_anno"
DOWNLOAD_PATH="/root/autodl-tmp/data/co3d_anno"
huggingface-cli download --repo-type dataset --resume-download $DATASET_NAME --local-dir $DOWNLOAD_PATH
1.3 配置
下载数据集和标注后,需要在training/config/default.yam配置路径,修改的参数为
-
CO3D_DIR:数据集的路径
-
CO3D——ANNOTATION:注释文件的路径

-
resume_checkpoint_path:预训练的检查点的路径,可以选择VGGT-1B模型,这里一定要写到model .pth(.safetensors)

【注】:在data部分需要更新两次数据集和标注路径,因为数据集被分为了训练集(train)和验证集(val)
2.微调
2.1 调整
- 调整库
新的VGGT调整了依赖库,在trainer.py需要安装iopath,wcmatch,fvcore - 调整路径
training的normalization.py文件会使用到vggt部分的模块,需要添加上级目录的路径
import sys
sys.path.append("..")
- 调整co3d的文件结构
在官方的readme文件中谈到了文件结构,需要排除.zip结尾的文件,可以编写.ipynb将co3d文件夹中的.zip文件移动到同级目录下的zip文件夹中。
【注】:这部分可以让AI生成移动代码 - 调整co3d_anno
调整该部分主要是为了能够适应单场景训练,或者子集训练以便快速跑通代码。这里的关键原因在于,数据集标注是完整的,但数据集不是完整的是子集。
- 作者很贴心地将default文件中的debug设置为了True,方便我们跑通代码,当debug设置为True,训练时只会使用apple这一场景。所以在训练时,我们只需要根据子集中的apple编号,重新调整一下注释文件即可。
- 例如,我们在子集中苹果的数据集编号为如下三个

所以我们只要在原先的数据集上把属于苹果这三个的需要找出来即可,由于jgz为属于json压缩文件,需要修改后缀为gz才能被gzip正常解析,解压完后推荐使用vscode打开,在大纲中找到编号,重新写一个json文件复制粘贴进去,然后重新压缩为gz,改后缀为jgz即可。
【注1】:修改数据集的操作流程比较复杂,如果只是想要尽快跑通代码,操作数据集也可以,弄清楚流程;如果需要跑通整个子集,还是推荐作者在issue中讲到的,使用过滤的方法
【注2】:如果米娜桑下载的是子集的话,在作者提供的注释文件中,总会少一份注释文件,例如在apple数据子集中,可以在作者注释的apple_test.jgz中找到前两份的注释(110,189),但是第三份文件的注释(540),可能找不到,所以大伙可能需要借助大模型等工具去标注anno。煮啵嗨没关注如何去标注,这一部分可以等煮啵去更新一手。
2.2 正式微调-【煮啵能力有限,还没办法正式微调自己的数据集】
在上面的步骤完成之后,就可以开始使用数据集进行正式的微调了,这里以apple为例,微调过程如下:
,可以发现其实微调的时间还是很久的
【注】:请保证显存要在24G以上,不然会出现OOM(显存不够),吐槽一下我选的区,24G显存以上的空闲显卡居然只剩H20,10分钟克隆实例什么都没干,就干了煮啵1块钱😡
3.Git
3.1 远程分支和本地分支
在具有图形化操作界面的vscode上,可以通过其内置的git,轻松理解远程分支和本地分支。按照->所示点击

在搜索栏上会出现如下提示

包含从远程到本地的main(master)分支,与远程仓库的其余分支。
3.2 克隆远程仓库
这里记录下我在克隆远程仓库时遇到的问题,从Github的官方文档上看,Github提供了三种克隆库的方法,分别为
【注】:三种方法的复杂程度从小到大为HTTPS->SSH->CLI
- 使用HTTPS URL克隆:
使用包括如下的命令时,git clone(克隆原仓库),git pull(拉取新内容),git fetch,git push,会直接进行对远程仓库的克隆,但是可能会出现Connection Timeout情况 - 使用SSH URL克隆:
在HTTPS URL克隆失败时,可以采用SSH URL克隆,此方法需要预先在本机(或者AutoDL)上生成密钥对,并将公钥上传至Github账户中。该方法克隆成功率较高。
【!!!】:SSH URL与Autodl的学术加速搭配,可以加快下载速度。比起HTTPS URL+Autodl学术加速效果明显 - 使用Github CLI克隆
类似于HuggingFace的cli,需要预先下载Github cli并在命令行中使用专门的命令处理。该方法暂时还未尝试...
【注1】:请注意HuggingFace和GitHub均支持git clone等命令来克隆仓库,HTTPS克隆时不需要任何额外操作,SSH需要添加密钥,CLI需要下载对应软件工具
【注2】:终于知道HuggingFaceCIL要什么时候去用了,对于小文件却使用LFS结构的情况,使用CLI进行下载会比较方便

浙公网安备 33010602011771号