基于Aistido云开发平台使用PaddleDetection训练
本文介绍了在百度云平台Aistido上使用Paddledetection进行模型训练的完整流程。主要包括:1)Miniconda的安装与配置;2)创建conda环境并安装PaddlePaddle框架及相关依赖库;3)下载PaddleDetection源码;4)处理数据目录权限问题;5)修改配置文件启动训练;6)显存监控与优化;7)持久化安装与磁盘空间管理。文章详细记录了从环境搭建到模型训练的全过程
使用Aistido是因为我本地使用paddledetection训练时出现一些报错,我以为是我本地环境配置的问题,所以换到百度的云开发平台上来训练,说实话初步上手看他们给的文档我也没看懂,现在还属于在摸索阶段,但是也能进行一些简单的训练了
安装与配置 Miniconda
安装 Miniconda
下载Miniconda安装包
wget -c https://mirrors.tuna.tsinghua.edu.cn/anaconda/miniconda/Miniconda3-latest-Linux-x86_64.sh
运行安装脚本
bash Miniconda3-latest-Linux-x86_64.sh
安装过程中按提示操作,基本都是默认的,可以直接回车(Enter)确认。
激活 Conda 环境,每次打开Aistido都需要输入一次这个命令(我也不知道为什么,他没办法长时间保持conda环境,每次进来的时候都需要重新进一次conda环境)
source ~/miniconda3/bin/activate
每次激活环境都需重新执行此命令激活conda环境。
环境与数据管理
创建conda环境
创建conda环境,然后在环境中配置需要的一些库,并安装paddlepaddle框架
conda create -n <你的环境名> python=<你需要的python版本>
# 例如 conda create -n Gls python=3.12
conda activate <你的环境名> #进入你的环境
# 例如 conda activate GLs
安装训练需要的框架和一些包
切换 GPU 模式后验证显卡(如果要切换使用环境,退出开发界面,来到项目详情页,在这里点击退出后切换),每天都会送8个点,用2点每小时的GPU版本可以使用4个消失,大部分情况下都够用了

nvcc -V #v是大写,小写要报错
# 会输出环境中的CUDA和CUDNN版本,根据环境中CUDA版本去选择paddlepaddle版本去安装到环境中

根据输出结果安装对应版本的 PaddlePaddle,然后我这里输出是12.6版本,进入paddlepaddle官网飞桨PaddlePaddle-源于产业实践的开源深度学习平台,然后选择自己对应配置的框架,复制安装命令后,进入自己对应的环境后进行安装
再安装通过PaddleDetection训练时需要用到的opencv和sklearn
pip install opencv-python
pip install scikit-learn
下载PaddleDetection源码
从git仓库调PaddleDetection-2.8.1,如果你需要其他版本,修改命令就好
git clone -b release/2.8.1 https://gitee.com/paddlepaddle/PaddleDetection.git /home/aistudio/PaddleDetection
验证你的版本,进入PaddleDetection目录,后输入查询版本命令,查看输出是不是你需要的版本,如果不是就删除当前PaddleDetection,然后重新调取
cd /home/aistudio/PaddleDetection
# 进入指定目录
git branch
#查看版本
处理数据目录权限问题
若 /data 目录为只读,可将数据复制到可写目录(如 /work),再分割为 train.txt 和 val.txt。(我看官网上面说主目录下的data目录是可更改的,我也不知道为什么我这个是只读模式,然后就复制里面的全部数据,转出来,然后再分train.txt和val.txt)


训练模型
修改配置文件后启动训练
export CUDA_VISIBLE_DEVICES=0 # 因为他是Linux环境,需要指定GPU
python PaddleDetection/tools/train.py -c configs/yolov3/yolov3_mobilenet_v1_roadsign.yml
如果不会使用PaddleDetection训练的一些命令,可以去看PaddleDetection上README_cn.md里的一些简单教程(如果看不懂可以留言,我可以再写一篇PaddleDetection训练教程)
监控显存占用
当你出现显存爆炸的时候,先nvidia-smi看看哪个进程太大了,就杀死进程,再通过实时查看nvidia显存,确定是哪里有问题
watch -n 1 nvidia-smi
# 实时查看显存
若显存不足,需在配置文件中调低 batch_size。
持久化安装
这里有个东西叫持久化,因为你每次退出环境,只有work目录的东西会保留,所以需要持久化让其他的也保留,这个是官方已经写好了的,直接按照顺序运行就好

清理磁盘空间
因为持久化后,所有的东西都会保留,所以需要及时清理不必要的文件,避免加载过慢,或者内存爆炸,导致无法保存模型然后导致训练中断。
清理 Conda 缓存,清除conda环境 Conda 安装过程中产生的所有无用缓存文件
conda clean --all -y
删除指定目录内容(比如已经不需要的输出的权重)
rm -rf /home/test/*
保留目录本身仅删除内容。若需保留子目录仅删文件:
rm -f /目标文件夹路径/*
注意事项
- 持久化需求:非
/work目录的数据需手动保存,避免环境重置后丢失。 - 显存优化:训练时出现显存爆炸优先调整
batch_size,而非依赖清理操作。
顺嘴一提,kimmi现在那个agent真的还行,设计的封面还挺好看你别说
更多推荐


所有评论(0)