文系と理系の交差点

文系と理系の交差点

文系と理系を行ったりきたりして生活しているエンジニアブログ

Pytorch import 時にエラーが出た時の対処法

f:id:Cardinal_Moon:20201003130143p:plain


Pytorchを使おうとしたら,意味が分からないエラーに遭遇したので,
備忘録として対処法を綴っていきます.

対象のエラーは以下の通りです.

import torch
Traceback (most recent call last):
File “”, line 1, in
File “/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/torch/__init__.py”, line 79, in
from torch._C import *
ImportError: dlopen(/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/torch/_C.cpython-37m-darwin.so, 9): Library not loaded: /usr/local/opt/libomp/lib/libomp.dylib
Referenced from: /Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/torch/lib/libshm.dylib
Reason: image not found

 DLLの処理の時にリンク先が無いと言うエラーの模様.
確かに libomp.dylib と言うファイルがないことが発覚.

使用していた環境は,

でした.

対処方法

pytorchを再インストールしましたが,改善しなかったので,libomp.dylib ファイル自体をどうにかしようという方針をとりました.

下記のブログを参考に,コマンドでlibomp.dylib をインストールします.

qiita.com

これ一行だけ実行すれば大丈夫です.

$ brew install llvm


llvm に関してはまだよく理解していません…
Wikiによると,最適化をする何かだそうです.

ja.wikipedia.org

そして出来上がったlibomp.dylib へのリンクを作成して,作業完了です.
こちらも一行のみ実行で大丈夫です.

$ ln -s /usr/local/opt/llvm/lib/libomp.dylib /usr/local/lib/libomp.dylib


これで無事にimportができるようになりました!

参考