Docker で ginza electra をインストールしようとしたら、苦労した。
内容:表題通り
あくまで、この記事ではロードが成功することを目標にしています。
使っているうちに不整合が起きる可能性がありますが、すべての行為の責任は読者にあるものとします。
コンパイルできない
ja-ginza-electraをインストールしようとしたところ、以下のエラーが出ました。
copying py_src/tokenizers/tools/visualizer-styles.css -> build/lib.l
inux-x86_64-cpython-312/tokenizers/tools
running build_ext
running build_rust
error: can't find Rust compiler
Rustのインストールを試したが解決できず。
原因はtokenizersのバージョンに(原因は調べていないですが)相性があるようです。
とりあえず、パッケージをダウンロードしてきて、requirements.txtに記載されているspacy-transformer
の上限を無くしたところ、pip install
は通るようになりました。
ロードできない
spacy.load('ja_ginza_electra')としてモデルを読み込もうとするとエラーが出ます。こちらはTransformers由来で、ginza_transformers/layers/hf_shim_custom.py の124行目に, strict=False
を加えたところ動いた。
transformer.load_state_dict(torch.load(filelike, map_location=map_location), strict=False)