如何从theano函数中打印值?

时间:2014-08-16 10:53:09

标签: python machine-learning theano

我最近从Matlab / C ++迁移到theano并具有以下功能

train_model = theano.function([x_in, y_index],
                          classifier.cost,
                          updates=updates,
                          givens={
                              x: x_in,
                              y: y_in[y_index]})

我想在每次迭代中打印2层网之间的值(用于调试,更好地控制功能等) 我已经尝试编辑功能设置分类器,以便打印(使用print()或theano.printing.Print / theano.pp()),所有我得到的是在设置模型时的单个打印。

1 个答案:

答案 0 :(得分:4)

在您的示例中,classifier.cost是一个表达式,可能由构建在同一输入上的其他几个表达式组成。您可以将这些中间表达式中的任何一个转换为函数,就像使用classifier.cost一样,例如

f_first_layer = theano.function([x], first_layer)

然后,您可以调用并打印此功能的输出,例如每次致电train_model后。如果您在 train_model之前使用相同的参数调用,之后只需调用train_model,那么您将获得图层的确切输出,因为它们将通过train_model(在train_model之后调用它会因更新而不同。)