class CometExperimentLogger(ExperimentLogger): def __init__(self, exp_name, online=True, **kwargs): super(CometExperimentLogger, self).__init__(exp_name, **kwargs) if online: self.comet = Experiment(project_name=exp_name, **kwargs) else: self.comet = OfflineExperiment(project_name=exp_name, **kwargs) def log_metric(self, tag, value, step, **kwargs): self.comet.log_metric(tag, value, step=step, **kwargs) def log_image(self, tag, img, step, **kwargs): self.comet.log_image(img, name=tag, step=step, **kwargs) def log_plt(self, tag, plt, step, **kwargs): self.comet.log_figure(figure=plt, figure_name=tag, step=step, **kwargs) def log_text(self, tag, text, **kwargs): self.comet.log_text(text, **kwargs) def log_parameters(self, params, **kwargs): self.comet.log_parameters(params, **kwargs) def start_epoch(self, **kwargs): super(CometExperimentLogger, self).start_epoch() def end_epoch(self, **kwargs): super(CometExperimentLogger, self).end_epoch() self.comet.log_epoch_end(self.epoch, **kwargs) def end_experiment(self): self.comet.end()
# Compute train accuracy _, predicted = torch.max(outputs.data, 1) total += labels.size(0) correct += float((predicted == labels.data).sum()) # Log accuracy to Comet.ml experiment.log_metric("accuracy", correct / total, step=step) step += 1 if (i + 1) % 100 == 0: print('Epoch [%d/%d], Step [%d/%d], Loss: %.4f' % (epoch + 1, hyper_params['num_epochs'], i + 1, len(train_dataset) // hyper_params['batch_size'], loss.data.item())) experiment.log_epoch_end(epoch) with experiment.test(): # Test the Model correct = 0 total = 0 for images, labels in test_loader: images = Variable( images.view(-1, hyper_params['sequence_length'], hyper_params['input_size'])) outputs = rnn(images) _, predicted = torch.max(outputs.data, 1) total += labels.size(0) correct += float((predicted == labels).sum()) experiment.log_metric("accuracy", correct / total) print('Test Accuracy of the model on the 10000 test images: %d %%' %