flowformer / configuration_flowformer.py
matth's picture
Upload Flowformer
133b0ea
from transformers import PretrainedConfig
class FlowformerConfig(PretrainedConfig):
r"""
This is the configuration class to store the configuration of a `Flowformer`. It is used to instantiate an
Flowformer model according to the specified arguments, defining the model architecture. Instantiating a configuration
with the defaults will yield a similar configuration to that of out model for ALL data (https://arxiv.org/abs/2108.10072).
Configuration objects inherit from [`PretrainedConfig`] and can be used to control the model outputs. Read the
documentation from [`PretrainedConfig`] for more information.
Args:
dim_hidden (`int`, *optional*, defaults to 32):
The dimensionality of the hidden states. dim_hidden must be divisible by num_heads i.e. dim_hidden%num_heads = 0.
num_heads (`int`, *optional*, defaults to 4):
The number of attention heads.
num_inds (`int`, *optional*, defaults to 32):
The number of inducing points.
hidden_layers (`int`, *optional*, defaults to 3):
The number of hidden layers.
layer_norm (`bool`, *optional*, defaults to True):
Whether to apply layer normalization.
dim_input (`int`, *optional*, defaults to 11):
The dimensionality of the input.
markers (`list`, *optional*, defaults to ["TIME", "FSC-A", "FSC-W", "SSC-A", "CD20", "CD10", "CD45", "CD34", "CD19", "CD38", "SY41"]):
The list of markers.
"""
def __init__(self,
dim_hidden: int=32,
num_heads: int=4,
num_inds: int=16,
hidden_layers: int=3,
layer_norm: bool=True,
dim_input: int=11,
markers: list=["TIME", "FSC-A", "FSC-W", "SSC-A", "CD20", "CD10", "CD45", "CD34", "CD19", "CD38", "SY41"],
**kwargs
):
assert dim_input == len(markers), "dim_input must be equal to the number of markers"
self.dim_hidden = dim_hidden
self.num_heads = num_heads
self.num_inds = num_inds
self.hidden_layers = hidden_layers
self.layer_norm = layer_norm
self.dim_input = dim_input
self.markers = markers
super().__init__(**kwargs)