TIPC功能测试的主程序为benchmark_train.sh,可以测试基于Python的模型训练性能测试功能,包括裁剪、量化、蒸馏。
- docker image: registry.baidubce.com/paddlepaddle/paddle:latest-dev-cuda11.2-cudnn8-gcc82
- paddle = 0.0.0
- paddlescience = 0.0.0
- python = 3.10
算法名称 | 模型名称 | 单机单卡 | 单机多卡 | 多机多卡 | 模型压缩(单机多卡) |
---|---|---|---|---|---|
PINNs | train_2d_unsteady_continuous.py | 正常训练 FP32 |
- - |
- - |
- - |
安装PaddlePaddle == 0.0.0
Process of running TIPC test (运行benchmark测试步骤)
git clone https://github.com/PaddlePaddle/PaddleScience.git
cd PaddleScience
对于benchmark使用的数据有以下要求:
- 训练数据不应过大,过大的数据会导致下载很慢,延长了benchmark的训练时间;
- 训练数据样本数不能过少,至少要保证训练过程稳定,能获取到稳定的ips;
修改此目录下对应案例的txt参数文件,来生成不同log,注意对于训练epoch要修改训练py文件,
./PaddleScience/test_tipc/configs
单卡:自动运行打开Profiling
export CUDA_VISIBLE_DEVICES=0
*在解析工具下载好之后,运行脚本
mkdir jx
cd jx/
wget https://paddle-qa.bj.bcebos.com/benchmark/tools.tar.gz
tar -zxvf tools.tar.gz
export BENCHMARK_ROOT=$PWD/tools
cd ..
在PaddleScience主目录下运行
export script_path=./test_tipc/configs/train_2d_unsteady_continuous/2d_unsteady_continuous_train_infer_python.txt
bash ./test_tipc/prepare.sh $script_path benchmark_train
bash ./test_tipc/benchmark_train.sh $script_path benchmark_train
benchmark训练得到训练日志后,会自动保存训练日志并解析得到ips等信息,日志解析代码位于:
Run successfully with command
如果运行成功会生成index文件夹,该目录下面生成json文件[PaddleScience_cylinder2d_unsteady_train_newapi_bs1_fp32_DP_N1C1_speed],其中可以找到对应的ips数值
{"model_branch": "tipc_fix", "model_commit": "51558e06db7b58d5683a0fccc67d77f4340719d4", "model_name": "cylinder2d_unsteady_train_newapi_bs1_fp32_DP", "batch_size": 1, "fp_item": "fp32", "run_mode": "DP", "convergence_value": "207.94940185546875", "convergence_key": "loss:", "ips": 775299.78, "speed_unit": "samples/s", "device_num": "N1C1", "model_run_time": "15", "frame_commit": "5c19bfc8015b79f861aae9be6c98371de7ccef19", "frame_version": "0.0.0"}