| 145 | return L |
| 146 | |
| 147 | def safe_state(silent): |
| 148 | old_f = sys.stdout |
| 149 | class F: |
| 150 | def __init__(self, silent): |
| 151 | self.silent = silent |
| 152 | |
| 153 | def write(self, x): |
| 154 | if not self.silent: |
| 155 | if x.endswith("\n"): |
| 156 | old_f.write(x.replace("\n", " [{}]\n".format(str(datetime.now().strftime("%d/%m %H:%M:%S"))))) |
| 157 | else: |
| 158 | old_f.write(x) |
| 159 | |
| 160 | def flush(self): |
| 161 | old_f.flush() |
| 162 | |
| 163 | sys.stdout = F(silent) |
| 164 | |
| 165 | random.seed(0) |
| 166 | np.random.seed(0) |
| 167 | torch.manual_seed(0) |
| 168 | torch.cuda.set_device(torch.device("cuda:0")) |
| 169 | |
| 170 | def knn(x, src, k, transpose=False): |
| 171 | if transpose: |