def demo_prediction(): """Route to a jsonified version of deep learning model predictions, for demo case Returns ------- dict Deep learning model prediction for demo page (depends on the chosen model, either feature detection or semantic segmentation) """ filename = request.args.get('img') filename = os.path.join("deeposlandia", filename[1:]) dataset = request.args.get('dataset') agg_value = dataset == "mapillary" model = request.args.get('model') utils.logger.info("file: {}, dataset: {}, model: {}".format( filename, dataset, model)) if model == "feature_detection": predictions = predict([filename], dataset, model, aggregate=agg_value) return jsonify(predictions) elif model == "semantic_segmentation": predictions = predict([filename], dataset, model, aggregate=agg_value, output_dir=PREDICT_FOLDER) return jsonify(predictions) else: utils.logger.error(("Unknown model. Please choose " "'feature_detection' or 'semantic_segmentation'.")) return ""
def predictor_demo(model, dataset, image): """Route to a jsonified version of deep learning model predictions, for demo case Parameters ---------- model : str Considered research problem dataset : str Considered dataset image : str Name of the demo image onto the server Returns ------- dict Deep learning model prediction for demo page (depends on the chosen model, either feature detection or semantic segmentation) """ logger.info("file: %s, dataset: %s, model: %s", image, dataset, model) image_info = recover_image_info(dataset, image) predictions = predict( [os.path.join(app.static_folder, image_info["image_file"])], dataset, model, output_dir=PREDICT_FOLDER, ) if model == "featdet": predicted_image = "sample_image/prediction.png" predicted_labels = predictions[ os.path.join(app.static_folder, image_info["image_file"]) ] elif model == "semseg": predicted_image = os.path.join( "predicted", image_info["label_file"].split("/")[-1] ) predicted_labels = predictions["labels"] else: raise ValueError( ( "Unknown model, please choose amongst %s.", AVAILABLE_MODELS ) ) return render_template( dataset + "_demo.html", model=model, image_filename=image_info["image_file"], label_filename=image_info["label_file"], ground_truth_labels=image_info["labels"], predicted_filename=predicted_image, predicted_labels=predicted_labels, )
def predictor_demo(model, dataset, image): """Route to a jsonified version of deep learning model predictions, for demo case Parameters ---------- model : str Considered research problem (either `feature_detection` or `semantic_segmentation`) dataset : str Considered dataset (either `shapes` or `mapillary`) image : str Name of the demo image onto the server Returns ------- dict Deep learning model prediction for demo page (depends on the chosen model, either feature detection or semantic segmentation) """ agg_value = dataset == "mapillary" logger.info("file: %s, dataset: %s, model: %s", image, dataset, model) agg_value = dataset == "mapillary" image_info = recover_image_info(dataset, image) predictions = predict( [os.path.join(app.static_folder, image_info["image_file"])], dataset, model, aggregate=agg_value, output_dir=PREDICT_FOLDER, ) if model == "feature_detection": predicted_image = "sample_image/prediction.png" predicted_labels = predictions[os.path.join(app.static_folder, image_info["image_file"])] elif model == "semantic_segmentation": predicted_image = os.path.join("predicted", image_info["label_file"].split("/")[-1]) predicted_labels = predictions["labels"] else: raise ValueError(("Unknown model, please provide 'feature_detection'" "or 'semantic_segmentation'.")) return render_template( dataset + "_demo.html", model=model, image_filename=image_info["image_file"], label_filename=image_info["label_file"], ground_truth_labels=image_info["labels"], predicted_filename=predicted_image, predicted_labels=predicted_labels, )
def prediction(): """Route to a jsonified version of deep learning model predictions, for client tool Returns ------- dict Deep learning model predictions """ filename = os.path.basename(request.args.get('img')) filename = os.path.join(app.config['UPLOAD_FOLDER'], filename) dataset = request.args.get('dataset') model = request.args.get('model') logger.info("file: %s, dataset: %s, model: %s", filename, dataset, model) predictions = predict([filename], "mapillary", "semantic_segmentation", aggregate=True, output_dir=PREDICT_FOLDER) return jsonify(predictions)
def prediction(): """Route to a jsonified version of deep learning model predictions, for client tool Returns ------- dict Deep learning model predictions """ filename = os.path.basename(request.args.get("img")) filename = os.path.join(app.config["UPLOAD_FOLDER"], filename) dataset = request.args.get("dataset") model = request.args.get("model") logger.info("file: %s, dataset: %s, model: %s", filename, dataset, model) predictions = predict( [filename], "mapillary", "semseg", output_dir=PREDICT_FOLDER, ) return jsonify(predictions)