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_train
和 y_train
是包含您的训练数据的共享变量(x_train
是输入,y_train
是您希望模型在正确时预测的 true/actual 输出)。
这些共享变量的内容永远不会(或者至少不应该)改变,因为在训练模型时您的训练数据通常是静态的。
因此,查看共享变量 train_x
和 train_y
的内容与查看训练数据一样。你大概可以去看看你从哪里加载数据(例如,可能是 CSV 数据文件,或 numpy 保存的数组等)
如果你真的想查看共享变量的内容,那么你可以使用 get_value()
方法来做到这一点,returns 底层 numpy 数组:
x_data = X_train.get_value()
print x_data.shape
# etc.
这里完全没有涉及Theano。没有什么是象征性的,它只是具体的 numpy 数组。
我们如何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_train
和 y_train
是包含您的训练数据的共享变量(x_train
是输入,y_train
是您希望模型在正确时预测的 true/actual 输出)。
这些共享变量的内容永远不会(或者至少不应该)改变,因为在训练模型时您的训练数据通常是静态的。
因此,查看共享变量 train_x
和 train_y
的内容与查看训练数据一样。你大概可以去看看你从哪里加载数据(例如,可能是 CSV 数据文件,或 numpy 保存的数组等)
如果你真的想查看共享变量的内容,那么你可以使用 get_value()
方法来做到这一点,returns 底层 numpy 数组:
x_data = X_train.get_value()
print x_data.shape
# etc.
这里完全没有涉及Theano。没有什么是象征性的,它只是具体的 numpy 数组。