自己紹介
データサイエンスを学んでいる、大学4年生です。
最近は、SIGNATEのコンペに4つ参加しながら、東京大学の松尾・岩澤研究室主催のサマースクールを3つ受講し、マナビDXにも参加しています。
Xはこちら→@uki_datascience
背景
今回は、BERTを使うために、Pytorchをインストールした時に起きたトラブルを取り上げます。
起きたこと
BERTを使おうと、Pytorchをインストールしたところ、以下のようなエラーが出ました。
このエラーでは、「"fbgemm.dll"というファイルのロードに失敗した」というエラーのように見えます。確認してみると、エラーコードにあるパスに、"fbgemm.dll"というファイルは確かに存在していました。
OSError Traceback (most recent call last)
Cell In[2], line 2
1 # from transformers import BertTokenizer, BertModel
----> 2 import torch
4 # BERTトークナイザーとモデルのロード
5 tokenizer = BertTokenizer.from_pretrained('bert-base-uncased')
File c:\Users\~~~\Lib\site-packages\torch\__init__.py:148
146 err = ctypes.WinError(ctypes.get_last_error())
147 err.strerror += f' Error loading "{dll}" or one of its dependencies.'
--> 148 raise err
150 kernel32.SetErrorMode(prev_error_mode)
153 def _preload_cuda_deps(lib_folder, lib_name):
OSError: [WinError 126] 指定されたモジュールが見つかりません。 Error loading "c:\Users\~~~\Lib\site-packages\torch\lib\fbgemm.dll" or one of its dependencies.
解決策
いろいろと試してみたのですが、全然解決せず、最終的にこちらの記事にたどり着きました。
この記事では、古いバージョンを指定して、Pytorchをインストールすることで解決したとありました。
起きている現象は同じだったので、早速試してみたところ、無事解決することができました。
実際に僕が試したコマンドはこちらです。
python -m pip install torch==2.1.2 torchvision==0.16.2 torchaudio==2.1.2 --index-url https://download.pytorch.org/whl/cu118
おわりに
今回のエラーが出た時、ChatGPTをひたすら頼っていたのですが、なかなか解決せず、解決するのに数日かかりました。最初からQiitaの記事を探していればすぐに解決できたような気もしますが、ChatGPTには普段からお世話になっているので、これぐらいは許しましょう。この記事が、同じような現象に陥っている方の救いになれば幸いです。