前言:
当前姐妹们对“centos7安装paddle”大约比较关怀,看官们都想要了解一些“centos7安装paddle”的相关知识。那么小编同时在网上收集了一些有关“centos7安装paddle””的相关文章,希望各位老铁们能喜欢,小伙伴们快快来了解一下吧!PaddlePaddle在不断增加官方支持的模型的同时,也在关注预训练模型的丰富度。
在过去的版本中,我们已经发布了目标检测Faster-RCNN、MobileNet-SSD、PyramidBox和场景文字识别CRNN-CTC、OCR Attention共计5个预训练模型。
近期,在图像分类领域我们一口气发布了四个系列共十个预训练模型,丰富扩充了预训练模型库,助力用户提高构建模型的效率,大大减轻“炼丹”的烦恼。
主要包括:
MobileNet v1
针对亟需在移动端应用深度学习技术的需求,MobileNet v1在存储空间和能耗低的地方表现优秀,在损失精度很小的情况下,计算量,存储空间,准确率方面都有明显提升。
ResNet 系列模型
ResNet创新性的提出了残差结构,一举在ILSVRC2015比赛中取得冠军,top5错误率为3.57%。斯坦福大学的Joyce Xu将ResNet称为「真正重新定义了我们看待神经网络的方式」的三大架构之一。
在最新发布的PaddlePaddle 预训练模型包括有ResNet50,ResNet101和ResNet152。
SE_ResNet 系列模型
SE 全称 Sequeeze-and-Excitation,在ILSVRC 2017 的分类项目中取得 了第一名的成绩。在 ImageNet 数据集上将 top-5 错误率从原先的最好成绩 2.991% 降低到 2.251%。
在最新发布的PaddlePaddle 预训练模型包括有SE_ResNeXt50_32x4d和SE_ResNeXt101_32x4d。
VGG 系列模型
VGGNet是牛津大学计算机视觉组和DeepMind公司共同研发一种深度卷积网络,2014年在ILSVRC比赛上获得了分类项目的第二名和定位项目的第一名。
在最新发布的PaddlePaddle预训练模型包括有VGG11,VGG13,VGG16,VGG19。
PaddlePaddle复现结果
以上预训练模型均经过官方测试验证,在精度上皆达到了应用要求。
您可以在他们的基础上进行开发,省却自己训练参数的过程,具体加载方式参考使用说明书。
Model top-1/top-5 accuracy
VGG11 69.22%/89.09%
VGG13 70.14%/89.48%
VGG16 72.08%/90.63%
VGG19 72.56%/90.83%
MobileNetV1 70.91%/89.54%
ResNet50 76.35%/92.80%
ResNet101 77.49%/93.57%
ResNet152 78.12%/93.93%
SE_ResNeXt50_32x4d 78.50%/94.01%
SE_ResNeXt101_32x4d 79.26%/94.22%
【PaddlePaddle预训练模型使用说明书】
1. 安装PaddlePaddle和模型库
在PaddlePaddle的模型库中已经包含了最新的相关训练代码,经过简单的配置与加载,即可快速部署研发,首先请安装最新版的PaddlePaddle并且下载PaddlePaddle模型库:
pip install -U paddlepaddle
#推荐使用pip方式安装,目前支持Windows、MacOS、CentOS、Ubuntu多种操作系统
#如果您希望使用其他安装方式,可以按照官网文档的引导操作:
#
2.git clone
当模型成功克隆后,您可以在fluid/PaddleCV/image_classification下看到用于训练的train.py代码。
2. 加载预训练模型
使用我们之前在ImageNet数据集上训练的预训练模型,可以直接使用相应的结构和权重,将它们应用到您正在面对的问题上。
预训练模型从哪里下载呢?首先进入官方模型介绍链接
下拉到readme页面的最下方:
可以看到一个Released models的表格。在表格的model一列是模型的名称,这个名称是一个超链接,链接对应的是这个模型的预训练权重下载地址,点击模型名称即可下载相应的预训练模型。
在train.py文件中,
1.if pretrained_model:
2. def if_exist(var):
3. return os.path.exists(os.path.join(pretrained_model, var.name))
4.# 加载预训练模型参数
fluid.io.load_vars(exe, pretrained_model, main_program=train_prog, predicate=if_exist)
通过fluid.io.load_vars加载相关预训练参数。
运行train.py, 通过指定 pretrained_model= "下载好的预训练模型路径",加载相应预训练模型进行训练。
例如,加载MobileNet v1预训练模型进行微调:
python train.py --model=MobileNetV1 \ --pretrained_model=${path_to_pretrain_model} \ --batch_size=32 \ --total_images=1281167 \ --class_dim=1000 \ --image_shape=3,224,224 \ --model_save_dir=output/ \ --with_mem_opt=True \ --lr_strategy=piecewise_decay \ --model_category=models_name \ --lr=0.1
您可以更改调整预训练模型参数,来适应具体工作方向,例如检测,图像分类等。
结语
对于想学习算法或者尝试现有框架的人来说,使用预训练模型能够提供很好的帮助。因为时间与计算量方面的诸多限制,不方便随时从头开始训练一个模型,这也正是预训练模型存在的原因。您可以运用预训练作为基准来改进现有模型,或者根据它测试自己的模型。
年后我们还会继续发布几组新的图像分类预训练模型(包括GoogleNet,MobileNetV2,ShuffleNet系列等),敬请期待,也欢迎大家留言告诉我们您最期待的预训练模型。
标签: #centos7安装paddle