opt.w_eqv * loss_eqv # Visualization with torch.no_grad(): if epoch % 5 == 0: pams_viz = pams.view(-1, nc * k, h, w) pams_tf_viz = pams_tf.view(-1, nc * k, h, w) pams_viz = pams_viz / pams_viz.max( 2, keepdim=True)[0].max(3, keepdim=True)[0] pams_tf_viz = pams_tf_viz / pams_tf_viz.max( 2, keepdim=True)[0].max(3, keepdim=True)[0] viz.vis_inputs(epoch, inputs, prefix='') viz.vis_inputs(epoch, inputs_tf, prefix='_tf') viz.vis_inputs(epoch, saliency, prefix='saliency') viz.vis_DFF_heatmaps(epoch, pams_viz, threshold=0.1, prefix='pams') viz.vis_DFF_heatmaps(epoch, pams_tf_viz, threshold=0.1, prefix='pams_tf') if phase == 'train': viz.vis_losses(epoch, [ loss, loss_cls, loss_geo, loss_sem, loss_ort, loss_eqv ], [ 'loss_train', 'loss_cls_train', 'loss_geo_train', 'loss_sem_train', 'loss_ort_train', 'loss_eqv_train' ])