(model, args)
| 81 | |
| 82 | |
| 83 | def downloadModel(model, args): |
| 84 | # Figure out where to store the model |
| 85 | model_folder = '{folder}'.format(folder=model) |
| 86 | dir_path = os.path.dirname(os.path.realpath(__file__)) |
| 87 | if args.install: |
| 88 | model_folder = '{dir_path}/{folder}'.format(dir_path=dir_path, |
| 89 | folder=model) |
| 90 | |
| 91 | # Check if that folder is already there |
| 92 | if os.path.exists(model_folder) and not os.path.isdir(model_folder): |
| 93 | if not args.force: |
| 94 | raise Exception("Cannot create folder for storing the model,\ |
| 95 | there exists a file of the same name.") |
| 96 | else: |
| 97 | print("Overwriting existing file! ({filename})" |
| 98 | .format(filename=model_folder)) |
| 99 | os.remove(model_folder) |
| 100 | if os.path.isdir(model_folder): |
| 101 | if not args.force: |
| 102 | response = "" |
| 103 | query = "Model already exists, continue? [y/N] " |
| 104 | try: |
| 105 | response = raw_input(query) |
| 106 | except NameError: |
| 107 | response = input(query) |
| 108 | if response.upper() == 'N' or not response: |
| 109 | print("Cancelling download...") |
| 110 | sys.exit(0) |
| 111 | print("Overwriting existing folder! ({filename})".format(filename=model_folder)) |
| 112 | deleteDirectory(model_folder) |
| 113 | |
| 114 | # Now we can safely create the folder and download the model |
| 115 | os.makedirs(model_folder) |
| 116 | for f in ['predict_net.pb', 'init_net.pb']: |
| 117 | try: |
| 118 | downloadFromURLToFile(getURLFromName(model, f), |
| 119 | '{folder}/{f}'.format(folder=model_folder, |
| 120 | f=f)) |
| 121 | except Exception as e: |
| 122 | print("Abort: {reason}".format(reason=str(e))) |
| 123 | print("Cleaning up...") |
| 124 | deleteDirectory(model_folder) |
| 125 | sys.exit(0) |
| 126 | |
| 127 | if args.install: |
| 128 | os.symlink("{folder}/__sym_init__.py".format(folder=dir_path), |
| 129 | "{folder}/__init__.py".format(folder=model_folder)) |
| 130 | |
| 131 | |
| 132 | def validModelName(name): |
no test coverage detected
searching dependent graphs…