p0x0q commited on
Commit
cb9cb86
·
1 Parent(s): ac38f7f

feat: テキストのスパースエンコーディングを追加

Browse files
Files changed (1) hide show
  1. sample-encoding-sparse.py +25 -0
sample-encoding-sparse.py ADDED
@@ -0,0 +1,25 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import torch
2
+ import torch.nn as nn
3
+ from transformers import AutoModel, AutoTokenizer
4
+
5
+ model_name = "."
6
+ tokenizer = AutoTokenizer.from_pretrained(model_name)
7
+
8
+ # マージされたモデルのロード
9
+ merged_model = AutoModel.from_pretrained(model_name)
10
+ merged_model.load_state_dict(torch.load("merged_pytorch_model.bin"))
11
+
12
+ # テキストのエンコード
13
+ def encode_text(text):
14
+ inputs = tokenizer(text, return_tensors="pt")
15
+ outputs = merged_model(**inputs)
16
+ dense_embeddings = outputs.last_hidden_state
17
+
18
+ # Sparseベクトルへの変換
19
+ sparse_embeddings = merged_model.sparse_linear(dense_embeddings)
20
+ return dense_embeddings
21
+
22
+ # テキストのエンコード例
23
+ text = "こんにちは"
24
+ sparse_embeddings = encode_text(text)
25
+ print(sparse_embeddings)