def main()

in community-artifacts/Deep-learning/Utilities/madlib_image_loader.py [0:0]


def main():
    parser = argparse.ArgumentParser(description='Madlib Image Loader',
                                     formatter_class=argparse.ArgumentDefaultsHelpFormatter)
    parser.add_argument('-r', '--root-dir', action='store',
                        dest='root_dir', default='.',
                        help='Root directory of image directories')

    parser.add_argument('-n', '--num-labels', action='store',
                        dest='num_labels', default='all',
                        help='Number of image labels (categories) to load.')

    parser.add_argument('-d', '--db-name', action='store',
                        dest='db_name', default='madlib',
                        help='Name of database where images should be loaded')

    parser.add_argument('-a', '--append', action='store_true',
                        dest='append', default=False,
                        help='Insert into existing table or Create new table')

    parser.add_argument('-l', '--label-datatype', action='store',
                        dest='label_datatype', default='TEXT',
                        help='SQL datatype(INT, REAL, BIGINT) of label column in output table')

    parser.add_argument('-w', '--num-workers', action='store',
                        dest='num_workers', default=5,
                        help='Name of parallel workers.')

    parser.add_argument('-p', '--port', action='store',
                        dest='port', default=5432,
                        help='database server port')

    parser.add_argument('-U', '--username', action='store',
                        dest='username', default=None,
                        help='database user name')

    parser.add_argument('-t', '--host', action='store',
                        dest='host', default='localhost',
                        help='database server host.')

    parser.add_argument('-P', '--password', action='store',
                        dest='password', default=None,
                        help='database user password')

#   This option is not working yet
#    parser.add_argument('-m', '--no-temp-files', action='store_true',
#                        dest='no_temp_files', default=False,
#                        help="no temporary files, construct all image tables "
#                             " in-memory")

    parser.add_argument('table_name',
                        help='Name of table where images should be loaded')

    args = parser.parse_args()

    db_creds = DbCredentials(args.db_name, args.username, args.password,
                             args.host, args.port)

    iloader = ImageLoader(db_creds, int(args.num_workers))

    iloader.load_dataset_from_disk(args.root_dir,
                                   args.table_name,
                                   args.num_labels,
                                   args.append,
                                   args.label_datatype)