Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/performance/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Machine learning 在Tensorflow中为教程示例选择num_epochs值_Machine Learning_Tensorflow_Linear Regression - Fatal编程技术网

Machine learning 在Tensorflow中为教程示例选择num_epochs值

Machine learning 在Tensorflow中为教程示例选择num_epochs值,machine-learning,tensorflow,linear-regression,Machine Learning,Tensorflow,Linear Regression,上的tensorflow教程中有一个估算器示例,他们在其中创建线性回归模型,如下所示: 将tensorflow导入为tf 将numpy作为np导入 特征列=[tf.特征列.数字列(“x”,形状=[1])] 估计器=tf.估计器.线性累加器(特征列=特征列) x_列=np.数组([1,2,3,4]) y_列=np.数组([0,-1.,-2.,-3.])) x_eval=np.数组([2,5,8,1]) y_eval=np.array([-1.01,-4.1,-7,0.]) input_fn=tf.

上的tensorflow教程中有一个估算器示例,他们在其中创建线性回归模型,如下所示:

将tensorflow导入为tf
将numpy作为np导入
特征列=[tf.特征列.数字列(“x”,形状=[1])]
估计器=tf.估计器.线性累加器(特征列=特征列)
x_列=np.数组([1,2,3,4])
y_列=np.数组([0,-1.,-2.,-3.]))
x_eval=np.数组([2,5,8,1])
y_eval=np.array([-1.01,-4.1,-7,0.])
input_fn=tf.estimator.inputs.numpy_input_fn({“x”:x_train},y_train,批大小=4,num_epochs=None,shuffle=True)
训练输入=tf.estimator.inputs.numpy输入=fn({“x”:x\u train},y\u train,批量大小=4,num\u epochs=1000,shuffle=False)
eval_input_fn=tf.estimator.inputs.numpy_input_fn({“x”:x_eval},y_eval,批大小=4,num_epochs=1000,shuffle=False)
估算器.序列(输入=输入,步数=1000)
训练度量=估计器。评估(输入=训练输入)
评估指标=估计器。评估(输入=评估输入)
打印(“列车指标:%r”%train\u指标)
打印(“评估指标:%r”%eval\u指标)
我的问题是“训练输入”和“评估输入”为什么需要选择“num\u epochs=1000”

这些是具有不同“num_epochs”值的输出:

num_epochs=1000

train metrics:{'global_step':1000,“loss':4.370838e-08,“average_loss':1.0927096e-08}
评估指标:{'global_step':1000,“损失”:0.010135064,“平均损失”:0.00253766}
num_epochs=1

train metrics:{'global_step':1000,“loss”:9.6500253e-07,“average_loss”:2.4125063e-07}
评估指标:{'global_step':1000,“损失”:0.010293347,“平均损失”:0.002573367}
当num_epochs=1时,我希望'loss'和'average_loss'的值相同。有人能帮我理解吗


谢谢。

你的直觉是正确的:

0.002533766 == 0.010293347 / 4


然而,我也被难住了,为什么选择多个时期进行评估是有意义的,特别是如果
x_eval.shape[0]==batch_size
。也许他们只是想证明函数
tf.estimator.inputs.numpy\u input\u fn
接受
num\u epochs
作为参数。

你的直觉是正确的:

0.002533766 == 0.010293347 / 4

然而,我也被难住了,为什么选择多个时期进行评估是有意义的,特别是如果
x_eval.shape[0]==batch_size
。也许他们只是想证明函数
tf.estimator.inputs.numpy\u input\u fn
接受
num\u epochs
作为参数

average_loss == epoch_loss / x_eval.shape[0]