我希望在张量板(不是点...)中像连续图一样持续准确。
我使用:dnnclassifier model
,build_estimator
,input_fn
,trains
和eval
(就像在Tensorflow教程中一样)。
请帮帮我。
def build_estimator(model_dir):
m = tf.estimator.DNNClassifier(
model_dir=model_dir,
feature_columns=deep_columns,
n_classes=10,
hidden_units=[512, 256],
config=tf.contrib.learn.RunConfig(save_checkpoints_secs=1)
)
return m
def input_fn(data_file, num_epochs, shuffle):
labels = data_file['RATING'].astype(int)
return tf.estimator.inputs.pandas_input_fn(
x=data_file,
y=labels,
batch_size=100,
num_epochs=num_epochs,
shuffle=shuffle,
num_threads=5)
def trains_and_eval( train_data, test_data, train_steps ):
model_dir = "./board/sample"
m = build_estimator(model_dir)
m.train( input_fn=input_fn( train_data, num_epochs=1, shuffle=True), steps=train_steps)
results = m.evaluate( input_fn=input_fn(test_data, num_epochs=1, shuffle=False), steps=None)
for key in sorted(results):
print("%s: %s" % (key, results[key]))
答案 0 :(得分:0)
"准确度中的每个数据点"致电m.evaluate()
时会生成情节。由于您只需拨打m.evaluate()
一次,因此该图表只包含一个点。
修改程序以多次调用m.evaluate()
将导致连续的情节。例如,您可以围绕对m.train()
和m.evaluate()
:
for _ in range(10):
m.train(input_fn=input_fn(train_data, num_epochs=1, shuffle=True),
steps=train_steps)
results = m.evaluate(input_fn=input_fn(test_data, num_epochs=1, shuffle=False),
steps=None)
最近添加的(在TensorFlow 1.4中)tf.estimator.train_and_evaluate()
函数也可能有助于自动完成此过程。