Theano函数分析给定

Theano function analyse givens

我们如何monitor/analyse theano函数的givens

例如考虑以下函数:

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]
    }
)

有什么方法可以 monitor/analyse 共享变量 x 和 y?

如果您是 following/using Theano 教程中的代码,似乎是这种情况,那么 x_trainy_train 是包含您的训练数据的共享变量(x_train 是输入,y_train 是您希望模型在正确时预测的 true/actual 输出)。

这些共享变量的内容永远不会(或者至少不应该)改变,因为在训练模型时您的训练数据通常是静态的。

因此,查看共享变量 train_xtrain_y 的内容与查看训练数据一样。你大概可以去看看你从哪里加载数据(例如,可能是 CSV 数据文件,或 numpy 保存的数组等)

如果你真的想查看共享变量的内容,那么你可以使用 get_value() 方法来做到这一点,returns 底层 numpy 数组:

x_data = X_train.get_value()
print x_data.shape
# etc.

这里完全没有涉及Theano。没有什么是象征性的,它只是具体的 numpy 数组。