(batch: list)
| 168 | |
| 169 | |
| 170 | def collate_tensors(batch: list) -> torch.Tensor: |
| 171 | dims = batch[0].dim() |
| 172 | max_size = [max([b.size(i) for b in batch]) for i in range(dims)] |
| 173 | size = (len(batch), ) + tuple(max_size) |
| 174 | canvas = batch[0].new_zeros(size=size) |
| 175 | for i, b in enumerate(batch): |
| 176 | sub_tensor = canvas[i] |
| 177 | for d in range(dims): |
| 178 | sub_tensor = sub_tensor.narrow(d, 0, b.size(d)) |
| 179 | sub_tensor.add_(b) |
| 180 | return canvas |
| 181 | |
| 182 | |
| 183 | def lengths_to_mask(lengths: list[int], |
no outgoing calls
no test coverage detected