Google Colab导入Theano的shared_randomstreams时无法导入local_bitwidth求助
Theano在Google Colab导入
local_bitwidth错误解决方案 报错根源
该错误由已停止维护的原版Theano与Colab当前运行环境的依赖版本不兼容导致,直接通过默认源安装的Theano包缺失local_bitwidth相关定义。
修复步骤
1. 卸载现有不兼容版本
在Colab代码单元执行以下命令:
!pip uninstall -y theano
2. 安装兼容版本的依赖包
选择与Michael Nielsen深度学习教材代码完全适配的版本组合,执行安装:
!pip install numpy==1.21.6 scipy==1.7.3 theano==1.0.5
3. 预配置Theano环境变量(可选,规避后续编译警告)
导入Theano前先执行以下代码:
import os os.environ['THEANO_FLAGS'] = 'device=cpu,floatX=float32'
4. 功能验证
运行测试代码确认修复成功:
from theano import function from theano.tensor.shared_randomstreams import RandomStreams srng = RandomStreams(seed=234) rv_u = srng.uniform((2,2)) rv_n = srng.normal((2,2)) f = function([], rv_u) g = function([], rv_n, no_default_updates=True) nearly_zeros = function([], rv_u + rv_u - 2 * rv_u) # 输出验证 print(f()) print(g()) print(nearly_zeros())
异常兜底方案
如果上述步骤执行后仍报错,说明当前Colab默认Python版本过高,需先降级Python到3.7版本:
- 执行conda环境安装,执行后会话会自动重启
!pip install condacolab import condacolab condacolab.install()
- 会话重启后重新安装适配版本的依赖:
!conda install python=3.7 numpy=1.21.6 scipy=1.7.3 theano=1.0.5
内容的提问来源于stack exchange,提问作者rtciv
相关产品推荐
相关产品推荐

