exploring_exploration/utils/reconstruction_eval.py [410:461]:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                        gt_sim_score = vis_gt_sim[j][k].item()
                        pred_sim_score = vis_pred_scores[j][k].item()
                        gt_text = f"GT sim: {gt_sim_score:.2f}"
                        pred_text = f"Pred prob: {pred_sim_score:.2f}"
                        # Add zero padding on top for text
                        ret_images = np.pad(
                            ret_images, ((100, 0), (0, 0), (0, 0)), mode="constant"
                        )
                        # Add the text
                        ret_images = cv2.putText(
                            ret_images,
                            gt_text,
                            (5, 45),
                            cv2.FONT_HERSHEY_SIMPLEX,
                            1.0,
                            (255, 255, 255),
                            thickness=2,
                        )
                        ret_images = cv2.putText(
                            ret_images,
                            pred_text,
                            (5, 95),
                            cv2.FONT_HERSHEY_SIMPLEX,
                            1.0,
                            (255, 255, 255),
                            thickness=2,
                        )
                        proc_retrieved_clusters.append(ret_images)

                    proc_retrieved_clusters = np.concatenate(
                        proc_retrieved_clusters, axis=1
                    )
                    proc_retrieved_clusters = (
                        proc_retrieved_clusters.astype(np.float32) / 255.0
                    )
                    proc_retrieved_clusters = torch.Tensor(
                        proc_retrieved_clusters
                    ).permute(2, 0, 1)
                    proc_retrieved_clusters = proc_retrieved_clusters.contiguous()
                    vis_retrieved_clusters.append(proc_retrieved_clusters)

                vis_retrieved_clusters = torch.stack(vis_retrieved_clusters, axis=0)
                tbwriter.add_images(
                    f"Reconstructed images @ interval : {interval:04d}",
                    vis_retrieved_clusters,
                    0,
                )

    else:
        metrics = {}
        episode_losses = torch.cat(episode_losses, dim=0).numpy()
        episode_preds = np.concatenate(episode_preds, axis=0)  # (N, nRef, feat_dim)
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -



exploring_exploration/utils/reconstruction_eval.py [1204:1255]:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                        gt_sim_score = vis_gt_sim[j][k].item()
                        pred_sim_score = vis_pred_scores[j][k].item()
                        gt_text = f"GT sim: {gt_sim_score:.2f}"
                        pred_text = f"Pred prob: {pred_sim_score:.2f}"
                        # Add zero padding on top for text
                        ret_images = np.pad(
                            ret_images, ((100, 0), (0, 0), (0, 0)), mode="constant"
                        )
                        # Add the text
                        ret_images = cv2.putText(
                            ret_images,
                            gt_text,
                            (5, 45),
                            cv2.FONT_HERSHEY_SIMPLEX,
                            1.0,
                            (255, 255, 255),
                            thickness=2,
                        )
                        ret_images = cv2.putText(
                            ret_images,
                            pred_text,
                            (5, 95),
                            cv2.FONT_HERSHEY_SIMPLEX,
                            1.0,
                            (255, 255, 255),
                            thickness=2,
                        )
                        proc_retrieved_clusters.append(ret_images)

                    proc_retrieved_clusters = np.concatenate(
                        proc_retrieved_clusters, axis=1
                    )
                    proc_retrieved_clusters = (
                        proc_retrieved_clusters.astype(np.float32) / 255.0
                    )
                    proc_retrieved_clusters = torch.Tensor(
                        proc_retrieved_clusters
                    ).permute(2, 0, 1)
                    proc_retrieved_clusters = proc_retrieved_clusters.contiguous()
                    vis_retrieved_clusters.append(proc_retrieved_clusters)

                vis_retrieved_clusters = torch.stack(vis_retrieved_clusters, axis=0)
                tbwriter.add_images(
                    f"Reconstructed images @ interval : {interval:04d}",
                    vis_retrieved_clusters,
                    0,
                )

    else:
        metrics = {}
        episode_losses = torch.cat(episode_losses, dim=0).numpy()
        episode_preds = np.concatenate(episode_preds, axis=0)  # (N, nRef, feat_dim)
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -



