DeepRNN / image_captioning

Tensorflow implementation of "Show, Attend and Tell: Neural Image Caption Generation with Visual Attention"
MIT License
781 stars 351 forks source link

FailedPreconditionError: Attempting to use uninitialized value lstm/lstm_cell/biases #39

Open rola93 opened 5 years ago

rola93 commented 5 years ago

Hello

I'm trying to run it with provided weigths on some images to get its captions.

I'm running it on python 2.7, and tensorflow 1.1.0., however wher I run it I get this:

$ python main.py --phase=test     --model_file='./models/289999/289999.npy' --beam_size=3
2018-08-08 15:12:08.881870: W tensorflow/core/platform/cpu_feature_guard.cc:45] The TensorFlow library wasn't compiled to use SSE4.1 instructions, but these are available on your machine and could speed up CPU computations.
2018-08-08 15:12:08.881907: W tensorflow/core/platform/cpu_feature_guard.cc:45] The TensorFlow library wasn't compiled to use SSE4.2 instructions, but these are available on your machine and could speed up CPU computations.
2018-08-08 15:12:08.881922: W tensorflow/core/platform/cpu_feature_guard.cc:45] The TensorFlow library wasn't compiled to use AVX instructions, but these are available on your machine and could speed up CPU computations.
Building the vocabulary...
Vocabulary built.
Number of words = 5000
Building the dataset...
Dataset built.
Building the CNN...
CNN built.
Building the RNN...
RNN built.
Loading the model from ./models/289999/289999.npy...
100%|██████████████████████████████████████████████████████████████████████████████████████████████████████████| 47/47 [00:01<00:00, 45.43it/s]
45 tensors loaded.
Testing the model ...
path:   0%|                                                                                                              | 0/1 [00:00<?, ?it/s]Traceback (most recent call last):
  File "main.py", line 69, in <module>
    tf.app.run()
  File "/home/rola93/.pyenv/versions/captioning_2/lib/python2.7/site-packages/tensorflow/python/platform/app.py", line 48, in run
    _sys.exit(main(_sys.argv[:1] + flags_passthrough))
  File "main.py", line 66, in main
    model.test(sess, data, vocabulary)
  File "/home/rola93/no_version/image_captioning/base_model.py", line 124, in test
    caption_data = self.beam_search(sess, batch, vocabulary)
  File "/home/rola93/no_version/image_captioning/base_model.py", line 202, in beam_search
    self.last_output: last_output})
  File "/home/rola93/.pyenv/versions/captioning_2/lib/python2.7/site-packages/tensorflow/python/client/session.py", line 778, in run
    run_metadata_ptr)
  File "/home/rola93/.pyenv/versions/captioning_2/lib/python2.7/site-packages/tensorflow/python/client/session.py", line 982, in _run
    feed_dict_string, options, run_metadata)
  File "/home/rola93/.pyenv/versions/captioning_2/lib/python2.7/site-packages/tensorflow/python/client/session.py", line 1032, in _do_run
    target_list, options, run_metadata)
  File "/home/rola93/.pyenv/versions/captioning_2/lib/python2.7/site-packages/tensorflow/python/client/session.py", line 1052, in _do_call
    raise type(e)(node_def, op, message)
tensorflow.python.framework.errors_impl.FailedPreconditionError: Attempting to use uninitialized value lstm/lstm_cell/biases
   [[Node: lstm/lstm_cell/biases/read = Identity[T=DT_FLOAT, _class=["loc:@lstm/lstm_cell/biases"], _device="/job:localhost/replica:0/task:0/cpu:0"](lstm/lstm_cell/biases)]]

