DNN 用途向けの高レベルなトークナイザラッパー。続き...
#include <opencv2/dnn/dnn.hpp>
|
| | Tokenizer () |
| | 指定したメソッド(デフォルトは BPE)でトークナイザを構築する。BPE メソッドでは、通常 Tokenizer::load() を呼び出してモデルデータを初期化する。
|
| |
| std::string | decode (const std::vector< int > &tokens) |
| |
| std::vector< int > | encode (const std::string &text) |
| | UTF-8 テキストをトークン ID にエンコードする(特殊トークンは現在無効)。
|
| |
DNN 用途向けの高レベルなトークナイザラッパー。
LLM 向けにトークンをエンコード・デコードするシンプルな API を提供する。モデルは Tokenizer::load() で読み込む。
std::vector<int> ids = tok.
encode(
"hello world");
std::string text = tok.
decode(ids);
High-level tokenizer wrapper for DNN usage.
Definition dnn.hpp:2076
std::string decode(const std::vector< int > &tokens)
static Tokenizer load(CV_WRAP_FILE_PATH const std::string &model_config)
Load a tokenizer from a model directory.
std::vector< int > encode(const std::string &text)
Encode UTF-8 text to token ids (special tokens currently disabled).
Definition all_layers.hpp:47
◆ Tokenizer()
| cv::dnn::Tokenizer::Tokenizer |
( |
| ) |
|
◆ decode()
| std::string cv::dnn::Tokenizer::decode |
( |
const std::vector< int > & | tokens | ) |
|
| Python: |
|---|
| cv.dnn.Tokenizer.decode( | tokens | ) -> | retval |
◆ encode()
| std::vector< int > cv::dnn::Tokenizer::encode |
( |
const std::string & | text | ) |
|
| Python: |
|---|
| cv.dnn.Tokenizer.encode( | text | ) -> | retval |
UTF-8 テキストをトークン ID にエンコードする(特殊トークンは現在無効)。
空の許可特殊トークン集合を指定して、内部の CoreBPE::encode を呼び出す。
- 引数
-
- 戻り値
- トークン ID のベクトル(利便性のため 32 ビット ID を int に縮小している)。
◆ load()
| Python: |
|---|
| cv.dnn.Tokenizer.load( | model_config | ) -> | retval |
| cv.dnn.Tokenizer_load( | model_config | ) -> | retval |
モデルディレクトリからトークナイザを読み込む。
ディレクトリに次のものが含まれていることを想定している:
- 値が "gpt2" または "gpt4" の
model_type フィールドを持つ config.json。
- 対応するモデルファミリで生成された
tokenizer.json。
この引数はパスのプレフィックスである。この関数はファイル名を直接連結する(例: model_dir + "config.json")ため、model_dir は適切なパス区切り文字で終わっていなければならない。
- 引数
-
| model_config | モデルの config.json へのパス。 |
- 戻り値
- 使用可能な状態の Tokenizer。ファイルが見つからない場合や
model_type がサポートされていない場合は cv::Exception をスローする。
このクラス詳解は次のファイルから抽出されました: