【发布时间】:2017-09-13 21:38:48
【问题描述】:
我正在使用 tensorflow 1.0 来训练 DNNRegressor。大多数训练已经由新的 tensorflow 1.0 功能自动处理。模型信息会自动保存在文件夹中。我使用 for 循环使用不同的训练文件反复调用 train(filepath, isAuthentic) 函数。
问题是 events.out.tfevents 文件越来越大,占用空间。我已经通过在生成这些文件时删除它们来解决这个问题,但是 CPU 仍然会逐渐浪费更多时间来尝试生成这些文件。这些不会影响训练或预测的结果。有没有办法阻止这些 events.out.tfevents 文件的生成?
我注意到,当我长时间运行 python 程序时,events.out.tfevents 文件大小开始变小,然后变大,但如果我运行几个较短间隔的训练,文件大小保持小。
picture of model folder, contents ordered by size
当我让训练运行足够长的时间时,events.out.tfevents 达到 200 MB 以上,浪费了大量时间和空间。我已经尝试更改传递给 DNNRegressor 的 RunConfig 对象中的检查点和摘要参数。
def getRegressor():
feature_cols = [tf.contrib.layers.real_valued_column(k) for k in networkSetup.FEATURES]
# Build 2 layer fully connected DNN with 8, 8 units respectively.
regressor = tf.contrib.learn.DNNRegressor(feature_columns=feature_cols,
hidden_units=[8, 8],
model_dir=networkSetup.MODEL_DIR,
activation_fn=tf.nn.sigmoid,
optimizer=tf.train.GradientDescentOptimizer(
learning_rate=0.001
)
)
return regressor
def train(filepath, isAuthentic):
regressor = getRegressor()
# training on training set
regressor.fit(input_fn=lambda: input_fn(filepath, isAuthentic), steps=1)
【问题讨论】:
标签: python tensorflow