Caused by op u'lstm/lstm_cell/biases/read', defined at:
  File "main.py", line 69, in <module>
    tf.app.run()
  File "/home/rola93/.pyenv/versions/captioning_2/lib/python2.7/site-packages/tensorflow/python/platform/app.py", line 48, in run
    _sys.exit(main(_sys.argv[:1] + flags_passthrough))
  File "main.py", line 63, in main
    model = CaptionGenerator(config)
  File "/home/rola93/no_version/image_captioning/base_model.py", line 27, in __init__
    self.build()
  File "/home/rola93/no_version/image_captioning/model.py", line 10, in build
    self.build_rnn()
  File "/home/rola93/no_version/image_captioning/model.py", line 279, in build_rnn
    output, state = lstm(current_input, last_state)
  File "/home/rola93/.pyenv/versions/captioning_2/lib/python2.7/site-packages/tensorflow/contrib/rnn/python/ops/core_rnn_cell_impl.py", line 404, in __call__
    lstm_matrix = _linear([inputs, m_prev], 4 * self._num_units, bias=True)
  File "/home/rola93/.pyenv/versions/captioning_2/lib/python2.7/site-packages/tensorflow/contrib/rnn/python/ops/core_rnn_cell_impl.py", line 1056, in _linear
    initializer=init_ops.constant_initializer(bias_start, dtype=dtype))
  File "/home/rola93/.pyenv/versions/captioning_2/lib/python2.7/site-packages/tensorflow/python/ops/variable_scope.py", line 1049, in get_variable
    use_resource=use_resource, custom_getter=custom_getter)
  File "/home/rola93/.pyenv/versions/captioning_2/lib/python2.7/site-packages/tensorflow/python/ops/variable_scope.py", line 948, in get_variable
    use_resource=use_resource, custom_getter=custom_getter)
  File "/home/rola93/.pyenv/versions/captioning_2/lib/python2.7/site-packages/tensorflow/python/ops/variable_scope.py", line 356, in get_variable
    validate_shape=validate_shape, use_resource=use_resource)
  File "/home/rola93/.pyenv/versions/captioning_2/lib/python2.7/site-packages/tensorflow/python/ops/variable_scope.py", line 341, in _true_getter
    use_resource=use_resource)
  File "/home/rola93/.pyenv/versions/captioning_2/lib/python2.7/site-packages/tensorflow/python/ops/variable_scope.py", line 714, in _get_single_variable
    validate_shape=validate_shape)
  File "/home/rola93/.pyenv/versions/captioning_2/lib/python2.7/site-packages/tensorflow/python/ops/variables.py", line 197, in __init__
    expected_shape=expected_shape)
  File "/home/rola93/.pyenv/versions/captioning_2/lib/python2.7/site-packages/tensorflow/python/ops/variables.py", line 316, in _init_from_args
    self._snapshot = array_ops.identity(self._variable, name="read")
  File "/home/rola93/.pyenv/versions/captioning_2/lib/python2.7/site-packages/tensorflow/python/ops/gen_array_ops.py", line 1338, in identity
    result = _op_def_lib.apply_op("Identity", input=input, name=name)
  File "/home/rola93/.pyenv/versions/captioning_2/lib/python2.7/site-packages/tensorflow/python/framework/op_def_library.py", line 768, in apply_op
    op_def=op_def)
  File "/home/rola93/.pyenv/versions/captioning_2/lib/python2.7/site-packages/tensorflow/python/framework/ops.py", line 2336, in create_op
    original_op=self._default_original_op, op_def=op_def)
  File "/home/rola93/.pyenv/versions/captioning_2/lib/python2.7/site-packages/tensorflow/python/framework/ops.py", line 1228, in __init__
    self._traceback = _extract_stack()

FailedPreconditionError (see above for traceback): Attempting to use uninitialized value lstm/lstm_cell/biases
   [[Node: lstm/lstm_cell/biases/read = Identity[T=DT_FLOAT, _class=["loc:@lstm/lstm_cell/biases"], _device="/job:localhost/replica:0/task:0/cpu:0"](lstm/lstm_cell/biases)]]
rachanamamillapalli commented 5 years ago

This happens when you change the model parameters after training.