:::info 我们的口号是:没有困难的工作,只有勇敢的狗狗 ! ::: ## 环境准备 ### PaddleDetection 环境安装 ```bash # export LD_LIBRARY_PATH=/usr/lib64/ git clone -b develop https://github.com/PaddlePaddle/PaddleDetection --depth=1 python -m pip install paddlepaddle-gpu==2.5.0 -i https://pypi.tuna.tsinghua.edu.cn/simple cd PaddleDetection pip install -r requirements.txt --user -i https://pypi.tuna.tsinghua.edu.cn/simple python setup.py install --user python ppdet/modeling/tests/test_architectures.py ``` ### 测试环境准备 ```bash # 提前下载一个小型的coco数据集用于测试 wget -nc -P ./dataset/coco/ https://bj.bcebos.com/v1/paddledet/data/cocomini.zip --no-check-certificate cd ./dataset/coco/ && unzip cocomini.zip mv -u cocomini/* ./ # 回到PaddleDetection目录 cd ../../ wget https://paddle-qa.bj.bcebos.com/benchmark/tools.tar.gz && tar xvf tools.tar.gz && export BENCHMARK_ROOT=$PWD/tools/ # test_tipc 在 PaddleDetection目录下 bash test_tipc/prepare.sh test_tipc/configs/mask_rcnn/mask_rcnn_r50_1x_coco_train_infer_python.txt benchmark_train; bash test_tipc/benchmark_train.sh test_tipc/configs/mask_rcnn/mask_rcnn_r50_1x_coco_train_infer_python.txt benchmark_train dynamic_bs2_fp32_DP_N1C1; ``` :::info dynamic_bs2_fp32_DP_N1C1,表示的是bs=2,fp32训练,N1C1单机单卡。如果要换bs,就相应改为dynamic_bs4_fp32_DP_N1C1;换amp训练就改为dynamic_bs2_fp16_DP_N1C1 ::: ## 婷姐语录 1、修改的原则是没改变模型结构,不影响训练精度指 2、对于dataloader的参数配置,可以调,但是调之前应该问一个问题,有没有必要调,模型现在读数据的过程是它的训练瓶颈吗?如果是,应该调什么参数会加快数据的读取 3、分析方法:分析一下它训练时间的构成,有几大部分,占比如何?去分析每一个过程是不是有瓶颈,借助Profile和nsight 工具分析,找到优化动机,解决对性能影响最大的那些问题,才有可能提升速度。 4、nsys和ncu的区别:分析模型用nsys ,ncu用来分析kernel