def test_task(): dataset = Task.Dataset.from_voc('https://autogluon.s3.amazonaws.com/datasets/tiny_motorbike.zip') train_data, _, test_data = dataset.random_split() detector = Task() detector.fit(train_data, num_trials=1, hyperparameters={'batch_size': 4, 'epochs': 5, 'early_stop_max_value': 0.2}) test_result = detector.predict(test_data) print('test result', test_result) detector.save('detector.ag') detector2 = Task.load('detector.ag') fit_summary = detector2.fit_summary() test_map = detector2.evaluate(test_data) test_result2 = detector2.predict(test_data) assert test_result2.equals(test_result)
def test_task(): dataset = Task.Dataset.from_voc('https://autogluon.s3.amazonaws.com/datasets/tiny_motorbike.zip') train_data, _, test_data = dataset.random_split() detector = Task() detector.fit(train_data, hyperparameters={'batch_size': 4, 'epochs': 5, 'early_stop_max_value': 0.2}, hyperparameter_tune_kwargs={'num_trials': 1}) test_result = detector.predict(test_data) detector.save('detector.ag') detector2 = Task.load('detector.ag') fit_summary = detector2.fit_summary() test_map = detector2.evaluate(test_data) test_result2 = detector2.predict(test_data) assert test_result2.equals(test_result), f'{test_result2} != \n {test_result}' # to numpy test_result2 = detector2.predict(test_data, as_pandas=False)
import numpy as np from matplotlib import pyplot as plt from mxnet import image from gluoncv import utils from autogluon.vision import ObjectDetector detector = ObjectDetector.load('enemy_detector.ag') image_array = image.imread('test.jpg') result = detector.predict(image_array) selected_result = result.query('predict_score > 0.85') class_ids , class_names = selected_result['predict_class'].factorize() bounding_boxes = np.array([[x[i] for i in x.keys()] for x in list(selected_result['predict_rois'])]) scores = np.array(selected_result['predict_score']) utils.viz.plot_bbox(image_array, bounding_boxes, scores=scores, labels=class_ids, class_names = class_names, absolute_coordinates=False) plt.savefig('result.jpg')