6
0

import torchのOSErrorが解決できた話

Posted at

自己紹介

データサイエンスを学んでいる、大学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には普段からお世話になっているので、これぐらいは許しましょう。この記事が、同じような現象に陥っている方の救いになれば幸いです。

6
0
6

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
0