Я пытаюсь заставить Theano бежать с Keras на малине Pi 3 (B) без успеха. Я пробовал Ubuntu MATE и Raspbian в качестве операционных систем без успеха. Чтобы установить Theano и Keras, я сделал следующие шаги:
- Установить miniconda (распространение armv7)
- Установите все зависимости Anano (как показано здесь) через Conda (если возможно),
pip
иapt-get
- Установить Theano
- Установить Keras
Вышеупомянутые шаги работают без каких-либо проблем. На следующем шаге я построил небольшой тест script (test.py), который загружает уже построенную модель через
from keras.models import load_model
model = load_model('model.hdf5')
Когда модель загружается, появляется следующая ошибка:
Segmentation fault (core dumped)
Затем я попытался изучить проблему дальше, следуя этому ответу на SO (Что вызывает ошибку сегментации Python?):
gdb python
> run test.py
Когда я запускаю это, я получаю:
Program received SIGSEV, Segmentation fault.
0x76fd9822 in ?? () from /lib/ld-linux-armhf.so.3
На следующем шаге я запустил оболочку gdb:
> backtrace
и получил
#0 0x76fd9822 in ?? () from /lib/ld-linux-armhf.so.3
#1 0x76fd983a in ?? () from /lib/ld-linux-armhf.so.3
это то место, где я не знаю больше, и я хотел бы спросить, может ли кто-нибудь указать мне, как исправить эту проблему и получить keras + theano для запуска на малиновом Pi.
(Я также попробовал TensorFlow в качестве альтернативы, но получаю ту же проблему)
Большое спасибо.
ИЗМЕНИТЬ
Я провел еще несколько исследований. Если я запустит Keras с TensorFlow, проблема, похоже, немного изменится. Я снова запускал gdb, но ошибка теперь происходит в numpy, особенно в libopenblas.so.0
Program received signal SIGSEV, Segmentation fault.
0x75ead7cc in inner_thread()
from /home/<path>/numpy/core/../../../../libopenblas.so.0
Помогает ли это?
ИЗМЕНИТЬ 2
Я установил все без использования Miniconda и Keras теперь работает с TensorFlow (но не с Theano пока).