|
- import os
- import tensorflow as tf
- import argparse
- import moxing as mox
- import numpy as np
- import subprocess
-
- parser = argparse.ArgumentParser(description='MindSpore Lenet Example')
-
- parser.add_argument('--model',
- type=str,
- help='path to training/inference dataset folder'
- )
- parser.add_argument('--n',
- type=int,
- default=256,
- help='batch size for input shape type'
- )
- parser.add_argument('--c',
- type=int,
- default=1,
- help='channel for input shape type'
- )
- parser.add_argument('--h',
- type=int,
- default=28,
- help='height for input shape type'
- )
- parser.add_argument('--w',
- type=int,
- default=28,
- help='width for input shape type'
- )
- parser.add_argument('--data_url',
- help='path to training/inference dataset folder')
-
- parser.add_argument('--train_url',
- help='model folder to save/load')
-
-
- workroot = '/home/work/user-job-dir'
- print('workroot:' + workroot)
-
-
- if __name__ == "__main__":
- p = subprocess.Popen('pip install -U tf2onnx',shell=True,stdout=subprocess.PIPE)
- out,err=p.communicate()
- for line in out.splitlines():
- print(line.decode('gbk','ignore'))
-
- args = parser.parse_args()
- print('args:')
- print(args)
- data_dir = workroot + '/data'
- if not os.path.exists(data_dir):
- os.mkdir(data_dir)
-
- train_dir = workroot + '/model'
- if not os.path.exists(train_dir):
- os.mkdir(train_dir)
-
- obs_train_url = args.train_url
- obs_data_url = args.data_url
-
- try:
- mox.file.copy_parallel(obs_data_url, data_dir)
- print("Successfully Download {} to {}".format(obs_data_url,data_dir))
- except Exception as e:
- print('moxing download {} to {} failed: '.format(obs_data_url, data_dir) + str(e))
-
- model_name = args.model
-
- model_file = data_dir + '/' + args.model
- print(model_file)
- model_path=data_dir
- suffix = model_file.rindex("/")
- if suffix!=-1 :
- model_path=model_file[0:suffix]
- model_name=model_file[suffix+1:]
-
- suffix = model_name.rindex(".")
- out_file = train_dir + '/' + model_name + ".onnx"
- if suffix!=-1 :
- out_file = train_dir + '/' + model_name[0:suffix] + ".onnx"
-
- convertcmd = "python -m tf2onnx.convert --saved-model " + model_path + "--output " + out_file
- p = subprocess.Popen(convertcmd, shell=True)
- print(p.returncode)
- out,err=p.communicate()
- for line in out.splitlines():
- print(line.decode('gbk','ignore'))
-
- try:
- mox.file.copy_parallel(train_dir, obs_train_url)
- print("Successfully Upload {} to {}".format(train_dir,obs_train_url))
- except Exception as e:
- print('moxing upload {} to {} failed: '.format(train_dir,obs_train_url) + str(e))
-
|