BERTc-315M / example_load.py
tf-bao's picture
Update inference code and model card
7c03c71 verified
Raw
History Blame Contribute Delete
957 Bytes
"""加载 BERTc 骨干做掩码语言建模。"""
import torch
from model import ModernBertConfig, ModernBertForMLM # noqa: F401
from tokenizer import PieceCharTokenizer
import json
from checkpoint import load_safetensors
def load_bertc(model_dir="."):
with open(f"{model_dir}/config.json") as f:
cfg = ModernBertConfig.from_dict(json.load(f))
model = ModernBertForMLM(cfg)
model.load_state_dict(load_safetensors(f"{model_dir}/model.safetensors"), strict=True)
model.eval()
return model
if __name__ == "__main__":
tok = PieceCharTokenizer(".")
model = load_bertc(".")
text = "北京是中国的首都"
ids = torch.tensor([tok.encode(text)], dtype=torch.long)
ids[0, 2] = tok.mask_token_id # 把"是"盖住
with torch.no_grad():
logits = model(ids)["logits"]
pred = int(logits[0, 2].argmax())
print(f"{text} → 第 3 个字预测为 {tok.id_to_char(pred)!r}")