Beispiel #1
0
                    loss = opt.w_cls * loss_cls + \
                           opt.w_geo * loss_geo + \
                           opt.w_sem * loss_sem + \
                           opt.w_ort * loss_ort + \
                           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