华为云AI开发平台ModelArts使用现有数据集训练预训练模型_云淘科技
本章节将介绍如何基于已有数据集训练一个预训练模型。
算法套件当前发布了五种mini数据集,包括coco2017_sample,imagenet2012_sample,cityscapes_custom_sample,coco_stuff和icdar_det。
Step0 准备环境
使用前需要先准备开发环境。
参考准备开发环境章节创建并打开Notebook实例。
参考创建算法工程章节创建算法工程。
Step1 安装算法套件
安装ivgPose算法套件。
python manage.py install algorithm ivgPose
Step2 安装数据集
安装coco数据集。
python manage.py install dataset coco2017_sample
Step3 安装预训练模型
默认下载到当前工程的./model_zoo/{算法类型}/{算法版本}目录下。
python manage.py install model ivgPose:body/simplepose_resnet50_coco_256x192 python manage.py install model ivgPose:backbone/resnet50_imagenet_224x224
Step4 修改配置文件
配置文件主要包括算法配置文件和算法参数文件,例如:
算法配置文件:./algorithms/ivgPose/config/sample/config.py
算法参数文件:./algorithms/ivgPose/config/sample/simplepose_resnet50_coco_256x192.py
根据需要修改训练相关参数,如数据集路径data_root、runner中的train_args参数以及train参数等。如下述代码所示。
config.py文件
train_args=dict( cfg=alg_cfg['cfg'], output_dir=run_dir, data_root=alg_cfg['data_root'], load_from=None, gpus=None, lr=None, max_epoch=5, samples_per_gpu=None, resume_from=None, pretrained=alg_cfg['pretrained'], train_data_root=None, val_data_root=None, ),
simplepose_resnet50_coco_256x192.py文件
train = dict( save_period=-1, val_period=5, best_saver=dict(key_indicator='AP', rule='max'), ema=dict(type='ExpEMA') )
Step5 本地训练
在Terminal中执行下述训练命令,其中:–cfg为该预训练模型对应算法资产的配置文件路径。
python manage.py run --cfg algorithms/ivgPose/config/sample/config.py --gpus 0
运行完毕后,在交互式输出界面或config.py配置的{run_dir}目录下的train_{timestamp}.log可以看到训练过程的日志和结果。如下述信息所示。
Train: 000/003 | loss:0.002145 | acc_pose:0.029999 | lr:{'0.000001', '0.000005'}: 100%|██████████████████████████| 397/397 [00:36<00:00, 10.73it/s] [07/19 15:36:30][INFO] ivgpose-utils.py 52: Train: 000/003 | loss:0.002145 | acc_pose:0.029999 | lr:{'0.000001', '0.000005'} | elapsed:00:36 Val: 000/003 | loss:0.002451 | acc_pose:0.060385 | : 100%|███████████████████████████████████████████████████████| 397/397 [00:16<00:00, 24.09it/s] [07/19 15:36:53][INFO] ivgpose-utils.py 101: Val: 000/003 | loss:0.002451 | acc_pose:0.060385 | elapsed:00:16 [07/19 15:36:55][INFO] ivgpose-utils.py 167: ******************** Best: acc_pose:0.060385 | epoch:000 Train: 001/003 | loss:0.002144 | acc_pose:0.043690 | lr:{'0.000170', '0.000017'}: 100%|██████████████████████████| 397/397 [00:35<00:00, 11.10it/s] [07/19 15:37:31][INFO] ivgpose-utils.py 52: Train: 001/003 | loss:0.002144 | acc_pose:0.043690 | lr:{'0.000170', '0.000017'} | elapsed:00:35 Train: 002/003 | loss:0.002148 | acc_pose:0.053395 | lr:{'0.000034', '0.000335'}: 100%|██████████████████████████| 397/397 [00:35<00:00, 11.13it/s] [07/19 15:38:13][INFO] ivgpose-utils.py 52: Train: 002/003 | loss:0.002148 | acc_pose:0.053395 | lr:{'0.000034', '0.000335'} | elapsed:00:35 Val: 002/003 | loss:0.002407 | acc_pose:0.088161 | : 100%|███████████████████████████████████████████████████████| 397/397 [00:16<00:00, 23.41it/s] [07/19 15:38:36][INFO] ivgpose-utils.py 101: Val: 002/003 | loss:0.002407 | acc_pose:0.088161 | elapsed:00:16 [07/19 15:38:39][INFO] ivgpose-utils.py 167: ******************** Best: acc_pose:0.088161 | epoch:002
父主题: 使用样例
同意关联代理商云淘科技,购买华为云产品更优惠(QQ 78315851)
内容没看懂? 不太想学习?想快速解决? 有偿解决: 联系专家