Instructions to use Synthyra/ESMplusplus_large with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use Synthyra/ESMplusplus_large with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("fill-mask", model="Synthyra/ESMplusplus_large", trust_remote_code=True)# Load model directly from transformers import AutoModelForMaskedLM model = AutoModelForMaskedLM.from_pretrained("Synthyra/ESMplusplus_large", trust_remote_code=True, device_map="auto") - Notebooks
- Google Colab
- Kaggle
Update FastPLMs files
Browse files- README.md +54 -12
- fastplms/models.toml +8 -8
- fastplms_bundle.py +0 -0
- modeling_fastplms.py +10 -5
README.md
CHANGED
|
@@ -14,15 +14,16 @@ This checkpoint contains the FastPLMs `ESMC` implementation.
|
|
| 14 |
|
| 15 |
Accepted inputs are amino-acid sequences tokenized to residue IDs.
|
| 16 |
Supported Transformers entry points are `AutoConfig`, `AutoModel`,
|
| 17 |
-
`AutoModelForMaskedLM`
|
|
|
|
| 18 |
|
| 19 |
## Capabilities
|
| 20 |
|
| 21 |
| Feature | Status |
|
| 22 |
| --- | --- |
|
| 23 |
-
| Sequence classification |
|
| 24 |
-
| Token classification |
|
| 25 |
-
| PEFT fine-tuning | Supported pattern:
|
| 26 |
| Embeddings | Supported: shared ordered embedding API |
|
| 27 |
| Test-time training | Supported: low-rank masked-residue adaptation |
|
| 28 |
| Attention variants | Special: SDPA fidelity path; alternate backends have explicit bands |
|
|
@@ -122,6 +123,45 @@ Set `output` and `format="safetensors"` or `"sqlite"` for transactional,
|
|
| 122 |
bounded-memory storage. Resume checks input order, model state, tokenizer
|
| 123 |
policy, backend, dtype, and pooling configuration before it appends data.
|
| 124 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 125 |
## PEFT fine-tuning
|
| 126 |
|
| 127 |
Install the training dependencies. Then attach LoRA to the loaded checkpoint:
|
|
@@ -131,20 +171,22 @@ python -m pip install "datasets>=4.8,<5" "peft>=0.19,<0.20"
|
|
| 131 |
```
|
| 132 |
|
| 133 |
```python
|
| 134 |
-
from peft import LoraConfig, get_peft_model
|
| 135 |
|
| 136 |
peft_model = get_peft_model(
|
| 137 |
-
|
| 138 |
LoraConfig(
|
|
|
|
| 139 |
r=8,
|
| 140 |
lora_alpha=16,
|
| 141 |
target_modules="all-linear",
|
|
|
|
| 142 |
),
|
| 143 |
)
|
| 144 |
```
|
| 145 |
|
| 146 |
-
This checkpoint
|
| 147 |
-
|
| 148 |
All FastPLMs checkpoints follow the Transformers `PreTrainedModel` contract and
|
| 149 |
can use PEFT. The ESM2-specific shipped CLI is an example, not a
|
| 150 |
support boundary. Record the target modules, base revision, data identity, and
|
|
@@ -269,8 +311,8 @@ and
|
|
| 269 |
## Runtime contract
|
| 270 |
|
| 271 |
- Public input: Amino-acid sequences tokenized to residue IDs
|
| 272 |
-
- Advertised AutoClasses: `AutoConfig`, `AutoModel`, `AutoModelForMaskedLM`
|
| 273 |
-
- AutoClass weight status: `AutoConfig` = `FastPLMs extension`, `AutoModel` = `pretrained`, `AutoModelForMaskedLM` = `pretrained`
|
| 274 |
- Attention implementations: `eager`, `sdpa`, `flex_attention`, `flash_attention_2`, `flash_attention_3`
|
| 275 |
- Precision policies: `default`, `fp8` (experimental)
|
| 276 |
- BF16 execution: `static_parameters`
|
|
@@ -284,8 +326,8 @@ and
|
|
| 284 |
## Release record
|
| 285 |
|
| 286 |
- FastPLMs weights: `Synthyra/ESMplusplus_large`
|
| 287 |
-
- Runtime revision: recorded in the built artifact and published commit
|
| 288 |
-
-
|
| 289 |
- Official checkpoint: `biohub/ESMC-600M`
|
| 290 |
- Artifact source: `fast`
|
| 291 |
- State transform: `esmc_to_fastplms_v1`
|
|
|
|
| 14 |
|
| 15 |
Accepted inputs are amino-acid sequences tokenized to residue IDs.
|
| 16 |
Supported Transformers entry points are `AutoConfig`, `AutoModel`,
|
| 17 |
+
`AutoModelForMaskedLM`, `AutoModelForSequenceClassification`,
|
| 18 |
+
`AutoModelForTokenClassification`.
|
| 19 |
|
| 20 |
## Capabilities
|
| 21 |
|
| 22 |
| Feature | Status |
|
| 23 |
| --- | --- |
|
| 24 |
+
| Sequence classification | Supported: base weights with an untrained task head |
|
| 25 |
+
| Token classification | Supported: base weights with an untrained task head |
|
| 26 |
+
| PEFT fine-tuning | Supported pattern: preserve the separately trained `classifier` |
|
| 27 |
| Embeddings | Supported: shared ordered embedding API |
|
| 28 |
| Test-time training | Supported: low-rank masked-residue adaptation |
|
| 29 |
| Attention variants | Special: SDPA fidelity path; alternate backends have explicit bands |
|
|
|
|
| 123 |
bounded-memory storage. Resume checks input order, model state, tokenizer
|
| 124 |
policy, backend, dtype, and pooling configuration before it appends data.
|
| 125 |
|
| 126 |
+
## Downstream prediction
|
| 127 |
+
|
| 128 |
+
The sequence and token prediction AutoClasses use the checkpoint backbone and
|
| 129 |
+
create a new, untrained `classifier`. Sequence labels have shape `(b,)`.
|
| 130 |
+
Residue labels have shape `(b, l)` and use `-100` outside biological positions.
|
| 131 |
+
|
| 132 |
+
```python
|
| 133 |
+
import torch
|
| 134 |
+
from transformers import AutoTokenizer
|
| 135 |
+
from transformers import (
|
| 136 |
+
AutoModelForSequenceClassification,
|
| 137 |
+
AutoModelForTokenClassification,
|
| 138 |
+
)
|
| 139 |
+
|
| 140 |
+
model_id = "Synthyra/ESMplusplus_large"
|
| 141 |
+
sequence_model = AutoModelForSequenceClassification.from_pretrained(
|
| 142 |
+
model_id, num_labels=2, trust_remote_code=True
|
| 143 |
+
).eval()
|
| 144 |
+
token_model = AutoModelForTokenClassification.from_pretrained(
|
| 145 |
+
model_id, num_labels=3, trust_remote_code=True
|
| 146 |
+
).eval()
|
| 147 |
+
tokenizer = AutoTokenizer.from_pretrained(model_id, trust_remote_code=True)
|
| 148 |
+
sequences = ["MSTNPKPQRKTKRNT", "MKTIIALSYIFCLVFA"]
|
| 149 |
+
batch = tokenizer(sequences, padding=True, return_tensors="pt")
|
| 150 |
+
biological = batch["attention_mask"].bool()
|
| 151 |
+
for special_id in tokenizer.all_special_ids:
|
| 152 |
+
biological &= batch["input_ids"].ne(special_id)
|
| 153 |
+
|
| 154 |
+
sequence_labels = torch.zeros(len(sequences), dtype=torch.long)
|
| 155 |
+
token_labels = torch.full_like(batch["input_ids"], -100)
|
| 156 |
+
token_labels[biological] = 0
|
| 157 |
+
|
| 158 |
+
with torch.inference_mode():
|
| 159 |
+
sequence_output = sequence_model(**batch, labels=sequence_labels)
|
| 160 |
+
token_output = token_model(**batch, labels=token_labels)
|
| 161 |
+
print(sequence_output.logits.shape) # (b, 2)
|
| 162 |
+
print(token_output.logits.shape) # (b, l, 3)
|
| 163 |
+
```
|
| 164 |
+
|
| 165 |
## PEFT fine-tuning
|
| 166 |
|
| 167 |
Install the training dependencies. Then attach LoRA to the loaded checkpoint:
|
|
|
|
| 171 |
```
|
| 172 |
|
| 173 |
```python
|
| 174 |
+
from peft import LoraConfig, TaskType, get_peft_model
|
| 175 |
|
| 176 |
peft_model = get_peft_model(
|
| 177 |
+
sequence_model,
|
| 178 |
LoraConfig(
|
| 179 |
+
task_type=TaskType.SEQ_CLS,
|
| 180 |
r=8,
|
| 181 |
lora_alpha=16,
|
| 182 |
target_modules="all-linear",
|
| 183 |
+
modules_to_save=["classifier"],
|
| 184 |
),
|
| 185 |
)
|
| 186 |
```
|
| 187 |
|
| 188 |
+
This checkpoint advertises a classification head. Save the separately trained
|
| 189 |
+
`classifier` with the adapter.
|
| 190 |
All FastPLMs checkpoints follow the Transformers `PreTrainedModel` contract and
|
| 191 |
can use PEFT. The ESM2-specific shipped CLI is an example, not a
|
| 192 |
support boundary. Record the target modules, base revision, data identity, and
|
|
|
|
| 311 |
## Runtime contract
|
| 312 |
|
| 313 |
- Public input: Amino-acid sequences tokenized to residue IDs
|
| 314 |
+
- Advertised AutoClasses: `AutoConfig`, `AutoModel`, `AutoModelForMaskedLM`, `AutoModelForSequenceClassification`, `AutoModelForTokenClassification`
|
| 315 |
+
- AutoClass weight status: `AutoConfig` = `FastPLMs extension`, `AutoModel` = `pretrained`, `AutoModelForMaskedLM` = `pretrained`, `AutoModelForSequenceClassification` = `base weights + untrained task head`, `AutoModelForTokenClassification` = `base weights + untrained task head`
|
| 316 |
- Attention implementations: `eager`, `sdpa`, `flex_attention`, `flash_attention_2`, `flash_attention_3`
|
| 317 |
- Precision policies: `default`, `fp8` (experimental)
|
| 318 |
- BF16 execution: `static_parameters`
|
|
|
|
| 326 |
## Release record
|
| 327 |
|
| 328 |
- FastPLMs weights: `Synthyra/ESMplusplus_large`
|
| 329 |
+
- Runtime revision: recorded separately in the built artifact and published commit
|
| 330 |
+
- Runtime source identities: recorded in `source-record.json`
|
| 331 |
- Official checkpoint: `biohub/ESMC-600M`
|
| 332 |
- Artifact source: `fast`
|
| 333 |
- State transform: `esmc_to_fastplms_v1`
|
fastplms/models.toml
CHANGED
|
@@ -199,7 +199,7 @@ representative = "esmc_small"
|
|
| 199 |
documentation = "docs/models.md#esm-and-esmc"
|
| 200 |
test_tiers = ["check", "compliance", "feature", "artifact", "benchmark"]
|
| 201 |
runtime_paths = ["__init__.py", "registry.py", "runtime.py", "models.toml", "models/__init__.py", "attention", "embeddings", "models/esm_plusplus", "models/ttt.py"]
|
| 202 |
-
auto_map = { AutoConfig = "fastplms.models.esm_plusplus.modeling_esm_plusplus.ESMplusplusConfig", AutoModel = "fastplms.models.esm_plusplus.modeling_esm_plusplus.ESMplusplusModel", AutoModelForMaskedLM = "fastplms.models.esm_plusplus.modeling_esm_plusplus.ESMplusplusForMaskedLM" }
|
| 203 |
|
| 204 |
[families.esm3]
|
| 205 |
architecture = "ESM3"
|
|
@@ -223,7 +223,7 @@ representative = "esm3_small"
|
|
| 223 |
documentation = "docs/models.md#esm3"
|
| 224 |
test_tiers = ["check", "compliance", "feature", "artifact", "benchmark"]
|
| 225 |
runtime_paths = ["__init__.py", "registry.py", "runtime.py", "models.toml", "models/__init__.py", "attention", "embeddings", "models/esm3", "models/ttt.py"]
|
| 226 |
-
auto_map = { AutoConfig = "fastplms.models.esm3.modeling_esm3.FastESM3Config", AutoModel = "fastplms.models.esm3.modeling_esm3.FastESM3Model" }
|
| 227 |
|
| 228 |
[families.e1]
|
| 229 |
architecture = "E1"
|
|
@@ -370,8 +370,8 @@ conversion_provenance = "Input: the pinned native Meta ESMFold checkpoint plus i
|
|
| 370 |
representative = "esmfold"
|
| 371 |
documentation = "docs/models.md#esmfold"
|
| 372 |
test_tiers = ["check", "compliance", "structure", "feature", "artifact", "benchmark"]
|
| 373 |
-
runtime_paths = ["__init__.py", "registry.py", "runtime.py", "models.toml", "models/__init__.py", "attention", "embeddings", "models/_esm_rotary.py", "models/esmfold"]
|
| 374 |
-
auto_map = { AutoConfig = "fastplms.models.esmfold.modeling_fast_esmfold.FastEsmFoldConfig", AutoModel = "fastplms.models.esmfold.modeling_fast_esmfold.FastEsmForProteinFolding" }
|
| 375 |
|
| 376 |
[families.esmfold2]
|
| 377 |
architecture = "ESMFold2"
|
|
@@ -396,8 +396,8 @@ conversion_provenance = "Input: each pinned Biohub ESMFold2 checkpoint and its s
|
|
| 396 |
representative = "esmfold2"
|
| 397 |
documentation = "docs/esmfold2.md"
|
| 398 |
test_tiers = ["check", "compliance", "structure", "feature", "artifact", "benchmark"]
|
| 399 |
-
runtime_paths = ["__init__.py", "registry.py", "runtime.py", "models.toml", "models/__init__.py", "attention", "embeddings", "models/esmfold2", "models/esm_plusplus", "models/ttt.py"]
|
| 400 |
-
auto_map = { AutoConfig = "fastplms.models.esmfold2.configuration_esmfold2.ESMFold2Config", AutoModel = "fastplms.models.esmfold2.modeling_esmfold2.ESMFold2Model" }
|
| 401 |
|
| 402 |
[[models]]
|
| 403 |
id = "esm2_8m"
|
|
@@ -1215,7 +1215,7 @@ official_files = [
|
|
| 1215 |
"config.json=git-sha1:79ed0dc0f867b8f09bfa004d6f77397c2ab9b38d",
|
| 1216 |
"model.safetensors=sha256:01358c317428d38535e3db513cab177336fc0f7fab0d84002e64b7741d5181b3",
|
| 1217 |
]
|
| 1218 |
-
auto_map = { AutoConfig = "fastplms.models.esmfold2.configuration_esmfold2.ESMFold2Config", AutoModel = "fastplms.models.esmfold2.modeling_esmfold2_experimental.ESMFold2ExperimentalModel" }
|
| 1219 |
|
| 1220 |
[[models]]
|
| 1221 |
id = "esmfold2_experimental_fast_cutoff2025"
|
|
@@ -1236,4 +1236,4 @@ official_files = [
|
|
| 1236 |
"config.json=git-sha1:0333d68ddb12ed2f066741dcb801142f466c0a2c",
|
| 1237 |
"model.safetensors=sha256:4e903b740ad6ad704ec60881bfd593e0d6c874a630ffa0f0838276e0b665088f",
|
| 1238 |
]
|
| 1239 |
-
auto_map = { AutoConfig = "fastplms.models.esmfold2.configuration_esmfold2.ESMFold2Config", AutoModel = "fastplms.models.esmfold2.modeling_esmfold2_experimental.ESMFold2ExperimentalModel" }
|
|
|
|
| 199 |
documentation = "docs/models.md#esm-and-esmc"
|
| 200 |
test_tiers = ["check", "compliance", "feature", "artifact", "benchmark"]
|
| 201 |
runtime_paths = ["__init__.py", "registry.py", "runtime.py", "models.toml", "models/__init__.py", "attention", "embeddings", "models/esm_plusplus", "models/ttt.py"]
|
| 202 |
+
auto_map = { AutoConfig = "fastplms.models.esm_plusplus.modeling_esm_plusplus.ESMplusplusConfig", AutoModel = "fastplms.models.esm_plusplus.modeling_esm_plusplus.ESMplusplusModel", AutoModelForMaskedLM = "fastplms.models.esm_plusplus.modeling_esm_plusplus.ESMplusplusForMaskedLM", AutoModelForSequenceClassification = "fastplms.models.esm_plusplus.modeling_esm_plusplus.ESMplusplusForSequenceClassification", AutoModelForTokenClassification = "fastplms.models.esm_plusplus.modeling_esm_plusplus.ESMplusplusForTokenClassification" }
|
| 203 |
|
| 204 |
[families.esm3]
|
| 205 |
architecture = "ESM3"
|
|
|
|
| 223 |
documentation = "docs/models.md#esm3"
|
| 224 |
test_tiers = ["check", "compliance", "feature", "artifact", "benchmark"]
|
| 225 |
runtime_paths = ["__init__.py", "registry.py", "runtime.py", "models.toml", "models/__init__.py", "attention", "embeddings", "models/esm3", "models/ttt.py"]
|
| 226 |
+
auto_map = { AutoConfig = "fastplms.models.esm3.modeling_esm3.FastESM3Config", AutoModel = "fastplms.models.esm3.modeling_esm3.FastESM3Model", AutoModelForSequenceClassification = "fastplms.models.esm3.modeling_esm3.FastESM3ForSequenceClassification", AutoModelForTokenClassification = "fastplms.models.esm3.modeling_esm3.FastESM3ForTokenClassification" }
|
| 227 |
|
| 228 |
[families.e1]
|
| 229 |
architecture = "E1"
|
|
|
|
| 370 |
representative = "esmfold"
|
| 371 |
documentation = "docs/models.md#esmfold"
|
| 372 |
test_tiers = ["check", "compliance", "structure", "feature", "artifact", "benchmark"]
|
| 373 |
+
runtime_paths = ["__init__.py", "registry.py", "runtime.py", "models.toml", "models/__init__.py", "attention", "embeddings", "models/_esm_rotary.py", "models/classification_probe.py", "models/esmfold"]
|
| 374 |
+
auto_map = { AutoConfig = "fastplms.models.esmfold.modeling_fast_esmfold.FastEsmFoldConfig", AutoModel = "fastplms.models.esmfold.modeling_fast_esmfold.FastEsmForProteinFolding", AutoModelForSequenceClassification = "fastplms.models.esmfold.modeling_fast_esmfold.FastEsmForSequenceClassification", AutoModelForTokenClassification = "fastplms.models.esmfold.modeling_fast_esmfold.FastEsmForTokenClassification" }
|
| 375 |
|
| 376 |
[families.esmfold2]
|
| 377 |
architecture = "ESMFold2"
|
|
|
|
| 396 |
representative = "esmfold2"
|
| 397 |
documentation = "docs/esmfold2.md"
|
| 398 |
test_tiers = ["check", "compliance", "structure", "feature", "artifact", "benchmark"]
|
| 399 |
+
runtime_paths = ["__init__.py", "registry.py", "runtime.py", "models.toml", "models/__init__.py", "attention", "embeddings", "models/classification_probe.py", "models/_esm_rotary.py", "models/esmfold2", "models/esm_plusplus", "models/ttt.py"]
|
| 400 |
+
auto_map = { AutoConfig = "fastplms.models.esmfold2.configuration_esmfold2.ESMFold2Config", AutoModel = "fastplms.models.esmfold2.modeling_esmfold2.ESMFold2Model", AutoModelForSequenceClassification = "fastplms.models.esmfold2.modeling_esmfold2_classification.ESMFold2ForSequenceClassification", AutoModelForTokenClassification = "fastplms.models.esmfold2.modeling_esmfold2_classification.ESMFold2ForTokenClassification" }
|
| 401 |
|
| 402 |
[[models]]
|
| 403 |
id = "esm2_8m"
|
|
|
|
| 1215 |
"config.json=git-sha1:79ed0dc0f867b8f09bfa004d6f77397c2ab9b38d",
|
| 1216 |
"model.safetensors=sha256:01358c317428d38535e3db513cab177336fc0f7fab0d84002e64b7741d5181b3",
|
| 1217 |
]
|
| 1218 |
+
auto_map = { AutoConfig = "fastplms.models.esmfold2.configuration_esmfold2.ESMFold2Config", AutoModel = "fastplms.models.esmfold2.modeling_esmfold2_experimental.ESMFold2ExperimentalModel", AutoModelForSequenceClassification = "fastplms.models.esmfold2.modeling_esmfold2_classification.ESMFold2ExperimentalForSequenceClassification", AutoModelForTokenClassification = "fastplms.models.esmfold2.modeling_esmfold2_classification.ESMFold2ExperimentalForTokenClassification" }
|
| 1219 |
|
| 1220 |
[[models]]
|
| 1221 |
id = "esmfold2_experimental_fast_cutoff2025"
|
|
|
|
| 1236 |
"config.json=git-sha1:0333d68ddb12ed2f066741dcb801142f466c0a2c",
|
| 1237 |
"model.safetensors=sha256:4e903b740ad6ad704ec60881bfd593e0d6c874a630ffa0f0838276e0b665088f",
|
| 1238 |
]
|
| 1239 |
+
auto_map = { AutoConfig = "fastplms.models.esmfold2.configuration_esmfold2.ESMFold2Config", AutoModel = "fastplms.models.esmfold2.modeling_esmfold2_experimental.ESMFold2ExperimentalModel", AutoModelForSequenceClassification = "fastplms.models.esmfold2.modeling_esmfold2_classification.ESMFold2ExperimentalForSequenceClassification", AutoModelForTokenClassification = "fastplms.models.esmfold2.modeling_esmfold2_classification.ESMFold2ExperimentalForTokenClassification" }
|
fastplms_bundle.py
CHANGED
|
The diff for this file is too large to render.
See raw diff
|
|
|
modeling_fastplms.py
CHANGED
|
@@ -8,11 +8,12 @@ import sys
|
|
| 8 |
import tempfile
|
| 9 |
from io import BytesIO
|
| 10 |
from pathlib import Path
|
|
|
|
| 11 |
from zipfile import ZIP_DEFLATED, ZipFile
|
| 12 |
|
| 13 |
from .fastplms_bundle import RUNTIME_DATA, RUNTIME_HASH
|
| 14 |
|
| 15 |
-
if RUNTIME_HASH != "
|
| 16 |
raise RuntimeError("FastPLMs runtime identity differs from the bridge.")
|
| 17 |
|
| 18 |
_RUNTIME_TEMPORARIES = []
|
|
@@ -179,10 +180,14 @@ def _install_runtime():
|
|
| 179 |
return package
|
| 180 |
|
| 181 |
_install_runtime()
|
| 182 |
-
|
| 183 |
-
ESMplusplusConfig =
|
| 184 |
ESMplusplusConfig.__module__ = __name__
|
| 185 |
-
ESMplusplusForMaskedLM =
|
| 186 |
ESMplusplusForMaskedLM.__module__ = __name__
|
| 187 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
| 188 |
ESMplusplusModel.__module__ = __name__
|
|
|
|
| 8 |
import tempfile
|
| 9 |
from io import BytesIO
|
| 10 |
from pathlib import Path
|
| 11 |
+
from typing import ClassVar
|
| 12 |
from zipfile import ZIP_DEFLATED, ZipFile
|
| 13 |
|
| 14 |
from .fastplms_bundle import RUNTIME_DATA, RUNTIME_HASH
|
| 15 |
|
| 16 |
+
if RUNTIME_HASH != "65b4cb38129822c36a448e295f77702ee64ca00fcfb9265b8c60f1c3ef169097":
|
| 17 |
raise RuntimeError("FastPLMs runtime identity differs from the bridge.")
|
| 18 |
|
| 19 |
_RUNTIME_TEMPORARIES = []
|
|
|
|
| 180 |
return package
|
| 181 |
|
| 182 |
_install_runtime()
|
| 183 |
+
_module_182 = _import_without_bytecode("fastplms.models.esm_plusplus.modeling_esm_plusplus")
|
| 184 |
+
ESMplusplusConfig = _module_182.ESMplusplusConfig
|
| 185 |
ESMplusplusConfig.__module__ = __name__
|
| 186 |
+
ESMplusplusForMaskedLM = _module_182.ESMplusplusForMaskedLM
|
| 187 |
ESMplusplusForMaskedLM.__module__ = __name__
|
| 188 |
+
ESMplusplusForSequenceClassification = _module_182.ESMplusplusForSequenceClassification
|
| 189 |
+
ESMplusplusForSequenceClassification.__module__ = __name__
|
| 190 |
+
ESMplusplusForTokenClassification = _module_182.ESMplusplusForTokenClassification
|
| 191 |
+
ESMplusplusForTokenClassification.__module__ = __name__
|
| 192 |
+
ESMplusplusModel = _module_182.ESMplusplusModel
|
| 193 |
ESMplusplusModel.__module__ = __name__
|