def dir_config(args): if not os.path.exists(args.dataset_dir): raise ValueError('Supply the dataset directory with --dataset_dir') directory.makedir(args.log_dir) # save checkpoint directory.makedir(args.checkpoint_dir) directory.makedir(os.path.join(args.checkpoint_dir,'model_best'))
val_metadata = process_metadata('val', val_data, args) test_metadata = process_metadata('test', test_data, args) # Decode Imagedata to index caption and replace image file_root with image vecetor. train_decodedata = process_decodedata(train_metadata, vocab) val_decodedata = process_decodedata(val_metadata, vocab) test_decodedata = process_decodedata(test_metadata, vocab) process_dataset('train', train_decodedata) process_dataset('val', val_decodedata) process_dataset('test', test_decodedata) def parse_args(): parser = argparse.ArgumentParser( description='Command for data preprocessing') parser.add_argument('--img_root', type=str) parser.add_argument('--json_root', type=str) parser.add_argument('--out_root', type=str) parser.add_argument('--min_word_count', type=int) parser.add_argument('--default_image_size', type=int, default=224) parser.add_argument('--first', action='store_true') args = parser.parse_args() return args if __name__ == '__main__': args = parse_args() makedir(args.out_root) process_data(args)
'optimizer': optimizer.state_dict(), 'W': compute_loss.W, 'epoch': args.start_epoch + epoch } save_checkpoint(state, epoch, args.checkpoint_dir, False) adjust_lr(optimizer, args.start_epoch + epoch, args) scheduler.step() for param in optimizer.param_groups: print('lr:{}'.format(param['lr'])) break if __name__ == "__main__": # Get arguments passed by user args = get_train_args() # Validate existence of image and annotation directory if not os.path.exists(args.image_dir): raise ValueError('Supply the dataset directory with --image_dir') if not os.path.exists(args.anno_dir): raise ValueError('Supply the anno file with --anno_dir') # save checkpoint makedir(args.checkpoint_dir) makedir(os.path.join(args.checkpoint_dir, 'model_best')) main(args)