Pytorch: PyTorchをインポートできません。libomp.dylibをロードできません。

作成日 2019年05月01日  ·  27コメント  ·  ソース: pytorch/pytorch

🐛バグ

PyTorchをインストールしようとしましたが、使用できません。 ダイナミックライブラリlibomp.dylibをリンクできません

再現するには

動作を再現する手順:

  1. pipenvインストールトーチtorchvision
  2. from torch.utils.data import Dataset
Traceback (most recent call last):
  File "/Users/kaspersapala/Documents/Airly/new-pollution-forecast/Datasets/__init__.py", line 3, in <module>
    from torch.utils.data import Dataset
  File "/Users/kaspersapala/.local/share/virtualenvs/new-pollution-forecast-BSetKF9E/lib/python3.7/site-packages/torch/__init__.py", line 79, in <module>
    from torch._C import *
ImportError: dlopen(/Users/kaspersapala/.local/share/virtualenvs/new-pollution-forecast-BSetKF9E/lib/python3.7/site-packages/torch/_C.cpython-37m-darwin.so, 9): Library not loaded: /usr/local/opt/libomp/lib/libomp.dylib
  Referenced from: /Users/kaspersapala/.local/share/virtualenvs/new-pollution-forecast-BSetKF9E/lib/python3.7/site-packages/torch/lib/libshm.dylib
  Reason: image not found

予想される行動

PyTorchを使用およびインポートできる

環境

  • PyTorchバージョン(例:1.0):1.1.0
  • OS(Linuxなど):Mac OS Mojave
  • PyTorchのインストール方法( condapip 、ソース):pipenv
  • Pythonバージョン:3.7.1
high priority binaries build triaged

最も参考になるコメント

brew install libompは問題を解決します。

全てのコメント27件

brew install libompは問題を解決します。

cc @JerryShih

cc @ pjh5 @kostmo

brew install libompは問題を解決します。

@ezyang
pytorch pipのインストールにlibompの依存関係を追加するにはどうすればよいですか?

pytorchに依存するすべてのライブラリはwheelパッケージにバックアップされますか?
はいの場合、次のコードのようなlibompファイルを追加します: https

他の依存ライブラリはどうですか? それらはすべてthird_partyフォルダーにあり、ソースからビルドされていますか?

pipはbrewについて何も知りません。パッケージをbrewインストールするように依頼することはできません。 また、この解決策は問題を「解決」しますが、この依存関係がどのようになったかをよりよく理解したいと思います(特に、醸造ライブラリに依存するバイナリを構築するのはなぜですか?それは悪いことです)。

エンドユーザーにライブラリがインストールされていると想定できない場合は、バイナリとともにライブラリを配布します。 ただし、libomp.dylibに対してこれを行う必要があるかどうかはわかりません。 cc @soumith

これは修正が必要なものです。 バイナリの修正と再アップロードを見てみましょう。
問題は、macos CIがここにlibompをインストールすることです: https

バイナリのこの依存関係を削除できます。 すぐにPRを出します

brew installlibompは問題を解決します
これは私の問題を解決します

私は@ezyangに同意します

  • 明確にするために、解決策はbrew install libompステップを削除し、libompのプラットフォーム固有のライブラリ(.dylib、.soなど)を正しくパッケージ化することでしたか? あれは正しいですか?

  • この修正で毎晩最新のものを入手したい場合...それはpip install torch_nightly -f blah.htmlますか?

@ruohoruotsiそれはすべて正しい

参考までに:macportsを使用している場合sudo ln -s /opt/local/lib/libomp/libomp.dylib/usr/local/opt/libomp/lib/ sudo ln -s /opt/local/lib/libomp/libomp.dylibを使用してシンボリックリンクを作成することで問題を回避できます。

参考までに:macportsを使用している場合sudo ln -s /opt/local/lib/libomp/libomp.dylib/usr/local/opt/libomp/lib/ sudo ln -s /opt/local/lib/libomp/libomp.dylibを使用してシンボリックリンクを作成することで問題を回避できます。

この問題は、/ usr / local / opt /をチェックするだけでなく、システムからライブラリを検索することでPyTorchから修正する必要があります。

brew install libompは問題を解決します。

うまくいきます!

pytorchを1.0.1から1.1にアップグレードしようとすると、同じ問題が発生し、このスレッドが見つかりました

Linuxサーバーでのアップデートは正常に機能しましたが、私のMacBook(OSX)では機能しませんでした

brew install libompを試しましたが、brew式が見つからなかったため、問題は修正されず、トーチを再度インポートできるようにするには、OSXで1.0.1にダウングレードする必要がありました。

pytorchのpipインストールとlibompのbrewインストールの両方に関して同じ問題を抱えている人はいますか?

@soumith

バイナリの修正と再アップロードを見てみましょう。

これを行う計画はまだありますか、それとも新しいバイナリリリースは次のPyTorchリリースを待つ予定ですか?

pytorchを1.0.1から1.1にアップグレードしようとすると、同じ問題が発生し、このスレッドが見つかりました

Linuxサーバーでのアップデートは正常に機能しましたが、私のMacBook(OSX)では機能しませんでした

brew install libompを試しましたが、brew式が見つからなかったため、問題は修正されず、トーチを再度インポートできるようにするには、OSXで1.0.1にダウングレードする必要がありました。

pytorchのpipインストールとlibompのbrewインストールの両方に関して同じ問題を抱えている人はいますか?

最初にbrewをインストールし、 brewサイトにアクセスして、インストール手順に従う必要があります。

お返事ありがとうございます、私はbrewをインストールしましたが、それは最新では十分ではありませんでした
だから私はすべてを更新しましたそして今それはうまくいきます

他のユーザーのために、私がbrew install libompを実行したとき、それは通過しましたが、他のアプリケーションはもう機能しませんでした(SpyderIDE)。 この時点で、私のOSはまだ10.11(Capitan)であり、問​​題を解決するには10.12(Sierra)にアップグレードする必要がありました。

したがって、私の経験から、少なくともpytorch 1.1とlibompをインストールする前にSierraにアップグレードすることをお勧めします(すべてのインストールにpipとbrewを使用します)

libomp.dylibへの依存を削除する新しいバイナリをアップロードしました

clang: error: unsupported option '-fopenmp'エラーが発生します。

@sukuya PyTorchを自分でコンパイルしようとしているように聞こえるので、別の問題のように聞こえますが、この問題は、コンパイル済みのバイナリの問題に関係していました。

この問題はトーチ1.1.0.post2にまだ存在しますが、安定版リリースで修正が利用可能になる時期を知っていますか?

@torrmal 1.1.0.post2を使用していることをどのように確認していますか? 私のテストでは、1.1.0.post2によって導入された変更によってこの問題が完全に修正されたので、誤って取り上げられている1.1.0non-post2がどこかにあるのではないかと思います。

@sukuya PyTorchを自分でコンパイルしようとしているように聞こえるので、別の問題のように聞こえますが、この問題は、コンパイル済みのバイナリの問題に関係していました。

@ alex-xnorビルド済みのlibtorchを使用するc ++プログラムをコンパイルしていたところ、これらのエラーが発生しました。

@sukuyaあなたはあなたの問題の詳細で新しい問題を作ることができますか? 特に、実行しているcmake / makefileと使用しているコンパイラコマンドを含めることはできますか?

brew install libompは問題を解決します。

Thxbro私は私の問題を解決しました

brew install libompが機能しない場合の提案はありますか? 再インストールして再リンクしましたが、役に立ちませんでした。

これをターミナルに入れて、うまくいくことを願っています。 これを修正するのに2時間かかりましたが、もっと早く修正できるといいのですが...

install_name_tool -change @ rpath / libc ++。1.dylib /usr/lib/libc++.1.dylib /Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/_cvxcore.cpython-37m- darwin.so

このページは役に立ちましたか?
0 / 5 - 0 評価