Translation Equivariant ModelS (TEMS)
See the docs here
Available Models
UNet
Why use these Models
It is surprisingly annoying to make a torch modules that are compatible with
torch.jit.scriptfor easy packaging and sharing. All models in this library are tested for serlializaiton/deserialization withtorch.jit.scriptAll models in this library have some helpful properties:
min_input_shape- the minimum amount of data that can be passed through a modelmin_output_shape- the output shape when given data with shape:min_input_shapecontext- (input_shape-output_shape)equivariant_step- The minimum value by which you must increase the input shape to be able to process without error
All models are translation equivariant when in eval mode and with padding=”valid”
To maintain translation equivariance, we sometimes need to crop more aggressively. This is only done in
evalmode since it is assumed you will not be processing data blockwise during training. Note thatmin_input_shape,min_output_shape, andcontextwill thus all change when the model is switched between modes.This behaviour is explicitly tested and shown to be true s.t. while training, blockwise processing is not the same as full in memmory operations, wheras while in eval mode, this identity holds.
Crops to maintain translation equivariance are minimal to maximize the efficiency of blockwise processing with these models.
Nice simple pure torch implementation. No other dependencies.