详情页标题前

阿里云人工智能平台PAICaffe使用指南-云淘科技

详情页1

Caffe是一个开源的深度学习框架。本文为您介绍如何在机器学习中使用Caffe进行数据训练。

格式转换

目前Caffe组件不支持自定义格式的训练数据,需要通过格式转换组件进行转换方可使用。

格式转换组件的输入桩连接OSS数据组件。

  • 读OSS数据组件

    设置OSS数据路径。OSS的训练数据file_list(例如bucket.hz.aliyun.com/train_img/train_file_list.txt )格式如下:

    bucket/ilsvrc12_val/ILSVRC2012_val_00029021.JPEG 817
    bucket/ilsvrc12_val/ILSVRC2012_val_00021046.JPEG 913
    bucket/ilsvrc12_val/ILSVRC2012_val_00041166.JPEG 486
    bucket/ilsvrc12_val/ILSVRC2012_val_00029527.JPEG 327
    bucket/ilsvrc12_val/ILSVRC2012_val_00042825.JPEG 138
  • 格式转换组件组件

    设置输出OSS目录等参数。例如bucket_name.oss-cn-hangzhou-zmf.aliyuncs.com/ilsvrc12_val_convert ,组件会输出转换后的data_file_list.txt和对应的数据文件。data_file_list格式如下:

    bucket/ilsvrc12_val_convert/train_data_00_01
    bucket/ilsvrc12_val_convert/train_data_00_02
    • 可视化组件设置

      • 图片列表文件OSS路径:图片列表文件存放在OSS中的路径。

      • 文件前缀:默认为data。

      • resize_height:默认为256。

      • resize_width:默认为256。

      • 编码类型:选项,可选JPG,PNG,RAW。

      • 输出OSS目录:文件输出到OSS的目录。

      • shuffle:勾选。

      • gray:是否灰度,默认不勾选。

      • image mean:是否需要产生图片mean文件,默认不勾选。

    • PAI命令

      PAI -name convert_image_oss2oss
          -project algo_public_dev
          -Darn=acs:ram::160712891654****:role/test-1
          -DossImageList=bucket_name.oss-cn-hangzhou-zmf.aliyuncs.com/image_list.txt
          -DossOutputDir=bucket_name.oss-cn-hangzhou-zmf.aliyuncs.com/your/dir
          -DencodeType=jpg
          -Dshuffle=true
          -DdataFilePrefix=train
          -DresizeHeight=256
          -DresizeWidth=256
          -DisGray=false
          -DimageMeanFile=false

      参数名称

      参数描述

      取值范围

      是否必选,默认值/行为

      ossHost

      对应的OSS Host地址

      例如oss-test.aliyun-inc.com

      可选,默认值为oss-cn-hangzhou-zmf.aliyuncs.com,即对内OSS使用的Host。

      arn

      OSS Bucket默认Role对应的ARN

      例如acs:ram::XXXXXXXXXXXXXXXX:role/ossaccessroleforodps,中间xxx代表生成的rolearn的16位数字

      必选

      ossImageList

      图片文件列表

      例如bucket_name/image_list.txt

      必选

      ossOutputDir

      输出OSS目录

      例如bucket_name/your/dir

      必选

      encodeType

      编码类型

      如JPG,PNG,RAW

      可选,默认值为JPG

      shuffle

      是否shuffle数据

      Bool值

      可选,默认值为true

      dataFilePrefix

      数据文件前缀

      String类型,如train或val

      必选

      resizeHeight

      图像resize的height

      int类型,用户自定义

      可选,默认值为256

      resizeWidth

      图像resize的width

      int类型,用户自定义

      可选,默认值为256

      isGray

      图像是否为灰度图

      Bool值

      可选,默认值为false

      imageMeanFile

      是否需要生成imagemean文件

      Bool值

      可选,默认值为false

Caffe组件

Caffe是一个清晰、可读性高、快速的深度学习框架,详情请参见Caffe官网。您可以通过以下任意一种方式,配置Caffe组件参数:

  • 可视化方式

    页签

    参数

    描述

    参数设置

    Solver OSS路径

    数据在OSS上的存放路径。

    限制作业运行时长

    勾选后,可以输入作业计划运行的最大时长。取值1~168。单位小时。

    执行调优

    GPU卡数

    GPU卡的个数。默认值为1。

  • PAI命令方式

    PAI -name pluto_train_oss
        -project algo_public_dev
        -DossHost=oss-cn-hangzhou-zmf.aliyuncs.com
        -Darn=acs:ram::160712891654****:role/test-1
        -DsolverPrototxtFile=bucket_name.oss-cn-hangzhou-zmf.aliyuncs.com/solver.prototxt
        -DgpuRequired=1

    参数名称

    是否必选

    描述

    默认值

    ossHost

    对应的OSS Host地址。

    oss-cn-hangzhou-zmf.aliyuncs.com

    arn

    OSS Bucket默认Role对应的ARN。例如acs:ram::XXXXXXXXXXXXXXXX:role/ossaccessroleforodps其中xxx代表生成的rolearn的16位数字。

    solverPrototxtFile

    solver文件在OSS中的路径,以Bucket名称开头。

    gpuRequired

    GPU卡的个数。

    1

solver由于并行化的修改,同开源Caffe略有不同,需要注意以下几点:

  • net:net的文件位置是OSS路径。

  • type:type类型是ParallelSGD,为一个字符串。

  • model_average_iter_interval:1多卡下表示同步的频率,1表示每轮都同步一次。

  • snapshot_prefix:模型输出到OSS的目录。

