Stage 3: Dump prepared image features (what set_image produces).
(predictor, image_np)
| 116 | |
| 117 | |
| 118 | def dump_image_features(predictor, image_np): |
| 119 | """Stage 3: Dump prepared image features (what set_image produces).""" |
| 120 | print("\n=== Stage 3: Image Features ===") |
| 121 | |
| 122 | with torch.no_grad(): |
| 123 | predictor.set_image(image_np) |
| 124 | |
| 125 | # Access cached features |
| 126 | features = predictor._features |
| 127 | for k, v in features.items(): |
| 128 | if isinstance(v, torch.Tensor): |
| 129 | save_tensor(f"features_{k}", v) |
| 130 | print(f" features_{k}: {v.shape}") |
| 131 | elif isinstance(v, (list, tuple)): |
| 132 | for i, item in enumerate(v): |
| 133 | if isinstance(item, torch.Tensor): |
| 134 | save_tensor(f"features_{k}_{i}", item) |
| 135 | print(f" features_{k}_{i}: {item.shape}") |
| 136 | |
| 137 | return features |
| 138 | |
| 139 | |
| 140 | def dump_pvs_inference(predictor, image_np, point_coords, point_labels): |