theano.function () вызывает длинное исключение в Colab - PullRequest
0 голосов
/ 01 августа 2020

Я использую Google Colab для запуска нейронной сети Binar yNet, реализованной с использованием theano авторами оригинальной статьи здесь: https://github.com/MatthieuCourbariaux/BinaryNet

Когда я запускаю следующую строку из /Train-time/mnist.py (строка 199):

train_fn = theano.function([input, target, LR], loss, updates=updates)

Colab выдает эту ошибку:

Вы можете найти C код в этом временном файле: / tmp / theano_compilation_error_5_e2lq4v библиотека inux-gnu / bits / lib c -header-start.h: 33, не найден. библиотека inux-gnu / 7 / include-fixed / limits.h: 194, не найдена. библиотека inux-gnu / 7 / include-fixed / syslimits.h: 7, не найдена. библиотека inux-gnu / 7 / include-fixed / limits.h: 34, не найдена. библиотека inux-gnu / bits / mathcalls.h: 298: 1: не найдена. библиотека inux-gnu / bits / mathcalls.h: 298: 1: не найдена. библиотека inux-gnu / bits / lib c -header-start.h: 33, не найдена. библиотека inux-gnu / 7 / include-fixed / limits.h: 194, не найдена. библиотека inux-gnu / 7 / include-fixed / syslimits.h: 7, не найдена. библиотека inux-gnu / 7 / include-fixed / limits.h: 34, не найдена. библиотека inux-gnu / bits / mathcalls.h: 298: 1: не найдена. библиотека inux-gnu / bits / mathcalls.h: 298: 1: не найдена.

Исключение: ('Произошла следующая ошибка при компиляции узла', Elemwise {Composite {(i0 * (i1 + ( i0 * round3 (clip (i2, i3, i4)))) * i5)}} [(0, 2)] (TensorConstant {(1, 1) из 2,0}, TensorConstant {(1, 1) из -1,0} , Elemwise {Composite {(i0 * (i1 + (i2 * i3 * i4) + i5))}}. 0, TensorConstant {(1, 1) из 0}, TensorConstant {(1, 1) из 1}, Elemwise {Composite {Cast {float64} (LT (i0, i1))}} [(0, 0)]. 0), '\ n', "Ошибка компиляции (статус возврата = 1): /root/.theano/compiledir_ Linux -4.19.104 + -x86_64-with-Ubuntu-18.04-bioni c -x86_64-3.6.9-64 / tmp9q80fef3 / mod. cpp: 932: 2: предупреждение: символьная константа слишком длинная для своего тип. ['V15_tmp2'] = round (['V15_tmp1']) ;. ^ ~~~~~~~~~. /root/.theano/compiledir_Linux-4.19.104+-x86_64-with-Ubuntu -18.04-bioni c -x86_64-3.6.9-64 / tmp9q80fef3 / mod. cpp: 932: 23: предупреждение: символьная константа слишком длинная для своего типа. ['V15_tmp2'] = round (['V15_tmp1' ]) ;. ^ ~~~~~~~~~. /root/.theano/compiledir_Linux-4.19.104+-x86_64-w ith-Ubuntu-18.04-bioni c -x86_64-3.6.9-64 / tmp9q80fef3 / mod. cpp: 1054: 2: предупреждение: символьная константа слишком длинная для своего типа. ['V15_tmp2'] = раунд (['V15_tmp1']) ;. ^ ~~~~~~~~~. /root/.theano/compiledir_Linux-4.19.104+-x86_64-with-Ubuntu-18.04-bionic-x86_64-3.6.9-64/tmp9q80fef3/mod.cpp:1054:23: предупреждение : символьная константа слишком длинная для своего типа. ['V15_tmp2'] = раунд (['V15_tmp1']) ;. ^ ~~~~~~~~~. /root/.theano/compiledir_Linux-4.19.104+-x86_64-with-Ubuntu-18.04-bionic-x86_64-3.6.9-64/tmp9q80fef3/mod.cpp: в функции-члене 'в ...

Я использовал это для установки theano и lasagne:

!pip install --upgrade https://github.com/Theano/Theano/archive/master.zip
!pip install --upgrade https://github.com/Lasagne/Lasagne/archive/master.zip

Я использую тот же код, что и в репозитории github, с той лишь разницей, что я использовал keras для импорта набора данных mnist вместо pylearn2

Может ли кто-нибудь помочь мне выяснить, почему это происходит? Спасибо!

РЕДАКТИРОВАТЬ

Я запустил свой код в python 2.7, и он сработал! Этот вопрос касается использования python 2 в Colab.

...