首页 > 解决方案 > theano.function() 在 Colab 中引发了一个很长的异常

问题描述

我正在使用 Google Colab 运行由原始论文的作者使用 theano 实现的 BinaryNet 神经网络 :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 library inux-gnu/bits/libc-header-start.h:33, is not found。未找到库 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/libc-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: 未找到。

['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: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:在成员函数'in... 104+-x86_64-with-Ubuntu-18.04-bionic-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:在成员函数'in... 104+-x86_64-with-Ubuntu-18.04-bionic-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:在成员函数'in... 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:在成员函数'in... 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:在成员函数'in...

我用它来安装 theano 和千层面:

!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 中运行了我的代码,它成功了!这个问题涉及在 Colab 中使用 python 2。

标签: google-colaboratorytheanolasagne

解决方案


推荐阅读