模型开发

最近更新时间:2020-03-31 18:22:48

模型开发

1、新建模型开发

用户既可以使用“一键示例模型开发”快速创建模型开发环境,也可以自定义模型开发环境。

模型开发

用户需指定开发环境名称、选择基础镜像、预装环境、KS3挂载等信息

模型开发

用户可以通过预装环境,对镜像环境进行自定义,KDL提供两种方式对环境进行自定义:

  • 1、通过初始化脚本,用户可以提供一个可执行的shell脚本,对环境进行定制
  • 2、Python依赖,用户可以提供一个pip requirements.txt文件,来安装自定义的pip包

模型开发

用户可以根据自身需求,给模型开发环境挂载 KS3 Buckets, 一方面实现对 KS3 Buckets 操作像操作本地目录一样简单,另一方面也实现数据的共享,和安全。我们建议用户将自己的输入/输出数据都放在 Ks3 上,而 KDL 本身只提供提供计算能力。

模型开发

用户可根据实际需求,选择不同的资源进行开发环境的创建。

用户根据自身需求,填写/选择模型开发信息和资源信息;创建成功后,用户可以在“人工智能>kdl>模型开发”中查看相关信息。

2、查看模型开发信息

创建完成后,用户可以在“人工智能>kdl> 模型开发”中点击相应的环境名称,查看“模型开发详情”。 模型开发

  • 基本信息

模型开发环境的基本信息。

  • 套餐信息

用户选择的套餐信息。

  • 代码打包上传工具

通过该上传工具,用户可以将开发/测试好的代码交由ks3托管。

3、登录模型开发环境

用户可以根据第一步中生成的模型开发环境的有关信息,通过 notebook 登录到开发环境。

模型开发

在“kdl>模型开发>模型开发列表操作”中点击 打开,即可访问jupyter,进入 jupyter 页面,用户可以在这里查看示例代码,也可以选择 new>Terminal 打开 shell 窗口。输入 “bash” 即可进入我们熟悉的 shell 环境。

4、模型开发相关工具

模型开发

用户在模型开发环境中调试的代码确认无误后,可以打包上传至 ks3 ,方便下一步模型训练。

  • 待打包的代码结构(示例)
notebooks
└── examples
    ├── mnist
        ├── setup.py(trainser 的打包脚本,通过打包工具会自动生成,并覆盖)
        ├── trainer(要打包的代码模块)
  • 代码打包工具

打包脚本地址:/autoPackage/run.sh

打包命令:

可在登录模型开发环境后任意位置输入 run

[帮助信息]
run
[Focus] No value was specified, ignoring other command line parameters... You can input <-h>
Usage: run.sh
     [-h help]
     [-t package tpye: <python|proto|cpp> (default python)]
     [-d your dest module-dir: <trainer>]
     [-n your dest package-file-name: <mnist>]
     [-v your dest module-version: <1.0>]
     [--home your project_root_dir_path: </notebooks/examples/mnist>]
     [--bucket your ks3 bucket: <mybucket>]
     [--dest your ks3 dest path: <mydemo/test>]
 Quick Start1:[ run -t python -d trainer -n mnist -v 1.0 --home /notebooks/examples/mnist --bucket mybucket --dest mydemo/test ]
 Quick Start2:[ run -t proto -d caffe.mnist -n caffe.mnist -v 1.0 --home /notebooks/examples/caffe --bucket mybucket --dest mydemo/test ]

 参数解释:
 -h : [帮助信息]
 -t : [打包代码的类型,tensorflow 支持 python, caffe 支持 proto]
 -d : [待打包代码的**目录名**,如果是 python 的类型,它也作为打包后模块的 package 名, 比如,在这个目录(假设此目录为 trainer)下用户自己创建了自定义 python 模块 a, 此时要引用这个模块: import trainer.a ]
 -n : [打包后的 tar.gz file 的文件名]
 -v : [设置打包的版本]
 --home: [设置该项目的所属的根目录,如示例代码的 mnist ,必须是绝对路径]
 --bucket:[对应 ks3 bucket]
 --dest: [对应 ks3 bucket 上具体的目录]
  • 查看打包后的代码

根据在打包命令中设置的输出地址,在金山云对象存储中可以找到刚刚打包后的代码。

KDL 虽然在模型开发界面提供了 ks3 的挂载,考虑到用户使用的方便,保留挂载脚本供用户使用

[email protected]:/# ./run_ks3_bucket_mount.sh
Usage: run_ks3_bucket_mount.sh [argument] [argument_value]...
Arguments:
    -h,--help       display help info and exit
    -o,--operation      <mount|umount>
    -b,--bucket_name    ks3_bucket_name
    -l,--local_dir      local disk dir,will be used by mount and umount
    -p,--mount_params   s3fs params,split by comma
Example:
    mount:
        /run_ks3_bucket_mount.sh -o mount -b your_bucket_name -l /mnt/ks3_buckets/private/your_local_dir -p sigv2,nocopyapi,dbglevel=warn,allow_other,mp_umask=000
    umount:
        /run_ks3_bucket_mount.sh -o umount -l /mnt/ks3_buckets/private/your_local_dir
参数解释:
-h : [帮助信息]
-o : [挂载/卸载]
-b : [ks3 bucket]
-l : [本地挂载目录]
-p : [s3fs 的优化参数,多个参数使用逗号隔开]

金山云,开启您的云计算之旅

免费注册