theano.test()错误:test_grad GradientError:数值梯度和分析梯度超出容差

时间:2016-07-01 06:12:43

标签: theano

我在Ubuntu 14.04上安装了Theano 0.8.2,运行theano.test()并收到以下错误。

出现此错误的可能原因是什么?

  

=============================================== =======================   错误:test_grad(theano.tensor.tests.test_basic.ArctanhInplaceTester)
  -------------------------------------------------- --------------------
  追溯(最近的呼叫最后):
    在test_grad中输入文件“/usr/local/lib/python2.7/dist-packages/theano/tensor/tests/test_basic.py”,第483行       EPS = _grad_eps)
    文件“/usr/local/lib/python2.7/dist-packages/theano/tests/unittest_tools.py”,第91行,在verify_grad中       T.verify_grad(op,pt,n_tests,rng,* args,** kwargs)
    文件“/usr/local/lib/python2.7/dist-packages/theano/gradient.py”,第1709行,在verify_grad中       abs_tol,rel_tol)
  GradientError:GradientError:数值梯度和分析梯度超出公差:
          在参数0的位置4,
              腹肌。错误= 3.537018,绝对。公差= 0.010000
              相对。错误= 0.013429,相对公差= 0.010000
  例外情况:
  以下输入发生错误:,[array([[0.28898013,0.98691875,-0.37341487],
         [-0.83661169,-0.99454761,-0.57619613]],dtype = float32)],
  eps的值是:,None,
  out_type是:,None,测试arctanh_inplace :: normal:计算以下输入的渐变时出错:[array([[0.28898013,0.98691875,-0.37341487],
         [-0.83661169,-0.99454761,-0.57619613]],dtype = float32)]

     

=============================================== =======================   错误:test_grad(theano.tensor.tests.test_basic.ArctanhTester)   -------------------------------------------------- --------------------   追溯(最近的呼叫最后):
    在test_grad中输入文件“/usr/local/lib/python2.7/dist-packages/theano/tensor/tests/test_basic.py”,第483行       EPS = _grad_eps)
    文件“/usr/local/lib/python2.7/dist-packages/theano/tests/unittest_tools.py”,第91行,在verify_grad中       T.verify_grad(op,pt,n_tests,rng,* args,** kwargs)
    文件“/usr/local/lib/python2.7/dist-packages/theano/gradient.py”,第1709行,在verify_grad中       abs_tol,rel_tol)
  GradientError:GradientError:数值梯度和分析梯度超出公差:
          在参数0的位置4,
              腹肌。错误= 3.537018,绝对。公差= 0.010000
              相对。错误= 0.013429,相对公差= 0.010000
  例外情况:
  以下输入发生错误:,[array([[0.28898013,0.98691875,-0.37341487],
         [-0.83661169,-0.99454761,-0.57619613]],dtype = float32)],
  eps的值是:,None,
  out_type是:,None,Test Elemwise {arctanh,no_inplace} :: normal:在计算以下输入的渐变时发生错误:[array([[0.28898013,0.98691875,-0.37341487],          [-0.83661169,-0.99454761,-0.57619613]],dtype = float32)]

     

----------------------------------------------- -----------------------
  跑27747测试7522.578s

     

失败(跳过= 84,错误= 2)   

非常感谢。

2 个答案:

答案 0 :(得分:0)

我不知道为什么,但这就是我做的工作。

  1. 将numpy降级为1.9.x
  2. 重新安装pandas,matplotlib,...
  3. 重新安装theano

答案 1 :(得分:0)

我看到了同样的问题;降级到numpy 1.9.3(从1.11.3)也为我修好了。重新升级到1.11.3会带来问题,因此这似乎是最近的numpy版本中的一个错误。尽管有https://groups.google.com/forum/#!msg/theano-users/zyFc2DXMvpE/eblGjoa9AwAJ,Frederic Bastien(Theano开发人员)认为错误可以被忽略,而且似乎是一个测试过于严格的错误阈值。