笔者最近在公司做一个基于theano框架的项目,由于之前已经写成了一定的基础,有很多地方不知道什么意思。程序员们都知道,现在我们要打印出来看看啦!
但是theano真的很难调试,因为有很多值打印不出来,笔记搜索了官方文档和一些文档,最后总结如下,希望可以给您一些启示:
在theano中,有两种类型的变量TensorSharedVariable类型和TensorVariable类型。
对于TensorShardVariable类型的变量,可以直接用get_value()函数来获取该类型的值,使用如下:
import theano
import theano.tensor as T
x = T.shard(1)
>>type(x) <class 'theano.tensor.sharedVar.ScalarSharedVariable'>
>>x.get_value() 1
对于TensorVariable类型变量
import theano
import theano.tensor as T
x = T.vector()
z = x+x
z= theano.printing.Print('z')(z) //这样就可以打印出来
由于theano的TensorShardVariable并没有值,通过这样的方式打印,它是一次性输出经过该变量的所有数据。悲剧的是笔者在一家大数据公司, theano一次性会打印出相当多的东西,往往终端上不能全完显示,所以笔者在这里教大家一种很low但是很方便的方式。
运行程序,并且输出到记事本:
如
python main.py >tmp.txt
如此,就可以很方便的调试theano了。
没有评论:
发表评论