2015-12-15 14 views
5

Ben python3 ile caffe yüklemek ama caffe alırken, ben traceback (en son çağrı son) bazı hatalar almak tanımlamıyor:ImportError: Dinamik modül modül ihracat fonksiyonunu (PyInit__caffe)

File "classify.py", line 14, in <module> 
    import caffe 
    File "/home/hez/caffe-master/python/caffe/__init__.py", line 1, in <module> 
    from .pycaffe import Net, SGDSolver 
    File "/home/hez/caffe-master/python/caffe/pycaffe.py", line 13, in <module> 
    from ._caffe import Net, SGDSolver 
ImportError: dynamic module does not define module export function (PyInit__caffe) 

Ama python'da iyi çalışır2.7.

ben pycaffe yaparken G// yol/caffe/PATH/python distrubute ancak, bu

make: Nothing to be done for `pycaffe'. 

Bu sorunu nasıl çözebilir eklemek gösterir olmuştu? Çok teşekkür ederim.

cevap

5

Güncelleme
Caffe 3.3+ piton destekler. Lütfen kasa kurulum kılavuzu ve prerequisites numaralı telefonu arayın. piton 3 ile caffe kullanma

Orjinal (eski) cevap
şu anda desteklenmiyor:

Caffe’s Python interface works with Python 2.7. Python 3 or earlier Pythons are your own adventure.

caffe's installation tutorial bakınız.

+1

Oh no! Teşekkür ederim. – Philokey

+0

@Philokey üzgünüm size herhangi bir iyi haber getiremedim :( – Shai

+1

Hey hala öyle mi? Caffe kurulum talimatları python3'ü de gösterir .. Cevabınızı yeni bilgiler ışığında güncelleyebilir – Ravikrn

2

Artık Python3 için Caffe inşa etmek mümkün, ve sorunun sorulduğu 16 Aralık'ta mümkün olduğundan neredeyse eminim. nasıl caffe yüklemeleri (ile

# Uncomment to use Python 3 (default is Python 2) 
# Check that boost library name is correct here!!! 
PYTHON_LIBRARIES := boost_python3 python3.5m 
PYTHON_INCLUDE := /usr/include/python3.5m \ 
       /usr/lib/python3.5/dist-packages/numpy/core/include 

Ama bu nedenle biçimi nedeniyle, sadece python3 VEYA python2 içinde caffe sahip olacaktır:

Bunu yapmak için, Python3 ile Makefile.config içinde yorumları kaldırmak gerekir PYTHON_PATH, gerçekten iyi bir yol değil).

alias python2="export PYTHONPATH=$PYTHONPATH:/home/undead/reps/caffe_py2/python && python2" 
alias python3="export PYTHONPATH=$PYTHONPATH:/home/undead/reps/caffe_py3/python && python3" 
alias python="export PYTHONPATH=$PYTHONPATH:/home/undead/reps/caffe_py2/python && python2" 

nedenle hem olacak işler:

Bu sorunu çözmek için size ~/.bashrc böyle hile yapabilirsiniz.

+0

Bu değişiklikleri yaptıktan sonra "tümünü yap" yapmam gerekiyor mu? – Ravikrn

+0

@Ravikrn no, her iki kütüphaneyi de (.so) oluşturmalı ve bunları böyle bir şekilde işaretlemelisiniz – UndeadDragon

+0

Sadece detaylandırır mısınız python3 ve başlangıçta ben python2 talimatları ile caffe yüklü.Ben her iki kütüphane inşa ne demek istiyorsunuz? ~ ~ .bashrc "ihracat PYTHONPATH =/home/yol/caffe: $ PYTHONPATH" – Ravikrn

İlgili konular