pes*_*chn 27 python raspberry-pi theano keras
我试图让Theano在Raspberry Pi 3(B)上与Keras一起运行但没有成功.我尝试使用Ubuntu MATE和Raspbian作为操作系统,但没有成功.要安装Theano和Keras,我采取了以下步骤:
pip
和apt-get
上述步骤没有任何问题.在下一步中,我构建了一个小测试脚本(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 fault.
0x75ead7cc in inner_thread()
from /home/<path>/numpy/core/../../../../libopenblas.so.0
Run Code Online (Sandbox Code Playgroud)
这有帮助吗?
编辑2
我已经安装了所有内容而不使用Miniconda和Keras现在使用TensorFlow(但还没有使用Theano).
小智 1
如果你提供了 python 的版本,它会很有用。如果你使用的是python3.7,请尝试恢复到python3.6,因为keras还没有跟上开发的步伐,并且在python3.7上使用keras安装tensorflow存在很多问题。我在这里强调版本是因为我最近在使用 conda 安装时遇到了同样的问题,并且我意识到问题是 python 版本。
但我在让 TensorFlow 在 PI 上运行时也遇到了问题。但我使用 ubuntu 中的 pip 而不是 miniconda 直接安装,并且它有效。Google Tensorflow 团队本身提到的最好方法是按照此链接中的说明从源代码实际构建张量流。 https://www.tensorflow.org/install/source_rpi
因此,如果可以的话,请尝试将 python 版本降级到 3.6 或更低,并尝试使用 pip 安装或使用 python3.6 或 3.7 从源代码构建。
归档时间: |
|
查看次数: |
3532 次 |
最近记录: |