def push(): """ Create a pre-trained model from model store """ model_id = flask.request.args.get('id') model_grand_list = app.config['store_cache'].read() found = False if model_grand_list is not None: for store in model_grand_list: for model in model_grand_list[store]['model_list']: if model['id'] == model_id: url = model_grand_list[store]['base_url'] directory = model['dir_name'] found = True break if found: break if not found: return 'Unable to find requested model', 404 else: progress = Progress(model_id) weights, model, label, meta_data, python_layer = retrieve_files( url, directory, progress) job = PretrainedModelJob(weights, model, label, meta_data['framework'], username=auth.get_username(), name=meta_data['name']) scheduler.add_job(job) response = flask.make_response(job.id()) return response
def push(): """ Create a pre-trained model from model store """ model_id = flask.request.args.get('id') model_grand_list = app.config['store_cache'].read() found = False if model_grand_list is not None: for store in model_grand_list: for model in model_grand_list[store]['model_list']: if model['id'] == model_id: url = model_grand_list[store]['base_url'] directory = model['dir_name'] found = True break if found: break if not found: return 'Unable to find requested model', 404 else: progress = Progress(model_id) weights, model, label, meta_data, python_layer = retrieve_files(url, directory, progress) job = PretrainedModelJob( weights, model, label, meta_data['framework'], username=auth.get_username(), name=meta_data['name'] ) scheduler.add_job(job) response = flask.make_response(job.id()) return response
def to_pretrained(job_id): job = scheduler.get_job(job_id) if job is None: raise werkzeug.exceptions.NotFound('Job not found') epoch = -1 # GET ?epoch=n if 'epoch' in flask.request.args: epoch = float(flask.request.args['epoch']) # POST ?snapshot_epoch=n (from form) elif 'snapshot_epoch' in flask.request.form: epoch = float(flask.request.form['snapshot_epoch']) # Write the stats of the job to json, # and store in tempfile (for archive) info = job.json_dict(verbose=False, epoch=epoch) task = job.train_task() snapshot_filename = None snapshot_filename = task.get_snapshot(epoch) # Set defaults: labels_path = None resize_mode = None if "labels file" in info: labels_path = os.path.join(task.dataset.dir(), info["labels file"]) if "image resize mode" in info: resize_mode = info["image resize mode"] job = PretrainedModelJob( snapshot_filename, os.path.join(job.dir(), task.model_file), labels_path, info["framework"], info["image dimensions"][2], resize_mode, info["image dimensions"][0], info["image dimensions"][1], username=auth.get_username(), name=info["name"] ) scheduler.add_job(job) return flask.redirect(flask.url_for('digits.views.home', tab=3)), 302
def to_pretrained(job_id): job = scheduler.get_job(job_id) if job is None: raise werkzeug.exceptions.NotFound('Job not found') epoch = -1 # GET ?epoch=n if 'epoch' in flask.request.args: epoch = float(flask.request.args['epoch']) # POST ?snapshot_epoch=n (from form) elif 'snapshot_epoch' in flask.request.form: epoch = float(flask.request.form['snapshot_epoch']) # Write the stats of the job to json, # and store in tempfile (for archive) info = job.json_dict(verbose=False,epoch=epoch) task = job.train_task() snapshot_filename = None snapshot_filename = task.get_snapshot(epoch) # Set defaults: labels_path = None resize_mode = None if "labels file" in info: labels_path = os.path.join(task.dataset.dir(), info["labels file"]) if "image resize mode" in info: resize_mode = info["image resize mode"] job = PretrainedModelJob( snapshot_filename, os.path.join(job.dir(), task.model_file) , labels_path, info["framework"], info["image dimensions"][2], resize_mode, info["image dimensions"][0], info["image dimensions"][1], username = auth.get_username(), name = info["name"] ) scheduler.add_job(job) return flask.redirect(flask.url_for('digits.views.home',tab=3)), 302
def to_pretrained(job_id): epoch = -1 # GET ?epoch=n if 'epoch' in flask.request.args: epoch = float(flask.request.args['epoch']) # POST ?snapshot_epoch=n (from form) elif 'snapshot_epoch' in flask.request.form: epoch = float(flask.request.form['snapshot_epoch']) username = auth.get_username() job = create_pretrained_model(job_id,username,epoch) job.wait_completion() weights_job = WeightsJob( job, name = info['name'], username = username ) scheduler.add_job(weights_job) return flask.redirect(flask.url_for('digits.views.home', tab=3)), 302