我们如何监控/分析 theano 函数的给定
?
作为示例,请考虑以下函数:
train_model = theano.function(
inputs=[index],
outputs=cost,
updates=updates,
givens={
x: X_train[index * batch_size: (index + 1) * batch_size],
y: y_train[index * batch_size: (index + 1) * batch_size]
}
)
监视/分析共享变量 x 和 y 的方法是什么?
最佳答案
如果您遵循/使用 Theano 教程中的代码(看起来就是这样),那么 x_train
和 y_train
是包含您的训练数据的共享变量( x_train
是输入,y_train
是您希望模型预测正确时的真实/实际输出。
这些共享变量的内容永远不会(或者至少不应该)改变,因为模型训练时的训练数据通常是静态的。
因此,查看共享变量 train_x
和 train_y
的内容与查看训练数据是一样的。您大概可以在任何加载数据的地方查看数据(例如,可能是 CSV 数据文件,或 numpy 保存的数组等)
如果您确实想查看共享变量的内容,那么您可以使用返回底层 numpy 数组的 get_value()
方法来执行此操作:
x_data = X_train.get_value()
print x_data.shape
# etc.
Theano 根本不参与这里。没有什么是象征性的,它只是具体的 numpy 数组。
关于Theano 函数分析给定,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31964764/