2016-10-29 24 views
14

Staram się, aby Theano działał z Keras na Raspberry Pi 3 (B) bez powodzenia. Próbowałem Ubuntu MATE i Raspbian jako systemy operacyjne, bez powodzenia. Aby zainstalować Theano i Keras, to miały następujące etapy:Theano z Keras na Raspberry Pi

  1. Instalacja miniconda (dystrybucja ARMv7)
  2. Instalacja wszystkie zależności Theano (jak pokazano here) przez Conda (jeśli to możliwe), pip i apt-get
  3. Instalacja Theano
  4. Install Keras

Powyższe kroki działa bez żadnych problemów. W następnym kroku, I zbudował mały skrypt testowy (test.py), która ładuje się już zbudowany modelu poprzez

from keras.models import load_model 
model = load_model('model.hdf5') 

Kiedy model jest ładowany, otrzymuję następujący błąd

Segmentation fault (core dumped) 

Następnie starałem się zbadać ten problem dalej, po tej odpowiedzi na SO (What causes a Python segmentation fault?):

gdb python 
> run test.py 

Kiedy uruchamiam to uzyskać:

Program received SIGSEV, Segmentation fault. 
0x76fd9822 in ??() from /lib/ld-linux-armhf.so.3 

W następnym kroku wpadłem w powłoce gdb:

> backtrace 

, ale

#0 0x76fd9822 in ??() from /lib/ld-linux-armhf.so.3 
#1 0x76fd983a in ??() from /lib/ld-linux-armhf.so.3 

jest to punkt, w którym nie wiem dalej i chciałbym zapytaj, czy ktokolwiek mógłby wskazać mi kierunek, w jaki sposób rozwiązać ten problem i sprawić, by keras + theano działał na Raspberry Pi.

(Próbowałem również TensorFlow jako alternatywa, ale otrzymuję ten sam problem)

dzięki.


EDIT

Zrobiłem jeszcze kilka badań. Jeśli I run Keras with TensorFlow problem wydaje się nieco zmienić. Pobiegłem gdb ponownie, ale błąd dzieje się teraz w numpy, zwłaszcza w libopenblas.so.0

Program received signal SIGSEV, Segmentation fault. 
0x75ead7cc in inner_thread() 
from /home/<path>/numpy/core/../../../../libopenblas.so.0 

Czy to pomoże?


EDIT 2

mam zainstalowane wszystko bez użycia Miniconda i Keras działa teraz z TensorFlow (ale nie z Theano jeszcze).

+1

Czy próbowałeś już szkolić proste modele w samym TF/Theano? Przynajmniej to może zawęzić problem. – Kh40tiK

+0

Czy możesz wypróbować wersję debugującą tensorflow? 'bazel build -c dbg', aby go zbudować. – drpng

+0

Czy osiągnąłeś już jakiś sukces? Myślałem o uruchomieniu Keras (prawdopodobnie z TF) również na Rasperry PI. Nie próbowałem tego, po prostu zbierałem informacje w ogóle. Czy to już działa? – muuh

Odpowiedz

-1

Na razie rozwiązaniem jest uniknięcie instalacji miniconda.

Aby dalej zdiagnozować, byłoby pomocne dla ld-linux-armhf.so.3 i libopenblas.so.0, aby dostępne były symbole debugowania -g.

Powiązane problemy