def image_classification_dataset_create(): form = ImageClassificationDatasetForm() if not form.validate_on_submit(): return render_template('datasets/images/classification/new.html', form=form), 400 job = None try: job = ImageClassificationDatasetJob(name=form.dataset_name.data, image_dims=( int(form.resize_height.data), int(form.resize_width.data), int(form.resize_channels.data), ), resize_mode=form.resize_mode.data) if form.method.data == 'folder': from_folders(job, form) elif form.method.data == 'textfile': from_files(job, form) scheduler.add_job(job) return redirect(url_for('datasets_show', job_id=job.id())) except: if job: scheduler.delete_job(job) raise
def image_classification_dataset_create(): form = ImageClassificationDatasetForm() if not form.validate_on_submit(): return render_template('datasets/images/classification/new.html', form=form), 400 job = None try: job = ImageClassificationDatasetJob( name = form.dataset_name.data, image_dims = ( int(form.resize_height.data), int(form.resize_width.data), int(form.resize_channels.data), ), resize_mode = form.resize_mode.data ) if form.method.data == 'folder': from_folders(job, form) elif form.method.data == 'textfile': from_files(job, form) scheduler.add_job(job) return redirect(url_for('datasets_show', job_id=job.id())) except: if job: scheduler.delete_job(job) raise
def image_classification_dataset_create(): """ Creates a new ImageClassificationDatasetJob Returns JSON when requested: {job_id,name,status} or {errors:[]} """ form = ImageClassificationDatasetForm() ## Is there a request to clone a job with ?clone=<job_id> fill_form_if_cloned(form) if not form.validate_on_submit(): if request_wants_json(): return flask.jsonify({'errors': form.errors}), 400 else: return flask.render_template( 'datasets/images/classification/new.html', form=form), 400 job = None try: job = ImageClassificationDatasetJob( name=form.dataset_name.data, image_dims=( int(form.resize_height.data), int(form.resize_width.data), int(form.resize_channels.data), ), resize_mode=form.resize_mode.data, bbox_mode=int(form.bbox_mode.data), scale_factor=float(form.scale_factor.data), ) if form.method.data == 'folder': from_folders(job, form) elif form.method.data == 'textfile': from_files(job, form) elif form.method.data == 'jsonfile': from_json(job, form) else: raise ValueError('method not supported') ## Save form data with the job so we can easily clone it later. save_form_to_job(job, form) scheduler.add_job(job) if request_wants_json(): return flask.jsonify(job.json_dict()) else: return flask.redirect( flask.url_for('datasets_show', job_id=job.id())) except: if job: scheduler.delete_job(job) raise
def image_classification_dataset_create(): """ Creates a new ImageClassificationDatasetJob Returns JSON when requested: {job_id,name,status} or {errors:[]} """ form = ImageClassificationDatasetForm() ## Is there a request to clone a job with ?clone=<job_id> fill_form_if_cloned(form) if not form.validate_on_submit(): if request_wants_json(): return flask.jsonify({"errors": form.errors}), 400 else: return flask.render_template("datasets/images/classification/new.html", form=form), 400 job = None try: job = ImageClassificationDatasetJob( name=form.dataset_name.data, image_dims=(int(form.resize_height.data), int(form.resize_width.data), int(form.resize_channels.data)), resize_mode=form.resize_mode.data, bbox_mode=int(form.bbox_mode.data), scale_factor=float(form.scale_factor.data), ) if form.method.data == "folder": from_folders(job, form) elif form.method.data == "textfile": from_files(job, form) elif form.method.data == "jsonfile": from_json(job, form) else: raise ValueError("method not supported") ## Save form data with the job so we can easily clone it later. save_form_to_job(job, form) scheduler.add_job(job) if request_wants_json(): return flask.jsonify(job.json_dict()) else: return flask.redirect(flask.url_for("datasets_show", job_id=job.id())) except: if job: scheduler.delete_job(job) raise
def image_classification_dataset_create(): """ Creates a new ImageClassificationDatasetJob Returns JSON when requested: {job_id,name,status} or {errors:[]} """ form = ImageClassificationDatasetForm() if not form.validate_on_submit(): if request_wants_json(): return flask.jsonify({'errors': form.errors}), 400 else: return flask.render_template('datasets/images/classification/new.html', form=form), 400 job = None try: job = ImageClassificationDatasetJob( name = form.dataset_name.data, image_dims = ( int(form.resize_height.data), int(form.resize_width.data), int(form.resize_channels.data), ), resize_mode = form.resize_mode.data ) if form.method.data == 'folder': from_folders(job, form) elif form.method.data == 'textfile': from_files(job, form) else: raise ValueError('method not supported') scheduler.add_job(job) if request_wants_json(): return flask.jsonify(job.json_dict()) else: return flask.redirect(flask.url_for('datasets_show', job_id=job.id())) except: if job: scheduler.delete_job(job) raise