MXNet是一个深度学习框架,支持命令和符号编程,可以运行在CPU和GPU集群上。本文为您介绍如何在机器学习中使用MXNet组件。

配置组件

您可以通过以下任意一种方式,配置MXNet组件参数:
  • 可视化方式
    页签 参数 描述
    参数设置 Python代码文件 程序执行文件,多个文件可通过tar.gz打包上传。
    Python主文件 指定代码文件压缩包中的主文件。
    数据源目录 选择OSS上的数据源。
    配置文件超参及用户自定义参数 PAI MXNet支持用户通过命令传入相应的超参配置,这样用户在做模型试验的时候可以尝试不同的learning rate, batch size等。
    输出目录 输出的模型路径。
    限制作业运行时长 勾选后,可以输入作业计划运行的最大时长。取值1~168。单位小时。
    执行调优 指定GPU卡数 GPU卡的个数。默认值为1。
  • PAI命令
    PAI -name mxnet_ext
        -Dscript="oss://imagenet.oss-cn-shanghai-internal.aliyuncs.com/mxnet-ext-code/mxnet_cifar10_demo.tar.gz"
        -project algo_public_dev
        -DentryFile="train_cifar10.py"
        -Dbuckets="oss://imagenet.oss-cn-shanghai-internal.aliyuncs.com"
        -DcheckpointDir="oss://imagenet.oss-cn-shanghai-internal.aliyuncs.com/mxnet-ext-model/"
        -DhyperParameters="oss://imagenet.oss-cn-shanghai-internal.aliyuncs.com/mxnet-ext-code/hyperparam.txt.single"
        -Darn="acs:ram::1664081855183111:role/role-for-pai";
    实际使用中,并不需要指定所有参数(不要直接复制上面的命令),各个参数的含义可以参考下面的表格。
    参数名称 是否必选 描述 默认值
    script TF算法文件,可以是单个文件或者tar.gz压缩包。 oss://imagenet.oss-cn-shanghai-internal.aliyuncs.com/smoke_mxnet/mnist_ext.py
    entryFile 算法入口文件名,当script为tar.gz压缩包时,该参数必选。
    buckets 输入bucket,输入多个时以逗号(,)分隔,每个bucket须以正斜杠(/)结尾。
    hyperParameters 命令行超参数路径。
    gpuRequired 标识使用GPU资源量。 100
    checkpointDir checkpoint的目录。

示例

CIFAR-10是MXNet官方提供的基于图片的10分类场景的案例,通过对于6万张32*32的图片进行训练生成模型,可以对飞机、汽车、鸟、猫、鹿、狗、青蛙、马、船、卡车进行自动分类。详细内容请参见https://www.cs.toronto.edu/~kriz/cifar.html
  1. 在OSS中上传Python执行文件以及训练数据集。本示例在华东2地域创建名为tfmnist的bucket。数据源准备
  2. 拖拽读OSS数据和MXNet组件,拼接成如下示例。需要设置好OSS Bucket的地区,并完成RAM授权。拼接示例
  3. 配置MXNet组件参数。参考下图配置python执行文件以及数据源文件路径。配置MXNet组件参数
    • Python代码文件选择.tar.gz文件。
    • Python主文件选择tar包中的执行入口文件。
    • 超参自定义参数文件选择.txt.single文件。
    • checkpoint为模型输出目录。
  4. 单击运行,直到两个组件运行完成。
  5. 右键单击MXNet组件,查看运行日志。运行日志
  6. 在checkpoint地址下生成如下图所示的模型。结果模型