2016-10-29 70 views
14

Tôi đang cố gắng để có được Theano để chạy với Keras trên một Raspberry Pi 3 (B) mà không thành công. Tôi đã thử Ubuntu MATE và Raspbian làm hệ điều hành, không thành công. Để cài đặt Theano và Keras, tôi đã tiến hành các bước sau:Theano với Keras trên Raspberry Pi

  1. Install miniconda (phân phối ARMv7)
  2. Cài đặt tất cả phụ thuộc Theano (như here) thông qua Conda (nếu có thể), pipapt-get
  3. Cài đặt Theano
  4. Cài đặt Keras

Các bước nói trên không có vấn đề gì. Trong bước tiếp theo, tôi đã xây dựng một kịch bản thử nghiệm nhỏ (test.py) mà tải một mô hình đã được xây dựng qua

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

Khi mô hình đã được nạp, tôi nhận được lỗi sau

Segmentation fault (core dumped) 

Sau đó, tôi cố gắng để điều tra vấn đề hơn nữa, sau câu trả lời này trên SO (What causes a Python segmentation fault?):

gdb python 
> run test.py 

Khi tôi chạy này, tôi nhận được:

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

Trong bước tiếp theo tôi chạy trong vỏ gdb:

> backtrace 

và có

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

đây là điểm mà tôi không biết bất kỳ xa hơn và tôi muốn hỏi, nếu có ai có thể chỉ cho tôi một hướng về cách khắc phục vấn đề này và lấy keras + theano để chạy trên một Raspberry Pi.

(Tôi cũng đã cố gắng TensorFlow như một sự thay thế, nhưng nhận được cùng một vấn đề)

Thanks a lot.


EDIT

Tôi đã thực hiện một số cuộc điều tra hơn. Nếu tôi run Keras with TensorFlow vấn đề dường như thay đổi một chút. Tôi chạy gdb một lần nữa, nhưng lỗi xảy ra bây giờ trong numpy, đặc biệt là trong libopenblas.so.0

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

Điều này có giúp được không?


EDIT 2

Tôi đã cài đặt tất cả mọi thứ mà không sử dụng Miniconda và Keras hiện đang làm việc với TensorFlow (nhưng không phải với Theano chưa).

+1

Bạn đã thử đào tạo các mô hình đơn giản trong TF/Theano một mình chưa? Ít nhất điều này có thể thu hẹp nguyên nhân vấn đề. – Kh40tiK

+0

Bạn có thể thử với một phiên bản gỡ lỗi của tensorflow không? 'bazel build -c dbg' để xây dựng nó. – drpng

+0

Bạn đã có bất kỳ thành công nào chưa? Tôi đã suy nghĩ về việc chạy Keras (có lẽ với TF) trên một Rasperry PI là tốt. Tôi đã không thử nó, tôi chỉ thu thập thông tin nói chung. Nó sẽ hoạt động, bây giờ? – muuh

Trả lời

-1

Hiện tại giải pháp là để tránh miniconda khi cài đặt.

Để chẩn đoán thêm, nó sẽ hữu ích cho ld-linux-armhf.so.3 và libopenblas.so.0 có -g các biểu tượng gỡ lỗi khả dụng.

Các vấn đề liên quan