Pytorch: Saya tidak dapat mengimpor PyTorch, libomp.dylib tidak dapat dimuat.

Dibuat pada 1 Mei 2019  ·  27Komentar  ·  Sumber: pytorch/pytorch

Bug

Saya mencoba menginstal PyTorch, tetapi saya tidak dapat menggunakannya. Itu tidak dapat menautkan perpustakaan dinamis libomp.dylib

Untuk Mereproduksi

Langkah-langkah untuk mereproduksi perilaku:

  1. pipenv memasang obor 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

Perilaku yang diharapkan

Mampu menggunakan dan mengimpor PyTorch

Lingkungan

  • Versi PyTorch (misalnya, 1.0): 1.1.0
  • OS (misalnya, Linux): Mac OS Mojave
  • Bagaimana Anda menginstal PyTorch ( conda , pip , sumber): pipenv
  • Versi Python: 3.7.1
high priority binaries build triaged

Komentar yang paling membantu

brew install libomp memecahkan masalah.

Semua 27 komentar

brew install libomp memecahkan masalah.

cc @JerryShih

cc @ pjh5 @kostmo

brew install libomp memecahkan masalah.

@ezyang
Bagaimana cara menambahkan ketergantungan libomp dalam instalasi pytorch pip?

Apakah semua pustaka yang bergantung pada pytorch akan didukung ke dalam paket wheel?
Jika ya, saya akan menambahkan file libomp seperti kode ini: https://github.com/pytorch/pytorch/blob/2356fac9a5205a2e11f1abf6105fdb3124246d41/setup.py#L738 -L825

Bagaimana dengan perpustakaan dependen lainnya? Apakah semuanya ada di folder third_party dan dibuat dari sumber?

pip tidak tahu apa-apa tentang brew, Anda tidak bisa memintanya untuk brew install a package. Juga, sementara resolusi ini "memecahkan" masalah, saya ingin lebih memahami bagaimana ketergantungan ini muncul (khususnya, mengapa kita membangun binari dengan ketergantungan pada perpustakaan buatan? Kedengarannya buruk.)

Dalam beberapa kasus di mana kami tidak dapat menganggap pengguna akhir memiliki perpustakaan yang diinstal, kami mendistribusikan perpustakaan dengan binari kami. Namun, saya tidak yakin bahwa kita harus melakukan ini untuk libomp.dylib. cc @soumith

ini adalah sesuatu yang perlu diperbaiki. Saya dapat melihat memperbaiki binari dan mengunggah ulang.
Masalahnya adalah macos CI kami menginstal libomp di sini: https://github.com/pytorch/pytorch/blob/0da0c4be48c675d61c39b4554131e1dbe9177cab/.circleci/verbatim-sources/header-section.yml#L294 , saya pikir untuk CI / pengujian. Tetapi build biner juga mengambilnya dan menggunakannya.

Saya dapat menghapus ketergantungan ini untuk binari. Saya akan segera mengerjakan PR

brew install libomp memecahkan masalah
ini menyelesaikan masalah saya

Saya setuju dengan @ezyang bahwa instalasi pytorch melalui pip tidak boleh bergantung pada minuman. PyTorch adalah ketergantungan untuk perpustakaan saya dan pengguna saya mungkin atau mungkin-tidak peduli tentang minuman.

  • Jadi hanya untuk memperjelas, solusinya adalah menghapus langkah brew install libomp && dengan benar mengemas perpustakaan platform khusus libomp (.dylib, .so, dll) ? Apakah itu benar?

  • Jika saya ingin mengambil malam terbaru dengan perbaikan ini...itu akan menjadi pip install torch_nightly -f blah.html ?

@ruohoruotsi semuanya benar

Hanya untuk referensi: Jika menggunakan macports masalah ini dapat diatasi dengan membuat symlink menggunakan sudo ln -s /opt/local/lib/libomp/libomp.dylib di /usr/local/opt/libomp/lib/ .

Hanya untuk referensi: Jika menggunakan macports masalah ini dapat diatasi dengan membuat symlink menggunakan sudo ln -s /opt/local/lib/libomp/libomp.dylib di /usr/local/opt/libomp/lib/ .

masalah harus diperbaiki dari PyTorch dengan melihat sistem formulir perpustakaan alih-alih hanya memeriksa /usr/local/opt/

brew install libomp memecahkan masalah.

Ini bekerja!

