theano 2

1:已经可以自己写完MLP的例子了,昨天跑MLP的时候遇到个问题,为了追踪问题,出错的时候给出了2个配置选项

exception_verbosity=high
optimizer=fast_compile

添加上这2个配置选项之后,的确可以具体的定位到出错的位置了,但是很奇怪不知道怎么回事,和网上说的结果不一样,我把网上实例代码下载下来也是不行,晚上找了个哥们让他帮跑了下,很奇怪,一样的代码和数据集合他就跑出来了,后来经过对比发现是这2个配置选项带来的错误,尤其是后者带来的,我给开发小组发了个邮件,theano的作者回复了我一下:

Some optimizations that improve numerical stability are not included in
the "fast_compile" optimizer, so it may be that the gradient updates are
not precise enough to get out of a plateau or local minimum. It is also
possible that the optimization diverges, and that NaN values appear in
the parameters.

经过验证,的确是出现了NaN的情况。所以这个问题也就解决了

2:由于theano中不带小数点的都当做整数处理了,所以在计算类似5/6的时候要小心,给出的结果肯定是0,因为都是整数,结果也还是整数了。如果想精确计算就这样5./6也就是先把5转换成为float的类型了,于是结果也就带小数点了,这个地方也坑了我很久,因为我要初始化一个参数,精度在5/a a要大于5的 结果这样初始化出来就是0了。所以必须写成5./a

3:整体感觉theano方便,因为不需要自己去求导了,只要记得起之前的cost就好了,但是可能之前写matlab写习惯了,总觉得这种方式不知道靠谱不。其实还是靠谱的

4:theano中由于对公式是进行编译的,不像matlab还可以在函数过程中打印当前的输入和输出,在theano中可没这么方便,但是theano提供了方法的。需要theano专门的方法。


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值