ptls.nn.pb
All classes from ptls.nn.pb also available in ptls.nn
All classes in this module support PaddedBatch as input and output.
Many modules extend torch.nn classes.
Inherited layers
Some layers are inherited from the original classes with forward reimplement. Original forward process x.payload.
Result are packed to PaddedBatch. x.seq_lens passed to output PaddedBatch.
PB-layers keep original class behavioral.
Example:
x = PaddedBatch(torch.randn(4, 12, 8), torch.LongTensor([3, 12, 8]))
model = PBLinear(8, 5)
y = model(x)
assert y.payload.size() == (4, 12, 5)
help(PBLinear)
PB-layers can be used with other layers in torch.nn.Sequential
x = PaddedBatch(torch.randn(4, 12, 8), torch.LongTensor([3, 12, 8]))
model = torch.nn.Sequential(
PBLinear(8, 5),
PBReLU(),
PBLinear(5, 10),
)
y = model(x)
assert y.payload.size() == (4, 12, 10)
Class mapping
| Pb layer | Parent Layer |
|---|---|
| PBLinear | torch.nn.Linear |
| PBLayerNorm | torch.nn.LayerNorm |
| PBReLU | torch.nn.ReLU |
| PBL2Norm | ptls.nn.L2NormEncoder |
Classes
See docstrings for classes.
ptls.nn.PBLinearptls.nn.PBLayerNormptls.nn.PBL2Normptls.nn.PBReLUptls.nn.PBL2Norm