我正在使用Theano的LSTM教程(http://deeplearning.net/tutorial/lstm.html).在lstm.py(http://deeplearning.net/tutorial/code/lstm.py)文件中,我不理解以下行:
c = m_[:, None] * c + (1. - m_)[:, None] * c_
Run Code Online (Sandbox Code Playgroud)
什么m_[:, None]意思?在这种情况下m_,theano矢量c是矩阵.
TensorFlow 1.4将TF数据集移动到core(tf.data.Dataset),doc/tutorial建议tf.estimator用于训练模型.
但是,正如本页末尾所建议的那样,必须在input_fn函数内实例化数据集对象及其迭代器.这意味着每次调用都将重新开始数据集的迭代estimator.train(input_fn, steps).因此,调用步骤<在纪元中的样本数量,将导致在数据集的子集上训练模型.
因此我的问题.是否可以使用Estimator + Dataset实现类似的功能:
for i in range(num_epochs):
# Train for some steps
estimator.train(input_fn=train_input_fn, steps=valid_freq)
validation_iterator.
# Evaluate on the validation set (steps=None, we evaluate on the full validation set)
estimator.evaluate(input_fn=valid_input_fn)
Run Code Online (Sandbox Code Playgroud)
没有在每次调用时从头开始训练样本迭代estimator.train(input_fn=train_input_fn, steps=valid_freq)?
例如,与此处不同,实例化数据集及其迭代器input_fn?我尝试过,但它不工作,因为那么输入(从数据集迭代器)和模型(从估计model_fn)是不一样的图的一部分.
谢谢
相关的GitHub问题