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 をインストールします.
これ一行だけ実行すれば大丈夫です.
$ brew install llvm
llvm に関してはまだよく理解していません…
Wikiによると,最適化をする何かだそうです.
そして出来上がったlibomp.dylib へのリンクを作成して,作業完了です.
こちらも一行のみ実行で大丈夫です.
$ ln -s /usr/local/opt/llvm/lib/libomp.dylib /usr/local/lib/libomp.dylib
これで無事にimportができるようになりました!