Neural network gpu上pymc3的ADVI

Neural network gpu上pymc3的ADVI,neural-network,pymc3,Neural Network,Pymc3,下面这个例子: ,网络可以在gpu上使用每个变量的float32值进行训练 奇怪的是,如果更多的层被传递到神经网络(例如5层,每个层有800个神经元),或者当神经元的数量被设置为更高的值时,使用更少的层,我会得到如下错误消息: 0%| 1/50000[00:00上次通话): 文件“/opt/pycharm-community-2016.3.2/helpers/pydev/pydevd.py”,第1596行,>中 globals=debugger.run(setup['file'],None,No

下面这个例子: ,网络可以在gpu上使用每个变量的float32值进行训练

奇怪的是,如果更多的层被传递到神经网络(例如5层,每个层有800个神经元),或者当神经元的数量被设置为更高的值时,使用更少的层,我会得到如下错误消息:

0%| 1/50000[00:00上次通话):

文件“/opt/pycharm-community-2016.3.2/helpers/pydev/pydevd.py”,第1596行,>中 globals=debugger.run(setup['file'],None,None,is_模块)

文件“/opt/pycharm-community-2016.3.2/helpers/pydev/pydevd.py”,第974行,in>run pydev_imports.execfile(文件、全局、局部)#执行脚本

文件“/home/d1211/PycharmProjects/BNN/withLasagne.py”,第342行,在 v_参数,跟踪,ppc,y_pred=运行(可能性)

文件“/home/d1211/PycharmProjects/BNN/withLasagne.py”,第299行,in>run\u advi 总规模=总规模,学习率=1e-2,ε=1.0

文件“/home/d1211/pythonpath/lib/python/Theano-0.9.0-py2.7.egg/Theano/configparser.py”,第117行,分辨率为 返回f(*args,**kwargs)

advi_minibatch中的文件“/home/d1211/pythonpath/lib/python/pymc3-3.1rc3-py2.7.egg/pymc3/variation/advi_minibatch.py”,第528行

raise FloatingPointError('在ADVI优化中出现NaN')

浮点错误:ADVI优化中出现NaN

另一方面,使用float64变量时没有错误

所以我猜必须存储的变量数量太多了,但我不明白这是如何与float32/float64值联系在一起的,这只是精度的平均值


你能帮我理解这一点吗?

真丢脸,从我巨大的层到10个神经元的输出的权重太小,不能用浮点32整数计算。所以根本没有问题。

真丢脸,从我巨大的层到10个神经元的输出的权重太小,不能用浮点32整数计算。所以没有问题嗯