Пример #1
0
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 download_shopee(dataset, data_path):
    if not os.path.exists(os.path.join(data_path, dataset + '.zip')):
        filename = ag.download(
            'https://autogluon.s3.amazonaws.com/datasets/shopee-iet.zip',
            path='data/shopee-iet.zip')
        ag.mkdir(filename[:-4])
        ag.unzip(filename, root=filename[:-4])
    else:
        print(dataset + '.zip already exists.\n')
Пример #3
0
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
Пример #4
0
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)
Пример #5
0
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)
Пример #6
0
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)