【机器学习PAI实践十】深度学习Caffe框架实现图像分类的模型训练

背景

我们在之前的文章中介绍过如何通过PAI内置的TensorFlow框架实验基于Cifar10的图像分类,文章链接:https://yq.aliyun.com/articles/72841。使用Tensorflow做深度学习做深度学习的网络搭建和训练需要通过PYTHON代码才能使用,对于不太会写代码的同学还是有一定的使用门槛的。本文将介绍另一个深度学习框架Caffe,通过Caffe只需要填写一些配置文件就可以实现图像分类的模型训练。
关于PAI的深度学习功能开通,请务必提前阅读https://help.aliyun.com/document_detail/49571.html
文末提供了相关下载链接。

数据介绍

本文使用的数据是开源数据集cifar10,这份数据是一份对包含6万张像素为32*32的彩色图片,这6万张图片被分成10个类别,分别是飞机、汽车、鸟、毛、鹿、狗、青蛙、马、船、卡车。数据集截图:
https://zos.alipayobjects.com/rmsportal/DcsApBuhSJyvCbuXdEra.png

目前这份数据已经内置在PAI提供的公共数据集中,以jpg格式存储。任何PAI的用户都可以在深度学习组件的数据源OSS路径中直接输入,
* 测试数据: oss://dl-images.oss-cn-shanghai-internal.aliyuncs.com/cifar10/caffe/images/cifar10_test_image_list.txt
* 训练数据:oss://dl-images.oss-cn-shanghai-internal.aliyuncs.com/cifar10/caffe/images/cifar10_train_image_list.txt

如图:

格式转换

目前PAI上的Caffe框架只支持特定的格式,所以需要首先将jpg格式的图片进行格式转换。
https://zos.alipayobjects.com/rmsportal/xQCXkhsruDWjUKgrzCVW.png

经过格式转换,可以在自己的OSS路径下生成如下文件,训练数据和测试数据各一份。

需要记录对应的OSS路径用于net文件的填写,假设路径名分别是:

  • 训练数据data_file_list.txt:bucket/cifar/train/data_file_list.txt

  • 训练数据data_mean.binaryproto:bucket/cifar/train/data_mean.binaryproto

  • 测试数据data_file_list.txt:bucket/cifar/test/data_file_list.txt

  • 测试数据data_mean.binaryproto:bucket/cifar/test/data_mean.binaryproto

Caffe配置文件

Net文件编写,对应上文格式转换生成的路径:

Solver文件编写:

运行

将编辑好的Solver文件和Net文件全部传到OSS上,拖动caffe训练组件如图,在Sovler文件路径上选择OSS上提交的Solver文件,运行即可。

生成的图片分类model文件可以在OSS对应路径下查看,可以用以下模型进行图片分类

日志查看可以参照本文开头提供的“Tensorflow实现图像分类”。

其它

代码下载:http://docs-aliyun.cn-hangzhou.oss.aliyun-inc.com/assets/attach/52239/cn_zh/1496736657170/Caffe_cifar10.zip?spm=5176.doc52239.2.2.tMrTgQ&file=Caffe_cifar10.zip

免费体验:阿里云数加机器学习平台

作者微信公众号(与作者讨论):

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
使用TensorFlow或Caffe框架提供的API进行深度学习训练,可以按照以下步骤进行: 1. 安装框架:首先,你需要安装所选框架的相应版本。你可以在官方网站上找到安装说明和文档。遵循指导完成安装过程,并确保框架能够正常运行。 2. 数据准备:准备好用于训练的数据集,包括图像和对应的标签。确保数据集的质量和多样性。将数据集划分为训练集、验证集和测试集。 3. 构建模型:根据你的任务需求和数据集特点,选择合适的深度学习模型架构,并使用框架提供的API进行模型构建。你可以通过定义网络层、激活函数、损失函数等来构建模型。 4. 设置训练参数:设置训练过程中的参数,如学习率、优化算法、批量大小、迭代次数等。这些参数会对模型训练过程和结果产生影响。 5. 加载数据:使用框架提供的API加载训练集和验证集数据。你可以使用数据生成器或读取器从磁盘中读取数据,并进行必要的预处理操作,如图像尺寸调整、归一化等。 6. 训练模型:使用框架提供的API进行模型训练。通过在训练集上迭代训练模型,不断更新模型的权重和参数。在每个训练迭代周期后,使用验证集评估模型性能,以便调整训练策略。 7. 模型保存:在训练过程中,可以定期保存模型的权重和参数。这样,在训练完成后可以使用保存的模型进行推理和应用。 需要注意的是,具体的训练流程和API使用方法可能因框架而异。你可以参考框架的官方文档和示例代码,了解更多细节和最佳实践

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值