我正在使用宽面条和theano构建一个卷积神经网络,我在尝试遵循http://deeplearning.net/software/theano/tutorial/debug_faq.html#how-do-i-step-through-a-compiled-function中的打印调试示例时遇到了一些问题
我的函数是这样的,G和Y是no张量
def loss_function(self, G, Y_):
# Split batch into pairs
G1, G2 = G[0::2], G[1::2]
Y = Y_[:G.shape[0] // 2]
# Energy of training pairs
E = T.abs_((G1 - G2)).sum(axis=1)
Q = 2
genuine_loss = (1 - Y) * (2 / Q) * (E ** 2)
imposter_loss = (Y) * 2 * Q * T.exp((-2.77 * E) / Q)
loss = genuine_loss + imposter_loss
avg_loss = T.mean(loss)
return ave_loss
因此,输出平均损失应该是一个符号表达式,当使用输入数据进行编译和执行时,将计算一批训练图像的平均损失。在
我要做的是在这里放一个符号打印表达式,这样每当计算平均损失时,它就会打印G的内容
但现在我只是想前后印点东西
^{pr2}$上面的代码不起作用,我也不知道如何操作theano.功能让它发挥作用。在
我要做的是创建一个identity函数,它接受G并返回G而不修改它,但是在这个过程中打印pre-func和post-func。在
如何使用theano.功能(或theano.printing.打印)完成这个?在
不幸的是,从那以后我就不能帮你用印刷方法了 我自己从来没有用过这个印刷品。但是。。不是吗 可以将G和ave_损失一起返回。 然后你可以看看里面的东西。。。在
比如:
编辑:
我刚刚看到G的内容似乎没有变化。 你为什么要把它打印出来。因为指纹也可以防止 如果我没记错的话,我会从一些优化中得到答案。在
相关问题 更多 >
编程相关推荐