【发布时间】:2018-10-10 10:39:12
【问题描述】:
我目前正在使用 TensorFlow 教程的 first_steps_with_tensor_flow.ipynb 笔记本来学习 TF 以实现 ML 模型。在笔记本中,他们使用了随机梯度下降 (SGD) 来优化损失函数。下面是my_input_function的sn-p:
def my_input_fn(features, targets, batch_size=1, shuffle=True, num_epochs=None):
这里可以看出batch_size为1。notebook使用包含17000个标注样本的房屋数据集进行训练。这意味着对于 SGD,我将拥有 17000 个批次。
LRmodel = linear_regressor.train(input_fn = lambda:my_input_fn(my_feature,
targets), steps=100)
我有三个问题 -
为什么
steps=100在上面的linear_regressor.train方法中?由于我们有 17000 个批次,而 ML 中的steps表示评估一个批次的计数,所以在linear_regressor.train方法中steps = 17000应该被初始化,对吧?批次数是否等于 ML 中的步数/迭代数?
对于我的 17000 个示例,如果我保留我的
batch_size=100、steps=500和num_epochs=5,那么这个初始化意味着什么以及它与 170 个批次有什么关系?
【问题讨论】:
标签: python tensorflow machine-learning