ketika mencoba memutakhirkan pytorch dari 1.0.1 ke 1.1, saya mengalami masalah yang sama dan menemukan utas ini

pembaruan di server linux berfungsi dengan baik tetapi tidak di macbook (OSX) saya

Saya mencoba brew install libomp tetapi formula brew tidak dapat ditemukan, karenanya ini tidak memperbaiki masalah dan saya harus menurunkan versi kembali ke 1.0.1 di OSX untuk dapat mengimpor obor lagi

adakah yang memiliki masalah yang sama mengenai pemasangan pip pytorch dan pemasangan minuman libomp?

@soumith

Saya dapat melihat memperbaiki binari dan mengunggah ulang.

Apakah masih ada rencana untuk melakukan ini, atau apakah rilis biner baru akan menunggu rilis PyTorch berikutnya?

ketika mencoba memutakhirkan pytorch dari 1.0.1 ke 1.1, saya mengalami masalah yang sama dan menemukan utas ini

pembaruan di server linux berfungsi dengan baik tetapi tidak di macbook (OSX) saya

Saya mencoba brew install libomp tetapi formula brew tidak dapat ditemukan, karenanya ini tidak memperbaiki masalah dan saya harus menurunkan versi kembali ke 1.0.1 di OSX untuk dapat mengimpor obor lagi

adakah yang memiliki masalah yang sama mengenai pemasangan pip pytorch dan pemasangan minuman libomp?

Anda perlu menginstal brew terlebih dahulu, buka situs brew dan ikuti petunjuk pemasangan.

terima kasih atas balasan Anda, saya telah menginstal brew tetapi tidak cukup up to date
jadi saya memperbarui semuanya dan sekarang berfungsi

catatan untuk pengguna lain, ketika saya melakukan brew install libomp, itu berhasil tetapi aplikasi lain tidak berfungsi lagi (Spyder IDE); saat ini OS saya masih 10.11 (Capitan) dan saya harus mengupgrade ke 10.12 (Sierra) untuk dapat menyelesaikan masalah tersebut

jadi dari pengalaman saya, saya akan merekomendasikan memutakhirkan ke Sierra setidaknya sebelum menginstal pytorch 1.1 dan libomp (saya menggunakan pip dan brew untuk semua instalasi)

mengupload binari baru yang menghapus ketergantungan pada libomp.dylib

Sekarang saya mendapatkan kesalahan clang: error: unsupported option '-fopenmp' .

@sukuya Kedengarannya seperti masalah yang berbeda, karena sepertinya Anda mencoba mengkompilasi PyTorch sendiri, tetapi masalah ini berkaitan dengan masalah dengan binari yang telah dikompilasi sebelumnya.

masalah ini masih ada di torch 1.1.0.post2, apakah Anda tahu kapan perbaikan akan tersedia pada rilis stabil?

@torrmal Bagaimana Anda memastikan bahwa Anda menggunakan 1.1.0.post2? Dalam pengujian saya, perubahan yang diperkenalkan oleh 1.1.0.post2 memperbaiki masalah ini sepenuhnya, jadi saya ingin tahu apakah Anda memiliki 1.1.0 non-post2 tergeletak di suatu tempat yang diambil secara tidak sengaja.

@sukuya Kedengarannya seperti masalah yang berbeda, karena sepertinya Anda mencoba mengkompilasi PyTorch sendiri, tetapi masalah ini berkaitan dengan masalah dengan binari yang telah dikompilasi sebelumnya.

@alex-xnor Saya mengkompilasi program c++ yang menggunakan libtorch prebuilt dan saya mendapatkan kesalahan itu.

@sukuya dapatkah Anda membuat masalah baru dengan detail lebih lanjut tentang masalah Anda? Secara khusus, dapatkah Anda menyertakan cmake/makefile yang Anda jalankan dan perintah kompiler yang Anda gunakan?

brew install libomp memecahkan masalah.

Thx gan masalah saya sudah teratasi

Adakah yang punya saran kapan brew install libomp tidak berfungsi? Saya telah menginstal ulang, menautkan kembali, tetapi tidak berhasil.

letakkan ini di terminal, semoga berhasil. Butuh waktu 2 jam untuk memperbaikinya dan saya harap Anda bisa memperbaikinya lebih cepat, ya ampun...

install_name_tool -ubah @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

Apakah halaman ini membantu?
0 / 5 - 0 peringkat