Skip to content

Instantly share code, notes, and snippets.

@archydeberker
Created April 14, 2019 21:37
Show Gist options
  • Save archydeberker/527cd8d5620a36a8a1ff46765be27560 to your computer and use it in GitHub Desktop.
Save archydeberker/527cd8d5620a36a8a1ff46765be27560 to your computer and use it in GitHub Desktop.
n_searches = 20
n_epochs = 15
n_val = 500
for train_size in dataset_size:
print('Training with subset %1.4f, which is %d images'%(train_size, train_size*total_train))
test_acc[train_size] = []
test_loss[train_size] = []
val_acc[train_size] = []
train_acc[train_size] = []
# Perform random search for that dataset size
for trial in range(n_searches):
hyperparam_dict = random_hyperparamters()
print(hyperparam_dict)
net = Net(hyperparam_dict)
net, loss_list, val_list = train_model(net, trainset_loaders[train_size], valloader, n_val, n_epochs=n_epochs,
lr=hyperparam_dict['lr'],
momentum=hyperparam_dict['momentum'],
weight_decay=hyperparam_dict['weight_decay']
)
test_acc[train_size].append((hyperparam_dict, accuracy))
test_loss[train_size].append((hyperparam_dict, loss))
val_acc[train_size].append((hyperparam_dict, val_list))
train_acc[train_size].append((hyperparam_dict, loss_list))
torch.save(net, 'trainset_%d_images_trial%d_val_loss_%1.2f.model'%((train_size*total_train), trial, val_list[-1]))
torch.save(hyperparam_dict, 'trainset_%d_images_trial%d_val_loss_%1.2f.hparams'%((train_size*total_train), trial, val_list[-1]))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment