小编pes*_*chn的帖子

Theano与Keras在覆盆子Pi上

我试图让Theano在Raspberry Pi 3(B)上与Keras一起运行但没有成功.我尝试使用Ubuntu MATE和Raspbian作为操作系统,但没有成功.要安装Theano和Keras,我采取了以下步骤:

  1. 安装miniconda(armv7发行版)
  2. 安装所有Theano依赖关系(如图所示这里)通过康达(如果可能的话),pipapt-get
  3. 安装Theano
  4. 安装Keras

上述步骤没有任何问题.在下一步中,我构建了一个小测试脚本(test.py),它通过加载已经构建的模型

from keras.models import load_model
model = load_model('model.hdf5')
Run Code Online (Sandbox Code Playgroud)

加载模型时,我收到以下错误

Segmentation fault (core dumped)
Run Code Online (Sandbox Code Playgroud)

然后我尝试进一步研究这个问题,关于SO的回答(导致Python分段错误的原因是什么?):

gdb python
> run test.py
Run Code Online (Sandbox Code Playgroud)

当我运行这个时,我得到:

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

在下一步中,我在gdb shell中运行:

> backtrace
Run Code Online (Sandbox Code Playgroud)

得到了

#0  0x76fd9822 in ?? () from /lib/ld-linux-armhf.so.3
#1  0x76fd983a in ?? () from /lib/ld-linux-armhf.so.3
Run Code Online (Sandbox Code Playgroud)

这是我不知道的地方,我想问一下,如果有人能指出我如何解决这个问题并让keras + theano在Raspberry Pi上运行.

(我也尝试过TensorFlow作为替代方案,但是遇到同样的问题)

非常感谢.


编辑

我做了一些调查.如果我用TensorFlow运行Keras,问题似乎会有所改变.我再次运行gdb,但错误现在发生在numpy中,尤其是在libopenblas.so.0中

Program received signal SIGSEV, Segmentation …
Run Code Online (Sandbox Code Playgroud)

python raspberry-pi theano keras

27
推荐指数
1
解决办法
3532
查看次数

标签 统计

keras ×1

python ×1

raspberry-pi ×1

theano ×1