2017-11-12 1 views
0

tf.train.batch_join() (queue 기반)을 사용하여 placeholder를 batch_size로 사용할 수 있으므로 교육에서 일괄 처리 크기를 동적으로 변경할 수 있습니다. 고리. 내가 tf.data.Dataset.batch()에 대한 BATCH_SIZE로 자리 (또는 nontrainable 변수)를 사용하지만, 나는이 오류가 발생했습니다tf.data 또는 tf.contrib.datta를 사용하는 동적 일괄 처리 크기

,

ValueError: Cannot capture a placeholder (name:Placeholder, type:Placeholder) by value. 

전체 오류 스택 추적

이 매우 깁니다. I는 tensorflow/파이썬/데이터/OPS/dataset_ops.py을 V1.4에 에러를 추적 108 make_one_shot_iterator()에서 부착

@function.Defun(capture_by_value=True) 

풀 스택 트레이스. 나는 공식 tf resnet 모델을 시도했다.

감사합니다.

Traceback (most recent call last): 
    File "imagenet_main.py", line 281, in <module> 
    tf.app.run(argv=[sys.argv[0]] + unparsed) 
    File "/usr/lib/python2.7/site-packages/tensorflow/python/platform/app.py", line 48, in run 
    _sys.exit(main(_sys.argv[:1] + flags_passthrough)) 
    File "imagenet_main.py", line 270, in main 
    hooks=[logging_hook]) 
    File "/usr/lib/python2.7/site-packages/tensorflow/python/estimator/estimator.py", line 302, in train 
    loss = self._train_model(input_fn, hooks, saving_listeners) 
    File "/usr/lib/python2.7/site-packages/tensorflow/python/estimator/estimator.py", line 708, in _train_model 
    input_fn, model_fn_lib.ModeKeys.TRAIN) 
    File "/usr/lib/python2.7/site-packages/tensorflow/python/estimator/estimator.py", line 577, in _get_features_and_labels_from_input_fn 
    result = self._call_input_fn(input_fn, mode) 
    File "/usr/lib/python2.7/site-packages/tensorflow/python/estimator/estimator.py", line 663, in _call_input_fn 
    return input_fn(**kwargs) 
    File "imagenet_main.py", line 269, in <lambda> 
    True, FLAGS.data_dir, worker_batch_size, FLAGS.epochs_per_eval), 
    File "imagenet_main.py", line 157, in input_fn 
    iterator = dataset.make_one_shot_iterator() 
    File "/usr/lib/python2.7/site-packages/tensorflow/python/data/ops/dataset_ops.py", line 113, in make_one_shot_iterator 
    _make_dataset.add_to_graph(ops.get_default_graph()) 
    File "/usr/lib/python2.7/site-packages/tensorflow/python/framework/function.py", line 486, in add_to_graph 
    self._create_definition_if_needed() 
    File "/usr/lib/python2.7/site-packages/tensorflow/python/framework/function.py", line 321, in _create_definition_if_needed 
    self._create_definition_if_needed_impl() 
    File "/usr/lib/python2.7/site-packages/tensorflow/python/framework/function.py", line 338, in _create_definition_if_needed_impl 
    outputs = self._func(*inputs) 

    File "/usr/lib/python2.7/site-packages/tensorflow/python/data/ops/dataset_ops.py", line 111, in _make_dataset 
    return self._as_variant_tensor() # pylint: disable=protected-access 
    File "/usr/lib/python2.7/site-packages/tensorflow/python/data/ops/dataset_ops.py", line 1225, in _as_variant_tensor 
    self._input_dataset._as_variant_tensor(), # pylint: disable=protected-access 
    File "/usr/lib/python2.7/site-packages/tensorflow/python/data/ops/dataset_ops.py", line 1036, in _as_variant_tensor 
    self._input_dataset._as_variant_tensor(), # pylint: disable=protected-access 
    File "/usr/lib/python2.7/site-packages/tensorflow/python/data/ops/dataset_ops.py", line 1147, in _as_variant_tensor 
    self._input_dataset._as_variant_tensor(), # pylint: disable=protected-access 
    File "/usr/lib/python2.7/site-packages/tensorflow/python/data/ops/dataset_ops.py", line 1598, in _as_variant_tensor 
    output_types=nest.flatten(self.output_types)) 
    File "/usr/lib/python2.7/site-packages/tensorflow/python/ops/gen_dataset_ops.py", line 1062, in prefetch_dataset 
    output_shapes=output_shapes, name=name) 
    File "/usr/lib/python2.7/site-packages/tensorflow/python/framework/op_def_library.py", line 787, in _apply_op_helper 
    op_def=op_def) 
    File "/usr/lib/python2.7/site-packages/tensorflow/python/framework/function.py", line 691, in create_op 
    inputs[i] = self._add_tensor_and_parents(x) 
    File "/usr/lib/python2.7/site-packages/tensorflow/python/framework/function.py", line 706, in _add_tensor_and_parents 
    op = self._add_op_and_parents(tensor.op) 
    File "/usr/lib/python2.7/site-packages/tensorflow/python/framework/function.py", line 718, in _add_op_and_parents 
    "by value." % (op.name, op.type)) 
ValueError: Cannot capture a placeholder (name:Placeholder, type:Placeholder) by value. 

답변

0

는 initializable 반복자를 사용할 필요가 같이

을 one_shot하지 보인다
관련 문제