🚀 kuelumbus/polyBERT
這是 polyBERT:一種化學語言模型,可實現完全由機器驅動的超快速聚合物信息學。polyBERT 可將 PSMILES 字符串映射到 600 維的密集指紋。這些指紋以數值形式表示聚合物的化學結構。有關許可協議,請參閱 LICENSE 文件。
🚀 快速開始
✨ 主要特性
- 這是一個化學語言模型,能夠實現完全由機器驅動的超快速聚合物信息學。
- 可將 PSMILES 字符串映射到 600 維的密集指紋,以數值形式表示聚合物化學結構。
📦 安裝指南
若要使用此模型,需要安裝 sentence-transformers,安裝命令如下:
pip install sentence-transformers
💻 使用示例
基礎用法(Sentence-Transformers)
當你安裝了 sentence-transformers 後,使用該模型會變得很簡單。示例代碼如下:
from sentence_transformers import SentenceTransformer
psmiles_strings = ["[*]CC[*]", "[*]COC[*]"]
polyBERT = SentenceTransformer('kuelumbus/polyBERT')
embeddings = polyBERT.encode(psmiles_strings)
print(embeddings)
高級用法(HuggingFace Transformers)
如果沒有安裝 sentence-transformers,可以按以下方式使用該模型:首先,將輸入數據傳遞給變壓器模型,然後對上下文詞嵌入應用正確的池化操作。示例代碼如下:
from transformers import AutoTokenizer, AutoModel
import torch
def mean_pooling(model_output, attention_mask):
token_embeddings = model_output[0]
input_mask_expanded = attention_mask.unsqueeze(-1).expand(token_embeddings.size()).float()
return torch.sum(token_embeddings * input_mask_expanded, 1) / torch.clamp(input_mask_expanded.sum(1), min=1e-9)
psmiles_strings = ["[*]CC[*]", "[*]COC[*]"]
tokenizer = AutoTokenizer.from_pretrained('kuelumbus/polyBERT')
polyBERT = AutoModel.from_pretrained('kuelumbus/polyBERT')
encoded_input = tokenizer(psmiles_strings, padding=True, truncation=True, return_tensors='pt')
with torch.no_grad():
model_output = polyBERT(**encoded_input)
fingerprints = mean_pooling(model_output, encoded_input['attention_mask'])
print("Fingerprints:")
print(fingerprints)
📚 詳細文檔
- 評估結果:請參閱 https://github.com/Ramprasad-Group/polyBERT 和 arXiv 上的論文。
- 完整模型架構:
SentenceTransformer(
(0): Transformer({'max_seq_length': 512, 'do_lower_case': False}) with Transformer model: DebertaV2Model
(1): Pooling({'word_embedding_dimension': 600, 'pooling_mode_cls_token': False, 'pooling_mode_mean_tokens': True, 'pooling_mode_max_tokens': False, 'pooling_mode_mean_sqrt_len_tokens': False})
)
📄 許可證
請查看 LICENSE 文件中的許可協議。
📖 引用與作者
Kuenneth, C., Ramprasad, R. polyBERT: a chemical language model to enable fully machine-driven ultrafast polymer informatics. Nat Commun 14, 4099 (2023). https://doi.org/10.1038/s41467-023-39868-6