(padded_conv2d, path)
| 68 | save_scalar(out_channels, "n_channels_out", path) |
| 69 | |
| 70 | def save_padded_conv2d(padded_conv2d, path): |
| 71 | pathlib.Path(path).mkdir(parents=True, exist_ok=True) |
| 72 | |
| 73 | # Store conv2d layer weights |
| 74 | orig_padding = padded_conv2d.padding |
| 75 | padded_conv2d.padding = (0, 0) |
| 76 | save_conv2d(padded_conv2d, f"{path}/conv") |
| 77 | padded_conv2d.padding = orig_padding |
| 78 | |
| 79 | # Dimensions: in-channels and out-channels |
| 80 | assert padded_conv2d.groups == 1 |
| 81 | channels = (padded_conv2d.weight.shape[1], padded_conv2d.weight.shape[0]) |
| 82 | save_tensor(to_tuple_tensor(channels), 'channels', path) |
| 83 | |
| 84 | assert len(padded_conv2d.kernel_size) == 1 or padded_conv2d.kernel_size[0] == padded_conv2d.kernel_size[1] |
| 85 | save_scalar(padded_conv2d.kernel_size[0], 'kernel_size', path) |
| 86 | |
| 87 | # Stride |
| 88 | assert not isinstance(padded_conv2d.stride, tuple) or len(padded_conv2d.stride) == 1 |
| 89 | save_scalar(padded_conv2d.stride, 'stride', path) |
| 90 | |
| 91 | # Padding |
| 92 | padding = [padded_conv2d.padding[0], padded_conv2d.padding[1], |
| 93 | padded_conv2d.padding[2], padded_conv2d.padding[3]] |
| 94 | save_tensor(Tensor(padding), 'padding', path) |
| 95 | |
| 96 | |
| 97 | def save_embedding(embedding, path): |
no test coverage detected