目录
自定义镜像打包
我们同样也可以使用自定义的docker镜像作为基础镜像来打包mnist训练镜像,这里我们提供两种方式:
- 使用UAI-SDK自定义打包工具
- 使用Dockerfile直接打包
使用UAI-SDK自定义打包工具
UAI-SDK自定义打包工具为 uai-sdk/uaitrain_tool/base_tool.py,我们将该工具也放入/data/mnist。
$ cd /data/mnist $ cp ~/uai-sdk/uaitrain_tool/base_tool.py ./
目前的目录结构如下:
|_ /data/mnist | |_ code | |_ data | |_ base_tool.py
打包Mnist镜像
我们使用base_tool.py 打包mnist镜像,具体的参数说明在自定义镜像打包(Pack)。
$ sudo python base_tool.py pack \ --code_path=\ --mainfile_path= \ --uhub_username= \ --uhub_password= \ --uhub_registry= \ --uhub_imagename= \ --internal_uhub= \ --test_data_path= \ --test_output_path= \ --train_params= \ --self_img
基本参数同打包镜像中的一致,除了ai_arch_v参数(这里也不需要使用--os 和--python_version参数)改为了self_img 。
我们通过self_img参数来指定基础docker镜像,并基于该镜像打包自己的mnist训练镜像。
打包CPU Mnist训练镜像
$ sudo python base_tool.py pack \ --code_path=./code/ \ --mainfile_path=mnist_summary.py \ --uhub_username=\ --uhub_password= \ --uhub_registry=uai_demo \ --uhub_imagename=tf-mnist-train-cpu \ --internal_uhub=true \ --test_data_path=/data/mnist/data \ --test_output_path=/data/mnist/output \ --train_params="--max_step=2000" \ --self_img=uhub.service.auto-ai.com.cn/uaishare/cpu_uaitrain_ubuntu-14.04_python-2.7.6_tensorflow-1.1.0:v1.0
这样可以生成一个镜像名为 tf-mnist-train-cpu:uaitrain 的CPU Mnist训练镜像。
打包GPU Mnist训练镜像
$ sudo python base_tool.py pack \ --code_path=./code/ \ --mainfile_path=mnist_summary.py \ --uhub_username=\ --uhub_password= \ --uhub_registry=uai_demo \ --uhub_imagename=uhub.service.auto-ai.com.cn/uai_demo/tf-mnist-train \ --internal_uhub=true \ --test_data_path=/data/mnist/data \ --test_output_path=/data/mnist/output \ --train_params="--max_step=2000" \ --self_img=uhub.service.auto-ai.com.cn/uaishare/gpu_uaitrain_ubuntu-14.04_python-2.7.6_tensorflow-1.1.0:v1.0
这样可以生成一个镜像名为 uhub.service.auto-ai.com.cn/uai_demo/tf-mnist-train:uaitrain 的GPU Mnist训练镜像。
使用Dockerfile直接打包
我们也可以直接使用Dockerfile来打包镜像,我们需要在/data/mnist下面创建一个Dockerfile
$ cd /data/mnist $ vim mnist-cpu.Dockerfile $ vim mnist-gpu.Dockerfile
mnist-cpu.Dockerfile
Mnist cpu 的mnist-cpu.Dockerfile如下:
From uhub.auto-ai.com.cn/uaishare/cpu_uaitrain_ubuntu-14.04_python-2.7.6_tensorflow-1.1.0:v1.0 ADD ././code/ /data/
Docker镜像build的时候会基于uhub.auto-ai.com.cn/uaishare/cpu_uaitrain_ubuntu-14.04_python-2.7.6_tensorflow-1.1.0:v1.0,tensorflow 1.1的CPU基础镜像,然后将code/下面的代码拷贝到docker镜像的/data/目录下
Build mnist-cpu 镜像
我们使用docker build命令来创建cpu镜像
$ sudo docker build -t tf-mnist-train-cpu:uaitrain -f mnist-cpu.Dockerfile .
这样可以生成一个镜像名为 tf-mnist-train-cpu:uaitrain 的CPU Mnist训练镜像。
mnist-gpu.Dockerfile
Mnist cpu 的mnist-gpu.Dockerfile如下:
From uhub.auto-ai.com.cn/uaishare/gpu_uaitrain_ubuntu-14.04_python-2.7.6_tensorflow-1.1.0:v1.0 ADD ././code/ /data/
Docker镜像build的时候会基于uhub.auto-ai.com.cn/uaishare/gpu_uaitrain_ubuntu-14.04_python-2.7.6_tensorflow-1.1.0:v1.0,tensorflow 1.1的GPU基础镜像,然后将code/下面的代码拷贝到docker镜像的/data/目录下
Build mnist-gpu 镜像
我们使用docker build命令来创建gpu镜像
$ sudo docker build -t uhub.service.auto-ai.com.cn/uai_demo/tf-mnist-train:uaitrain -f mnist-gpu.Dockerfile .
这样可以生成一个镜像名为 uhub.service.auto-ai.com.cn/uai_demo/tf-mnist-train:uaitrain 的GPU Mnist训练镜像。