net: "bucket/alexnet/train_val.prototxt"
test_iter: 1000
test_interval: 1000
base_lr: 0.01
lr_policy: "step"
gamma: 0.1
stepsize: 100000
display: 20
max_iter: 450000
momentum: 0.9
weight_decay: 0.0005
snapshot: 10000
snapshot_prefix: "bucket/snapshot/alexnet_train"
solver_mode: GPU
type: "ParallelSGD"
model_average_iter_interval: 1

train_val中的datalayer需使用BinaryDataLayer,请参考如下示例。

layer {
name: "data"
type: "BinaryData"
top: "data"
top: "label"
include {
  phase: TRAIN
}
transform_param {
  mirror: true
  crop_size: 227
  mean_file: "bucket/imagenet_mean.binaryproto"
}
binary_data_param {
  source: "bucket/ilsvrc12_train_binary/data_file_list.txt"
  batch_size: 256
  num_threads: 10
}
}
layer {
name: "data"
type: "BinaryData"
top: "data"
top: "label"
include {
  phase: TEST
}
transform_param {
  mirror: false
  crop_size: 227
  mean_file: "bucket/imagenet_mean.binaryproto"
}
binary_data_param {
  source: "bucket/ilsvrc12_val_binary/data_file_list.txt"
  batch_size: 50
  num_threads: 10
}
}

新的data Layer的名称为BinaryData,其中也支持transform param对输入图像数据进行变换,参数和caffe原生参数保持一致。

其中binary_data_param为数据层本身的参数配置,包括以下特殊的参数:

  • source:数据来源,其中路径为OSS中filelist的路径,从bucket名称开始,不包含oss://

  • num_threads:读取OSS数据时并发的线程数目,默认值为10。用户可以根据自己的需求进行调整。

示例

利用Caffe实现mnist的数据训练。

  1. 准备数据源

    在Caffe相关下载章节中下载Caffe数据并解压。将数据导入OSS中,本案例路径如下图,请配合代码中的路径理解。阿里云人工智能平台PAICaffe使用指南-云淘科技

  2. 运行实验

    拖拽Caffe组件拼接成如下图所示的示例。阿里云人工智能平台PAICaffe使用指南-云淘科技

    solver oss路径指向mnist_solver_dnn_binary.prototxt文件,单击运行

  3. 查看日志

    右键单击Caffe组件选择查看日志,如下图所示。阿里云人工智能平台PAICaffe使用指南-云淘科技

    单击logview链接 > ODPS Tasks > VlinuxTask > StdErr,查看训练过程产生的日志,如下图所示。阿里云人工智能平台PAICaffe使用指南-云淘科技

内容没看懂? 不太想学习?想快速解决? 有偿解决: 联系专家

阿里云企业补贴进行中: 马上申请

腾讯云限时活动1折起,即将结束: 马上收藏

同尘科技为腾讯云授权服务中心。

购买腾讯云产品享受折上折,更有现金返利:同意关联,立享优惠

转转请注明出处:https://www.yunxiaoer.com/162884.html

(0)
上一篇 2023年12月10日 上午4:43
下一篇 2023年12月10日 上午4:45
详情页2

相关推荐

  • 阿里云日志服务SLSCSV格式-云淘科技

    日志服务将日志投递到OSS后,支持存储为不同的文件格式。本文介绍CSV格式。 参数配置 在创建OSS投递任务(新版)时,选择存储格式为csv,对应的参数配置如下所示。 参数说明如下所示。更多信息,请参见CSV标准和postgresql CSV说明。 参数 说明 CSV字段 在原始日志页签中查看日志字段,将需要投递到OSS的字段名有序填入。 日志服务还提供保留…

    阿里云日志服务SLS 2023年12月10日
  • 阿里云日志服务SLS分区(Shard)-云淘科技

    日志服务使用Shard控制Logstore或MetricStore的读写数据的能力,数据必定保存在某一个Shard中。 Shard范围 每个Shard均有范围,为MD5左闭右开区间[BeginKey,EndKey)。每个Shard范围不会相互覆盖,且属于整个MD5范围内[00000000000000000000000000000000,fffffffffff…

    阿里云日志服务SLS 2023年12月10日
  • 阿里云负载均衡CreateLoadBalancerTCPListener – 创建TCP监听-云淘科技

    创建TCP监听。 接口说明 说明 新建的监听的状态为stopped。创建完成后,调用StartLoadBalancerListener接口启动监听来转发流量。调试您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。 调试调试授权信息下表是API对应的授权信息,…

    阿里云负载均衡 2023年12月10日
  • 信息流广告,信息流部分建议宽度830px,只针对默认列表样式,顺序随机
  • 阿里云对象存储OSS私有文件可以设置URL为永不过期吗?-云淘科技

    私有文件的签名URL包含过期时间,不支持永不过期。当前时间戳与签名URL的过期时间之和不能超过9223372036854775807,否则会溢出报错。例如,当前时间戳为1643341269,则签名URL过期时间最大不能超过9223372035211434538。 如果您不希望文件有过期时间,需要将Object读写权限设置为公共读,但该方式不安全,不推荐使用。…

    阿里云对象存储 2023年12月10日
  • 阿里云云原生大数据计算服务 MaxComputeGithub公开事件数据-云淘科技

    本文为您介绍MaxCompute公开数据集中Github公开事件数据的基本信息、如何通过MaxCompute执行Github公开事件数据查询以及Query样例和分析结果。 简介 大量开发人员在GitHub上进行开源项目的开发工作,并在项目的开发过程中产生海量事件。GitHub会记录每次事件的类型及详情、开发者、代码仓库等信息,并开放其中的公开事件,包括加星标…

    2023年12月10日

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信
本站为广大会员提供阿里云、腾讯云、华为云、百度云等一线大厂的购买,续费优惠,保证底价,买贵退差。