Tensorflow不会在合适的情况下开始训练

时间:2017-06-19 20:33:35

标签: python machine-learning tensorflow

我已经关注了重新评估MNIST tutorial,并希望对其进行调整以使用我自己的数据集。使用初始模型,我使用build_image_data.py将我的图像转换为张量并加载它们。然后我尝试使用它们作为模型的输入,但执行会一直停止,直到model.fit()函数。之后没有CPU使用,也没有任何输出。

以下是相关代码:

br

它在一开始就给出的唯一输出是:

  

INFO:tensorflow:使用默认配置。   INFO:tensorflow:使用config:{' _save_checkpoints_steps':无,' _tf_config':gpu_options {     per_process_gpu_memory_fraction:1   }   ,' _tf_random_seed':无,' _keep_checkpoint_max':5,' _num_ps_replicas':0,' _master':'&#39 ;,' _is_chief':是的,' _keep_checkpoint_every_n_hours':10000,' _task_id':0,' _save_summary_steps':100,' _task_type':无,' _num_worker_replicas':0,' _save_checkpoints_secs':600,' _evaluation_master':'',' ; _cluster_spec':,' _环境':'本地',' _model_dir':无}

我的数据集大约是31 MB + 6 MB的输入和验证集。

1 个答案:

答案 0 :(得分:1)

您需要启动队列运行程序。以下代码更改应该有效:

sess = tf.InteractiveSession()

sess.run(tf.global_variables_initializer())
coordinator = tf.train.Coordinator()
threads = tf.train.start_queue_runners(sess=sess,coord=coordinator)

feature_classifier = learn.SKCompat(learn.Estimator(model_fn=cnn_model_fn, model_dir="/tmp/feature_model"))
 ...

print(eval_results)
coordinator.request_stop()
coordinator.join(threads)

另一种推荐的方法是通过进行以下更改来使用更新的Estimator'input_fn'方法:

sess = tf.InteractiveSession()

feature_classifier = learn.Estimator(model_fn=cnn_model_fn, model_dir="/tmp/feature_model")
tensors_to_log = {"probabilities": "softmax_tensor"}
logging_hook = tf.train.LoggingTensorHook(tensors=tensors_to_log, every_n_iter=10)
feature_classifier.fit( input_fn=lambda:image_processing.inputs(training_data), train=True), steps=200000, monitors=[logging_hook])
metrics = {
        "accuracy":
                learn.MetricSpec(metric_fn=tf.metrics.accuracy, prediction_key="classes"),
}