AIDO.RNA-650M / README.md
ShuxianZou's picture
Update README.md
fa05b4e verified
|
raw
history blame
1.94 kB
## AIDO.RNA-650M
AIDO.RNA-650M is an RNA foundation model trained on 42 million non-coding RNA sequences at single-nucleotide resolution.
## How to Use
### Build any downstream models from this backbone
#### Embedding
```python
from genbio_finetune.tasks import Embed
model = Embed.from_config({"model.backbone": "rnafm_650m"}).eval()
collated_batch = model.collate({"sequences": ["ACGT", "AGCT"]})
embedding = model(collated_batch)
print(embedding.shape)
print(embedding)
```
#### Sequence Level Classification
```python
import torch
from genbio_finetune.tasks import SequenceClassification
model = SequenceClassification.from_config({"model.backbone": "rnafm_650m", "model.n_classes": 2}).eval()
collated_batch = model.collate({"sequences": ["ACGT", "AGCT"]})
logits = model(collated_batch)
print(logits)
print(torch.argmax(logits, dim=-1))
```
#### Token Level Classification
```python
import torch
from genbio_finetune.tasks import TokenClassification
model = TokenClassification.from_config({"model.backbone": "rnafm_650m", "model.n_classes": 3}).eval()
collated_batch = model.collate({"sequences": ["ACGT", "AGCT"]})
logits = model(collated_batch)
print(logits)
print(torch.argmax(logits, dim=-1))
```
#### Regression
```python
from genbio_finetune.tasks import SequenceRegression
model = SequenceRegression.from_config({"model.backbone": "rnafm_650m"}).eval()
collated_batch = model.collate({"sequences": ["ACGT", "AGCT"]})
logits = model(collated_batch)
print(logits)
```
#### Or use our one-liner CLI to finetune or evaluate any of the above!
```
gbft fit --model SequenceClassification --model.backbone rnafm_650m --data SequenceClassification --data.path <hf_or_local_path_to_your_dataset>
gbft test --model SequenceClassification --model.backbone rnafm_650m --data SequenceClassification --data.path <hf_or_local_path_to_your_dataset>
```
For more information, visit: [Model Generator](https://github.com/genbio-ai/modelgenerator)