mambular.base_models#
- class mambular.base_models.BaseModel(*args: Any, **kwargs: Any)[源代码]#
-
- load_model(path, device='cpu')[源代码]#
从给定路径加载模型参数。
- 参数:
path (str) – 加载模型参数的路径。
device (str, optional) – 用于映射模型参数的设备,默认为 ‘cpu’。
- log_parameters(logger=None)[源代码]#
记录超参数和模型参数。
- 参数:
logger (logging.Logger, optional) – 记录器实例以记录参数,默认为 None。
- class mambular.base_models.TaskModel(model_class, config, cat_feature_info, num_feature_info, num_classes=1, lss=False, family=None, loss_fct=None, **kwargs)[源代码]#
用于训练和评估模型的 PyTorch Lightning 模块。
- 参数:
model_class (Type[nn.Module]) – 要实例化和训练的模型类。
config (dataclass) – 包含模型超参数的配置数据类。
loss_fn (callable) – 训练和评估过程中使用的损失函数。
lr (float, optional) – 优化器的学习率(默认值为1e-3)。
num_classes (int, optional) – 分类任务的类别数量(默认是 1)。
lss (bool, optional) – 用于额外损失配置的自定义标志(默认值为 False)。
**kwargs (dict) – 附加的关键字参数。
- compute_loss(predictions, y_true)[源代码]#
计算给定预测值和真实标签的损失。
- 参数:
predictions (Tensor) – 模型预测。
y_true (Tensor) – 真实标签。
- 返回:
计算的损失。
- 返回类型:
Tensor
- forward(num_features, cat_features)[源代码]#
通过模型的前向传递。
- 参数:
*args (tuple) – 传递给模型前向方法的位置参数。
**kwargs (dict) – 传递给模型前向方法的关键字参数。
- 返回:
模型输出。
- 返回类型:
Tensor
- test_step(batch, batch_idx)[源代码]#
单一批次的测试步骤。
- 参数:
batch (tuple) – 包含数值特征、分类特征和标签的数据批次。
batch_idx (int) – 批次的索引。
- 返回:
测试损失。
- 返回类型:
Tensor
- class mambular.base_models.Mambular(cat_feature_info, num_feature_info, num_classes=1, config=DefaultMambularConfig(lr=0.0001, lr_patience=10, weight_decay=1e-06, lr_factor=0.1, d_model=64, n_layers=4, expand_factor=2, bias=False, d_conv=4, conv_bias=True, dropout=0.0, dt_rank='auto', d_state=128, dt_scale=1.0, dt_init='random', dt_max=0.1, dt_min=0.0001, dt_init_floor=0.0001, norm='LayerNorm', activation=torch.nn.SiLU, embedding_activation=torch.nn.Identity, head_layer_sizes=(), head_dropout=0.5, head_skip_layers=False, head_activation=torch.nn.SELU, head_use_batch_norm=False, layer_norm_after_embedding=False, pooling_method='avg', bidirectional=False, use_learnable_interaction=False, use_cls=False, shuffle_embeddings=False, layer_norm_eps=1e-05, AD_weight_decay=True, BC_layer_norm=False, cat_encoding='int'), **kwargs)[源代码]#
一个利用 Mamba 架构和各种归一化技术的 PyTorch 模型,用于任务。
- 参数:
cat_feature_info (dict) – 包含分类特征信息的字典。
num_feature_info (dict) – 包含有关数值特征信息的字典。
num_classes (int, optional) – 输出类的数量(默认是 1)。
config (DefaultMambularConfig, optional) – 包含模型默认超参数的配置对象(默认是 DefaultMambularConfig())。
**kwargs (dict) – 附加的关键字参数。
- lr#
学习率。
- 类型:
浮动
- lr_patience#
学习率调度器的耐心。
- 类型:
整数
- weight_decay#
优化器的权重衰减。
- 类型:
浮动
- lr_factor#
学习率将减少的倍数。
- 类型:
浮动
- pooling_method#
特征池化方法。
- 类型:
str
- cat_feature_info#
包含分类特征信息的字典。
- 类型:
dict
- num_feature_info#
包含有关数值特征信息的字典。
- 类型:
dict
- embedding_activation#
嵌入的激活函数。
- 类型:
可调用
- mamba#
Mamba 架构组件。
- 类型:
Mamba
- norm_f#
归一化层。
- 类型:
nn.Module
- num_embeddings#
数值特征嵌入的模块列表。
- 类型:
nn.ModuleList
- cat_embeddings#
分类特征嵌入的模块列表。
- 类型:
nn.ModuleList
- cls_token#
类令牌参数。
- 类型:
nn.Parameter
- embedding_norm#
如果指定,则在嵌入后应用层归一化。
- 类型:
nn.Module, 可选
- class mambular.base_models.MLP(cat_feature_info, num_feature_info, num_classes=1, config=DefaultMLPConfig(lr=0.0001, lr_patience=10, weight_decay=1e-06, lr_factor=0.1, layer_sizes=(256, 128, 32), activation=torch.nn.SELU, skip_layers=False, dropout=0.5, norm=None, use_glu=False, skip_connections=False, batch_norm=False, layer_norm=False, use_embeddings=False, embedding_activation=torch.nn.Identity, layer_norm_after_embedding=False, d_model=32), **kwargs)[源代码]#
- class mambular.base_models.ResNet(cat_feature_info, num_feature_info, num_classes=1, config=DefaultResNetConfig(lr=0.0001, lr_patience=10, weight_decay=1e-06, lr_factor=0.1, layer_sizes=(256, 128, 32), activation=torch.nn.SELU, skip_layers=False, dropout=0.5, norm=None, use_glu=False, skip_connections=True, batch_norm=True, layer_norm=False, num_blocks=3, use_embeddings=False, embedding_activation=torch.nn.Identity, layer_norm_after_embedding=False, d_model=32), **kwargs)[源代码]#
- class mambular.base_models.FTTransformer(cat_feature_info, num_feature_info, num_classes=1, config=DefaultFTTransformerConfig(lr=0.0001, lr_patience=10, weight_decay=1e-06, lr_factor=0.1, d_model=128, n_layers=4, n_heads=8, attn_dropout=0.2, ff_dropout=0.1, norm='LayerNorm', activation=torch.nn.SELU, embedding_activation=torch.nn.Identity, head_layer_sizes=(), head_dropout=0.5, head_skip_layers=False, head_activation=torch.nn.SELU, head_use_batch_norm=False, layer_norm_after_embedding=False, pooling_method='cls', norm_first=False, bias=True, transformer_activation=torch.nn.Module, layer_norm_eps=1e-05, transformer_dim_feedforward=256, cat_encoding='int'), **kwargs)[源代码]#
一个利用Transformer架构和各种归一化技术的PyTorch模型,适用于多种任务。
- 参数:
cat_feature_info (dict) – 包含分类特征信息的字典。
num_feature_info (dict) – 包含有关数值特征信息的字典。
num_classes (int, optional) – 输出类的数量(默认是 1)。
config (DefaultFTTransformerConfig, optional) – 包含模型默认超参数的配置对象(默认是 DefaultMambularConfig())。
**kwargs (dict) – 附加的关键字参数。
- lr#
学习率。
- 类型:
浮动
- lr_patience#
学习率调度器的耐心。
- 类型:
整数
- weight_decay#
优化器的权重衰减。
- 类型:
浮动
- lr_factor#
学习率将减少的倍数。
- 类型:
浮动
- pooling_method#
特征池化方法。
- 类型:
str
- cat_feature_info#
包含分类特征信息的字典。
- 类型:
dict
- num_feature_info#
包含有关数值特征信息的字典。
- 类型:
dict
- embedding_activation#
嵌入的激活函数。
- 类型:
可调用
- encoder#
N 个编码器层的堆栈
- 类型:
可调用
- norm_f#
归一化层。
- 类型:
nn.Module
- num_embeddings#
数值特征嵌入的模块列表。
- 类型:
nn.ModuleList
- cat_embeddings#
分类特征嵌入的模块列表。
- 类型:
nn.ModuleList
- cls_token#
类令牌参数。
- 类型:
nn.Parameter
- embedding_norm#
如果指定,则在嵌入后应用层归一化。
- 类型:
nn.Module, 可选
- class mambular.base_models.TabTransformer(cat_feature_info, num_feature_info, num_classes=1, config=DefaultTabTransformerConfig(lr=0.0001, lr_patience=10, weight_decay=1e-06, lr_factor=0.1, d_model=128, n_layers=4, n_heads=8, attn_dropout=0.2, ff_dropout=0.1, norm='LayerNorm', activation=torch.nn.SELU, embedding_activation=torch.nn.Identity, head_layer_sizes=(), head_dropout=0.5, head_skip_layers=False, head_activation=torch.nn.SELU, head_use_batch_norm=False, layer_norm_after_embedding=False, pooling_method='avg', norm_first=True, bias=True, transformer_activation=torch.nn.Module, layer_norm_eps=1e-05, transformer_dim_feedforward=512, cat_encoding='int'), **kwargs)[源代码]#
一个利用Transformer架构和各种归一化技术的PyTorch模型,适用于多种任务。
- 参数:
cat_feature_info (dict) – 包含分类特征信息的字典。
num_feature_info (dict) – 包含有关数值特征信息的字典。
num_classes (int, optional) – 输出类的数量(默认是 1)。
config (DefaultFTTransformerConfig, optional) – 包含模型默认超参数的配置对象(默认是 DefaultMambularConfig())。
**kwargs (dict) – 附加的关键字参数。
- lr#
学习率。
- 类型:
浮动
- lr_patience#
学习率调度器的耐心。
- 类型:
整数
- weight_decay#
优化器的权重衰减。
- 类型:
浮动
- lr_factor#
学习率将减少的倍数。
- 类型:
浮动
- pooling_method#
特征池化方法。
- 类型:
str
- cat_feature_info#
包含分类特征信息的字典。
- 类型:
dict
- num_feature_info#
包含有关数值特征信息的字典。
- 类型:
dict
- embedding_activation#
嵌入的激活函数。
- 类型:
可调用
- encoder#
N 个编码器层的堆栈
- 类型:
可调用
- norm_f#
归一化层。
- 类型:
nn.Module
- num_embeddings#
数值特征嵌入的模块列表。
- 类型:
nn.ModuleList
- cat_embeddings#
分类特征嵌入的模块列表。
- 类型:
nn.ModuleList
- cls_token#
类令牌参数。
- 类型:
nn.Parameter
- embedding_norm#
如果指定,则在嵌入后应用层归一化。
- 类型:
nn.Module, 可选