Fast-BEV模型训练

张开发
2026/4/7 22:55:32 15 分钟阅读

分享文章

Fast-BEV模型训练
训练过程使用docker 容器进行docker安装 https://docs.docker.com/desktop/注查看磁盘空间du -h --max-depth1 /var/log一. Docker准备使用 docker load 命令加载 fastbev-image.tar 文件。# docker prepare docker load -i fastbev-image.tar docker tag c614b6781c1a fastbev:fastbev docker run -it --gpus all --nethost --shm-size32g -v /mnt/data:/mnt/data fastbev:fastbev /bin/bash二. 数据 preparation nuscenes-mininuscenes mini数据集下载大小4G左右。全部nusenes数据集大概250G。本部分通过mini数据集进行。nuscenes mini下载链接百度网盘 提取码u7na。官方下载地址下载后放到一个根目录下解压后并将v1.0-mini修改为v1.0-trainval示例如下将 /mnt/data/nuscenes/v1.0-mini/ 文件夹软链接到 /root/code/Fast-BEV/data/nuscenes/。ln -s /mnt/data/nuscenes/v1.0-mini/ /root/code/Fast-BEV/data/nuscenes/ cd /root/code/Fast-BEV/修改代码如下tools/create_data.py Line 188-212parser.add_argument(dataset, metavarnuscenes, helpname of the dataset) parser.add_argument( --root-path, typestr, default./data/nuscenes, helpspecify the root path of dataset) parser.add_argument( --version, typestr, defaultv1.0-mini, requiredFalse, helpspecify the dataset version, no need for kitti) parser.add_argument( --max-sweeps, typeint, default10, requiredFalse, helpspecify sweeps of lidar per example) parser.add_argument( --out-dir, typestr, default./data/nuscenes, requiredFalse, helpname of info pkl) parser.add_argument(--extra-tag, typestr, defaultnuscenes)tools/data_converter/nuscenes_converter.py Line 45available_vers [v1.0-trainval, v1.0-test, v1.0-mini] elif version v1.0-mini: train_scenes splits.mini_train val_scenes splits.mini_valtools/data_converter/nuscenes_seq_converter.py Line 14-16for set in [test, val, train, ]: if set in [val, train]: //mini continue dataset pickle.load(open(./data/nuscenes/nuscenes_infos_%s.pkl % set, rb)) if set in [train, val]: nuscenes_version v1.0-trainval else: nuscenes_version v1.0-testmini数据集生成生成新的nuscenes_infos_test_4d*.pklpython tools/create_data.pymini数据集训练场景8个测试然后分别运行下列脚本python tools/create_data.py nuscenes修改代码nuscenes_seq_converter.py 21行后添加nuscenes_version v1.0-mini然后运行python tools/data_converter/nuscenes_seq_converter.py数据集根目录如下三. 数据 preparation nuscenes-full全部nusenes数据集大概250G。官方下载地址下载后放到一个根目录下解压后示例如下将 /mnt/data/nuscenes/v1.0-trainval/ 文件夹软链接到 /root/code/Fast-BEV/data/nuscenes/。ln -s /mnt/data/nuscenes/v1.0-mini/ /root/code/Fast-BEV/data/nuscenes/ cd /root/code/Fast-BEV/修改代码如下tools/create_data.py Line 188-21parser.add_argument(dataset, metavarnuscenes, helpname of the dataset) parser.add_argument( --root-path, typestr, default./data/nuscenes, helpspecify the root path of dataset) parser.add_argument( --version, typestr, defaultv1.0-trainval, requiredFalse, helpspecify the dataset version, no need for kitti) parser.add_argument( --max-sweeps, typeint, default10, requiredFalse, helpspecify sweeps of lidar per example) parser.add_argument( --out-dir, typestr, default./data/nuscenes, requiredFalse, helpname of info pkl) parser.add_argument(--extra-tag, typestr, defaultnuscenes)数据集生成nuscenes_infos_test_4d*.pkl注此处可以自己生成或下载(此处不介绍)python tools/create_data.py python tools/create_data.py nuscenes python tools/data_converter/nuscenes_seq_converter.py数据集根目录如下三. 代码 preparation切换到 /root/code/Fast-BEV/ 文件夹。使用 export MAX_JOBS8 命令设置最大并发任务数为 8。使用 python setup.py develop 命令安装 FastBEV 库。# code prepare cd /root/code/Fast-BEV/ export MAX_JOBS8 python setup.py develop四.训练使用 export PYTHONPATHpwd; 命令设置 Python 路径为当前目录。使用 python tools/train.py 命令训练 FastBEV 模型使用 configs/fastbev/exp/paper/fastbev_m0_r18_s256x704_v200x200x4_c192_d2_f4_sample.py 配置文件并将模型保存到 work_dirs/fastbev_m0_r18_s256x704_v200x200x4_c192_d2_f4/ 文件夹中。# train export PYTHONPATHpwd; python tools/train.py configs/fastbev/exp/paper/fastbev_m0_r18_s256x704_v200x200x4_c192_d2_f4.py --work-dir work_dirs/fastbev_m0_r18_s256x704_v200x200x4_c192_d2_f4/ --gpu-ids 0五.测试使用 export PYTHONPATHpwd; 命令设置 Python 路径为当前目录。使用 python tools/test.py 命令测试 FastBEV 模型使用 configs/fastbev/exp/paper/fastbev_m0_r18_s256x704_v200x200x4_c192_d2_f4_sample.py 配置文件加载模型文件work_dirs/fastbev_m0_r18_s256x704_v200x200x4_c192_d2_f4/epoch_20.pth并将结果保存到 work_dirs/fastbev_m0_r18_s256x704_v200x200x4_c192_d2_f4/results.pkl 文件。export PYTHONPATHpwd; python tools/test.py configs/fastbev/exp/paper/fastbev_m0_r18_s256x704_v200x200x4_c192_d2_f4_sample.py work_dirs/fastbev_m0_r18_s256x704_v200x200x4_c192_d2_f4/epoch_20.pth --out work_dirs/fastbev_m0_r18_s256x704_v200x200x4_c192_d2_f4/results.pkl六. 评估使用 export PYTHONPATHpwd; 命令设置 Python 路径为当前目录。使用 python tools/test.py 命令评估 FastBEV 模型使用 configs/fastbev/exp/paper/fastbev_m0_r18_s256x704_v200x200x4_c192_d2_f4_sample.py 配置文件。# eval export PYTHONPATHpwd; python tools/test.py configs/fastbev/exp/paper/fastbev_m0_r18_s256x704_v200x200x4_c192_d2_f4_sample.py work_dirs/fastbev_m0_r18_s256x704_v200x200x4_c192_d2_f4/epoch_20.pth --out work_dirs/fastbev_m0_r18_s256x704_v200x200x4_c192_d2_f4/results.pkl --eval bbox七. 可视化使用 export PYTHONPATHpwd; 命令设置 Python 路径为当前目录。使用 python tools/misc/visualize_results.py 命令可视化 FastBEV 模型的结果使用 configs/fastbev/exp/paper/fastbev_m0_r18_s256x704_v200x200x4_c192_d2_f4_sample.py 配置文件并将结果保存到 work_dirs/fastbev_m0_r18_s256x704_v200x200x4_c192_d2_f4/vis 文件夹中。# visualize export PYTHONPATHpwd; python tools/misc/visualize_results.py configs/fastbev/exp/paper/fastbev_m0_r18_s256x704_v200x200x4_c192_d2_f4_sample.py --result work_dirs/fastbev_m0_r18_s256x704_v200x200x4_c192_d2_f4/results.pkl --show-dir work_dirs/fastbev_m0_r18_s256x704_v200x200x4_c192_d2_f4/vis**注意*** 请根据实际情况调整超参数和训练配置文件。

更多文章