def download_shopee(data_dir, dataset): if not os.path.exists(os.path.join(data_dir, dataset + '.zip')): filename = ag.download( 'https://autogluon.s3.amazonaws.com/datasets/shopee-iet.zip', path=data_dir) ag.mkdir(filename[:-4]) ag.unzip(filename, root=filename[:-4]) else: print(dataset + '.zip already exists.\n')
def load_data(directory_prefix, train_file, test_file, name, url=None): if not os.path.exists(directory_prefix): os.mkdir(directory_prefix) directory = directory_prefix + name + "/" train_file_path = directory + train_file test_file_path = directory + test_file if (not os.path.exists(train_file_path)) or (not os.path.exists(test_file_path)): # fetch files from s3: print("%s data not found locally, so fetching from %s" % (name, url)) zip_name = ag.download(url, directory_prefix) ag.unzip(zip_name, directory_prefix) os.remove(zip_name) train_data = task.Dataset(file_path=train_file_path) test_data = task.Dataset(file_path=test_file_path) return train_data, test_data
def test_invalid_image_dataset(): ImagePredictor = Task invalid_test = ag.download('https://autogluon.s3-us-west-2.amazonaws.com/miscs/test_autogluon_invalid_dataset.zip') invalid_test = ag.unzip(invalid_test) df = ImagePredictor.Dataset.from_csv(os.path.join(invalid_test, 'train.csv'), root=os.path.join(invalid_test, 'train_images')) predictor = ImagePredictor(label="labels") predictor.fit(df, df.copy(), time_limit=60)
def get_dataset(args): # built-in dataset (voc) if 'voc' in args.dataset_name: logging.info('Please follow this instruction to download dataset: \ https://gluon-cv.mxnet.io/build/examples_datasets/pascal_voc.html#sphx-glr-build-examples-datasets-pascal-voc-py ' ) train_dataset = task.Dataset(name=args.dataset_name) test_dataset = task.Dataset(name=args.dataset_name, Train=False) return (train_dataset, test_dataset) # custom datset. if args.dataset_name in dataset_dict: url, index_file_name_trainval, index_file_name_test, classes, \ = dataset_dict[args.dataset_name] data_root = os.path.join(args.dataset_root, args.dataset_name) if not args.no_redownload: root = args.dataset_root filename_zip = ag.download(url, path=root) filename = ag.unzip(filename_zip, root=root) data_root = os.path.join(root, filename) else: logging.info( "This dataset is not in dataset_dict. It should be downloaded before running this script." ) index_file_name_trainval = args.index_file_name_trainval index_file_name_test = args.index_file_name_test classes = args.classes data_root = args.data_root train_dataset = task.Dataset(data_root, index_file_name=index_file_name_trainval, classes=classes) test_dataset = task.Dataset(data_root, index_file_name=index_file_name_test, classes=classes, Train=False) return (train_dataset, test_dataset)
def get_dataset(args): # built-in dataset (voc) if 'voc' in args.dataset_name: logging.info('Please follow this instruction to download dataset: \ https://gluon-cv.mxnet.io/build/examples_datasets/pascal_voc.html#sphx-glr-build-examples-datasets-pascal-voc-py ' ) root = os.path.expanduser('~/.mxnet/datasets/voc/VOC2007') train_dataset = ObjectDetector.Dataset.from_voc(root, splits='trainval') test_dataset = ObjectDetector.Dataset.from_voc(root, splits='test') return (train_dataset, test_dataset) # custom datset. if args.dataset_name in dataset_dict: url, index_file_name_trainval, index_file_name_test, classes, \ = dataset_dict[args.dataset_name] data_root = os.path.join(args.dataset_root, args.dataset_name) if not args.no_redownload: root = args.dataset_root filename_zip = ag.download(url, path=root) filename = ag.unzip(filename_zip, root=root) data_root = os.path.join(root, filename) else: logging.info( "This dataset is not in dataset_dict. It should be downloaded before running this script." ) index_file_name_trainval = args.index_file_name_trainval index_file_name_test = args.index_file_name_test data_root = args.data_root train_dataset = ObjectDetector.Dataset.from_voc( data_root, splits=index_file_name_trainval) test_dataset = ObjectDetector.Dataset.from_voc(data_root, splits=index_file_name_test) return (train_dataset, test_dataset)
import autogluon.core as ag from autogluon.vision.object_detection import ObjectDetection as task import os root = './' filename_zip = ag.download('https://autogluon.s3.amazonaws.com/datasets/tiny_motorbike.zip', path=root) filename = ag.unzip(filename_zip, root=root) data_root = os.path.join(root, filename) dataset_train = task.Dataset(data_root, classes=('motorbike',)) time_limits = 5*60*60 # 5 hours epochs = 30 detector = task.fit(dataset_train, num_trials=2, epochs=epochs, lr=ag.Categorical(5e-4, 1e-4), ngpus_per_trial=1, time_limits=time_limits) # Evaluation on test dataset dataset_test = task.Dataset(data_root, index_file_name='test', classes=('motorbike',)) test_map = detector.evaluate(dataset_test) print("mAP on test dataset: {}".format(test_map[1][1])) # visualization image = '000467.jpg' image_path = os.path.join(data_root, 'JPEGImages', image) print(image_path)