Skip to content

Commit

Permalink
Fix: オフライン環境で BERT モデルのロードに1分余計に待たされる問題を修正
Browse files Browse the repository at this point in the history
BERT モデルのロード時にリビジョンを指定しない場合毎回 Hugging Face への通信が発生し、オフライン環境では 60 秒でタイムアウトするまで待たされることに今更気づいた…
明示的にコミットハッシュでリビジョンを指定したことで、オンライン環境でもロード時間が短縮されるメリットもある
  • Loading branch information
tsukumijima committed Jan 8, 2025
1 parent a72ec77 commit 434f42a
Showing 1 changed file with 4 additions and 0 deletions.
4 changes: 4 additions & 0 deletions voicevox_engine/tts_pipeline/style_bert_vits2_tts_engine.py
Original file line number Diff line number Diff line change
Expand Up @@ -149,18 +149,22 @@ def __init__(
# 音声合成に必要な BERT モデル・トークナイザーを読み込む
## 最新のモデルがまだローカルにキャッシュされていない場合は、自動的にネットワークからダウンロードされる
## 一度ロードしておけば、同じプロセス内でグローバルに保持される
## リビジョンを指定しない場合毎回 Hugging Face への通信が発生し、オフライン環境では 60 秒でタイムアウトするまで待たされるので、
## 明示的にコミットハッシュでリビジョンを指定している (こうすることで、オンライン環境でもロード時間が短縮されるメリットもある)
start_time = time.time()
logger.info("Loading BERT model and tokenizer...")
onnx_bert_models.load_model(
language=Languages.JP,
pretrained_model_name_or_path="tsukumijima/deberta-v2-large-japanese-char-wwm-onnx",
onnx_providers=self.onnx_providers,
cache_dir=str(self.BERT_MODEL_CACHE_DIR),
revision="d701ec67708287b20d2063270f6b535e6eed09ab",
)
onnx_bert_models.load_tokenizer(
language=Languages.JP,
pretrained_model_name_or_path="tsukumijima/deberta-v2-large-japanese-char-wwm-onnx",
cache_dir=str(self.BERT_MODEL_CACHE_DIR),
revision="d701ec67708287b20d2063270f6b535e6eed09ab",
)
logger.info(
f"BERT model and tokenizer loaded. ({time.time() - start_time:.2f}s)"
Expand Down

0 comments on commit 434f42a

Please sign in to comment.