1# Copyright (c) 2019 Guo Yejun 2# 3# This file is part of FFmpeg. 4# 5# FFmpeg is free software; you can redistribute it and/or 6# modify it under the terms of the GNU Lesser General Public 7# License as published by the Free Software Foundation; either 8# version 2.1 of the License, or (at your option) any later version. 9# 10# FFmpeg is distributed in the hope that it will be useful, 11# but WITHOUT ANY WARRANTY; without even the implied warranty of 12# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13# Lesser General Public License for more details. 14# 15# You should have received a copy of the GNU Lesser General Public 16# License along with FFmpeg; if not, write to the Free Software 17# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 18# ============================================================================== 19 20# verified with Python 3.5.2 on Ubuntu 16.04 21import argparse 22import os 23from convert_from_tensorflow import * 24 25def get_arguments(): 26 parser = argparse.ArgumentParser(description='generate native mode model with weights from deep learning model') 27 parser.add_argument('--outdir', type=str, default='./', help='where to put generated files') 28 parser.add_argument('--infmt', type=str, default='tensorflow', help='format of the deep learning model') 29 parser.add_argument('infile', help='path to the deep learning model with weights') 30 parser.add_argument('--dump4tb', type=str, default='no', help='dump file for visualization in tensorboard') 31 32 return parser.parse_args() 33 34def main(): 35 args = get_arguments() 36 37 if not os.path.isfile(args.infile): 38 print('the specified input file %s does not exist' % args.infile) 39 exit(1) 40 41 if not os.path.exists(args.outdir): 42 print('create output directory %s' % args.outdir) 43 os.mkdir(args.outdir) 44 45 basefile = os.path.split(args.infile)[1] 46 basefile = os.path.splitext(basefile)[0] 47 outfile = os.path.join(args.outdir, basefile) + '.model' 48 dump4tb = False 49 if args.dump4tb.lower() in ('yes', 'true', 't', 'y', '1'): 50 dump4tb = True 51 52 if args.infmt == 'tensorflow': 53 convert_from_tensorflow(args.infile, outfile, dump4tb) 54 55if __name__ == '__main__': 56 main() 57