crested.tl.zoo.borzoi#
- crested.tl.zoo.borzoi(seq_len, num_classes, num_conv_blocks=6, num_transformer_blocks=8, num_transformer_heads=8, target_length=6144, start_filters=512, tower_start_filters=None, filters=1536, pointwise_filters=1920, unet_connections=[5, 6], unet_filters=1536, upsample_conv=True, conv_activation='gelu_approx', transformer_activation='relu', output_activation='softplus', pool_type='max', first_kernel_size=15, kernel_size=5, transformer_dropout=0.2, pointwise_dropout=0.1, bn_sync=False, name='Borzoi')#
Construct an fully replicated Borzoi model.
Note that unlike other CREsted model zoo architectures, this architecture is not suited for predicting individual regions out of the box.
- Parameters:
seq_len (
int
) – Width of the input region. Borzoi default is 524288.num_classes (
int
|Sequence
[int
]) – Number of classes to predict. If an int, creates a single head with num_classes classes. If a list of integers, creates multiple heads in a list.num_conv_blocks (
int
(default:6
)) – Number of convolution blocks to include in the tower, after the stem block.num_transformer_blocks (
int
(default:8
)) – Number of transformer blocks to include in the transformer stack.target_length (
int
(default:6144
)) – The target length in bins to crop to. Default is 6144, cropping away 5120 bins (164kb) on each side.start_filters (
int
(default:512
)) – Starting number of filters for the first DNA-facing block, exponentially increasing towardsfilters
through the conv tower.tower_start_filters (
Optional
[int
] (default:None
)) – Optional: Different number of filters to start the conv tower with after the stem conv. By default, inferred starting from start_filters to filters.filters (
int
(default:1536
)) – Number of filters at the end of the conv tower and in the upsampling.pointwise_filters (
int
|None
(default:1920
)) – Number of filters of the post-transformer/upsampling final pointwise convolution. If None, block is not included.unet_connections (
Sequence
[int
] (default:[5, 6]
)) – Levels in the convolution tower to add U-net skip connections past the transformer tower. 1-indexed, so [5, 6] means after the 5th and 6th block.unet_filters (
int
(default:1536
)) – Number of filters to use for the U-net connection skip blocks.upsample_conv (
bool
(default:True
)) – Whether to include an extra convolution during the upsampling. Used in release Borzoi, removed later.conv_activation (
str
(default:'gelu_approx'
)) – Activation function to use in the conv tower, in the upsampling, and in the final pointwise block.transformer_activation (
str
(default:'relu'
)) – Activation function to use in the feedforward section of the transformer blocks.output_activation (
str
(default:'softplus'
)) – Final activation to use on the output heads, just before predicting the tracks.pool_type (
str
(default:'max'
)) – What kind of pooling type to use, one of ‘max’ or ‘attention’.first_kernel_size (
int
(default:15
)) – Kernel size of the first conv layer, directly interfacing the sequence.kernel_size (
int
(default:5
)) – Kernel size of the convolutions in the conv tower.transformer_dropout (default:
0.2
) – Dropout rate used in the transformer blocks, both MHA and feed-forward.pointwise_dropout (
float
(default:0.1
)) – Dropout rate of the post-transformer final pointwise layer.bn_sync (
bool
(default:False
)) – Whether to use synchronized cross-GPU BatchNormalisations. Default is False to preserve TensorFlow-PyTorch compatibility.
- Return type:
Model
- Returns:
A Keras model.