tar

命令作用

将用户本地代码打包成一个tar包,该tar包可以在控制台界面使用“代码模式”deploy)部署版本
注意:该命令与pack命令区别是它仅在本地打包,不会将tar包上传到云知芯的Ufile中

准备工作

1)安装云知芯 UFile SDK

wget http://sdk.ufile.auto-ai.com.cn/python_sdk.tar.gz
tar zxvf python_sdk.tar.gz
cd ufile-python
sudo python setup.py install

注:UFile SDK仅兼容request 2.10.0以下版本

2)安装UAI SDK

git clone https://github.com/ucloud/uai-sdk
cd uai-sdk
sudo python setup.py install

准备打包所需文件

用户需将AI在线服务所需的代码以及模型文件放在某一路径下,用参数pack_file_path指定。打包成功后,会在该路径下生成tar文件。目录结构示例如下:

file_dir (对应参数pack_file_path,相对路径)
    code_files1
    code_files2
    code_files3
    checkpoint_dir (对应参数model_dir,相对路径)
        model_files1
        model_files2
        model_files3

准备命令行工具

为后续操作方便,可将UAI SDK安装包中的命令行工具(undefined安装路径/uai_tools/uai_tool.py)拷贝到代码pack_file_path的同级目录

uai_tool.py (从undefined安装路径/uai_tools/uai_tool.py拷贝)
file_dir (对应参数pack_file_path,相对路径)
    code_files1
    code_files2
    code_files3
    checkpoint_dir (对应参数model_dir,相对路径)
        model_files1
        model_files2
        model_files3

执行tar命令

python uai_tool.py tar     {caffe,keras,mxnet,tf}  
                           --pack_file_path PACK_FILE_PATH
                           --tar_name UPLOAD_NAME
                           --main_module MAIN_MODULE 
                           --main_class MAIN_CLASS
                           --model_dir MODEL_DIR 
                           --code_files CODE_FILES
                           [--model_name MODEL_NAME]
                           [--all_one_file ALL_ONE_FILE]
                           [--model_arch_type MODEL_ARCH_TYPE]
  • 参数说明
    1) 公共参数
    参数 说明 是否必需
    pack_file_path 待打包文件所在路径(相对路径
    tar_name 生成的tar文件名(如mnist.tar)
    main_module 包含主类的代码文件(不包含后缀名)
    main_class 主类名称
    model_dir 模型文件的路径(相对路径
    code_files 所需代码文件,需包含文件后缀名(若有多个,请用','隔开,中间不包含空格)

    2)其他参数(各框架另外所需参数)

参数名称 说明 是否必须 默认值 适用框架
model_name 模型名称 Caffe, Keras, MXNet
all_one_file 模型的框架及参数是否在同一文件中(true或false) false Keras
model_arch_type 模型框架文件后缀名 'json' Keras
num_epoch 保存模型文件时的epoch数 MXNet

tar命令样例

1)caffe

python uai_tool.py tar caffe \
--main_class MnistModel  \
--main_module mnist_inference  \
--model_dir checkpoint_dir  \
--code_files mnist_inference.py  \
--model_name mnist_model  \
--pack_file_path mnist_caffe \
--tar_name mnist_caffe.tar 

2)keras

python uai_tool.py tar keras \
--main_class MnistModel  \
--main_module mnist_inference  \
--model_dir checkpoint_dir  \
--code_files mnist_inference.py  \
--model_name mnist_model  \
--pack_file_path mnist_keras \
--tar_name mnist_keras.tar

3)mxnet

python uai_tool.py tar mxnet \
--main_class MnistModel  \
--main_module mnist_inference  \
--model_dir checkpoint_dir  \
--code_files mnist_inference.py  \
--model_name mnist-model  \
--num_epoch 10 \
--pack_file_path mnist_mxnet  \
--tar_name mnist_mxnet.tar

4)tensorflow

python uai_tool.py tar tf \
--main_class MnistModel \
--main_module mnist_inference \
--model_dir checkpoint_dir \
--code_files mnist_inference.py \
--pack_file_path tests/mnist_tf \
--tar_name mnist_tf.tar
  • 输出说明

成功执行后,将返回如下信息:

Finish packing the files.

成功执行后,会在参数pack_file_path所指定的路径下生成tar文件。