hugohrban's picture
Update README.md
f3c3665 verified
metadata
library_name: transformers
tags:
  - protein
license: bsd-3-clause

ProGen2-small finetuned on 7 protein families:

  • PF00002 - GPCRs
  • PF00042 - Globins
  • PF00125 - Core histones
  • PF00127 - Copper binding proteins
  • PF00257 - Dehydrins
  • PF00262 - Calreticulins
  • PF03668 - P-loop ATPase

Bidirectional model trained on both N -> C and C -> N directions of protein sequences, specified by tokens "1" and "2" respectively.

See my github repo for more information.

Example usage:

from transformers import AutoModelForCausalLM
from tokenizers import Tokenizer
import torch
import torch.nn.functional as F

# load model and tokenizer
model = AutoModelForCausalLM.from_pretrained("hugohrban/progen2-small-mix7-bidi", trust_remote_code=True)
tokenizer = Tokenizer.from_pretrained("hugohrban/progen2-small-mix7-bidi")
tokenizer.no_padding()

# prepare input
prompt = "<|pf00125|>2FDDDVSAVKSTGVSK"
input_ids = torch.tensor(tokenizer.encode(prompt).ids).to(model.device)

# forward pass
logits = model(input_ids).logits

# print output probabilities
next_token_logits = logits[-1, :]
next_token_probs = F.softmax(next_token_logits, dim=-1)
for i in range(tokenizer.get_vocab_size(with_added_tokens=False)):
    print(f"{tokenizer.id_to_token(i)}: {100 * next_token_probs[i].item():.2f} %")