2016-10-29 26 views
14

私はTheanoをRaspberry Pi 3(B)でKerasと一緒に走らせようとしています。私はUbuntu MATEとRaspbianをオペレーティングシステムとして試しましたが、成功しませんでした。 TheanoとKerasをインストールするには、私は、次の手順を取っている:Theano with Raspberry Pi

  1. はminiconda(のARMv7分布)をインストール
  2. インストールConda(可能な場合)を介してすべてのTheanoの依存関係(hereを示すように)、pipapt-get
  3. をインストールします。 Theano
  4. がKeras

をインストールし、前述の手順では、何の問題もなく動作します。次のステップでは、私は、モデルがロードされているとき、私はその後、次のエラー

Segmentation fault (core dumped) 

を取得

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

を経由して、すでに構築されたモデルをロードする小さなテストスクリプト(test.py)を建て私はSO(What causes a Python segmentation fault?)上のこの回答以下、さらに問題を調査してみました:

gdb python 
> run test.py 

私は私が得るこれを実行すると:

> backtrace 

、これは私が任意の更なるかわからない点であり、私がしたい

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

を得た:私はgdbのシェルで実行した次のステップで10

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

誰かがこの問題を解決する方法について私に指示し、ケラス+テアノをラズベリーパイで走らせることができるかどうか質問してください。

(私も代替としてTensorFlowを試してみましたが、同じ問題を取得している)

どうもありがとうございました。


EDIT

私はいくつかのより多くの調査を行っています。私がrun Keras with TensorFlowの場合、問題は少し変わるようです。私は再びGDBを実行しましたが、エラーがnumpyの中で、今起き、特にlibopenblas.so.0で

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

このヘルプをしていますか?私はMinicondaとKerasを使用せずに、すべてをインストールしている


EDIT 2

は(まだなく、Theano付き)TensorFlowで動作するようになりました。

+1

TF/Theanoだけで簡単なモデルを試してみましたか?少なくともこれは問題の原因を絞り込むことができます。 – Kh40tiK

+0

テンソルフローのデバッグバージョンで試すことはできますか?それを構築する 'bazel build -c dbg'。 – drpng

+0

あなたは今何か成功していますか? 私はRasperry PIのKeras(恐らくTFと一緒に)を走らせることを考えていました。私はそれを試していない、私は一般的な情報を収集していた。今はうまくいくのだろうか? – muuh

答えて

-1

今のところ解決策は、インストール時にミニコンダを避けることです。

さらに診断するには、ld-linux-armhf.soに役立ちます。3とlibopenblas.so.0には、-gのデバッグシンボルがあります。