sub = pd.read_csv('data/sample_submission.csv') sub['cell_line'] = preds sub.to_csv('save_6.csv', index=False) trainers.report_result() from sklearn import metrics import matplotlib.pyplot as plt import seaborn as sns colors = ["windows blue", "amber", "greyish", "faded green", "dusty purple"] sns.palplot(sns.xkcd_palette(colors)) _, _, (y_true, y_pred) = trainers.evaluate(val_loader) cm = metrics.confusion_matrix(y_true, y_pred, normalize='true') idx = sorted(np.unique(y_true)) confusion_matrix = pd.DataFrame(cm, index=process.enc.classes_, columns=process.enc.classes_) plt.figure(figsize=(7, 7)) sns.heatmap(confusion_matrix, annot=True, fmt=".2f", square=True, cbar=False, cmap=sns.color_palette("Blues")) plt.show() plot_cm(val_loader)
print( "<%s> Epoch: %03d/%03d, Iteration: %03d/%03d, Loss: %.8f, Acc: %.3f" % (get_local_time(), epoch + 1, config['n_epochs'], it + 1, len(train_loader), loss, acc)) iterations = epoch * len(train_loader) + it + 1 write_loss(iterations, trainer, train_writer) if (epoch + 1) % config['test_iter'] == 0: t_bar = tqdm.tqdm(test_loader) t_bar.set_description('Epoch: {} - Testing'.format(epoch + 1)) losses = [] accuracy_list = [] for (images, labels) in t_bar: images = images.cuda() labels = labels.cuda() loss, accuracy = trainer.evaluate(images, labels) losses.append(loss) accuracy_list.append(accuracy) mean_loss = np.mean(losses) accuracy = np.mean(accuracy_list) print('\n<{}> Test result: loss: {}, accuracy: {}'.format( get_local_time(), mean_loss, accuracy)) if opts.fine_tune: trainer.save(checkpoint_directory, epoch, acc=accuracy, min_loss=mean_loss, post_fix='-{}'.format(epoch + 1 - epochs)) print('\n<{}> Saving the ft model, the prediction accuracy: {}'. format(get_local_time(), accuracy)) if accuracy > max_acc: