PyTorchをインストールしようとしましたが、使用できません。 ダイナミックライブラリlibomp.dylibをリンクできません
動作を再現する手順:
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を使用およびインポートできる
conda
、 pip
、ソース):pipenvbrew 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
最も参考になるコメント
brew install libomp
は問題を解決します。