|
import transformers |
|
|
|
from .backbone import MyBackbone |
|
|
|
|
|
class MyModelConfig(transformers.PretrainedConfig): |
|
|
|
model_type = "my_model" |
|
auto_map = { |
|
"AutoConfig": "modeling.MyModelConfig", |
|
"AutoModel": "modeling.MyModel", |
|
} |
|
|
|
def __init__( |
|
self, |
|
num_layers: int = 2, |
|
input_dim: int = 2, |
|
hidden_dim: int = 128, |
|
output_dim: int = 2, |
|
**kwargs |
|
): |
|
super().__init__(**kwargs) |
|
self.num_layers = num_layers |
|
self.input_dim = input_dim |
|
self.hidden_dim = hidden_dim |
|
self.output_dim = output_dim |
|
|
|
class MyModel(transformers.PreTrainedModel): |
|
|
|
config_class = MyModelConfig |
|
|
|
def __init__(self, config: MyModelConfig): |
|
super().__init__(config) |
|
self.config = config |
|
self.backbone = MyBackbone( |
|
num_layers=config.num_layers, |
|
input_dim=config.input_dim, |
|
hidden_dim=config.hidden_dim, |
|
output_dim=config.output_dim, |
|
) |
|
|
|
def forward(self, inputs): |
|
|
|
outputs = self.backbone(inputs) |
|
return outputs |
|
|