in ebm_sandbox.py [0:0]
def labelfinetune(dataloader, test_dataloader, target_vars, sess, savedir, saver, l1val=8, l2val=40):
X = target_vars['X']
Y = target_vars['Y']
Y_GT = target_vars['Y_GT']
accuracy = target_vars['accuracy']
train_op = target_vars['train_op']
l1_norm = target_vars['l1_norm']
l2_norm = target_vars['l2_norm']
label_init = np.random.uniform(0, 1, (FLAGS.batch_size, 10))
label_init = label_init / label_init.sum(axis=1, keepdims=True)
label_init = np.tile(np.eye(10)[None :, :], (FLAGS.batch_size, 1, 1))
label_init = np.reshape(label_init, (-1, 10))
itr = 0
if FLAGS.train:
for i in range(1):
for data_corrupt, data, label_gt in tqdm(dataloader):
feed_dict = {X: data, Y_GT: label_gt, Y: label_init}
acc, _ = sess.run([accuracy, train_op], feed_dict)
itr += 1
if itr % 10 == 0:
print(acc)
saver.save(sess, osp.join(savedir, "model_supervised"))
saver.restore(sess, osp.join(savedir, "model_supervised"))
for i in range(1):
emp_accuracies = []
for data_corrupt, data, label_gt in tqdm(test_dataloader):
feed_dict = {X: data, Y_GT: label_gt, Y: label_init, l1_norm: l1val, l2_norm: l2val}
emp_accuracy = sess.run([accuracy], feed_dict)
emp_accuracies.append(emp_accuracy)
print(np.array(emp_accuracies).mean())
print("Received total accuracy of {} for li of {} and l2 of {}".format(np.array(emp_accuracies).mean(), l1val, l2val))
return np.array(emp_accuracies).mean()