Инициализация весов в Tensorflow - Ошибка предварительного условия - PullRequest
0 голосов
/ 03 марта 2020

Я довольно новичок в tenorflow и python. Я пытаюсь обучить сеть DeepCaps, в которой веса инициализируются таким образом в DeepCaps_layer

        self.w = tf.compat.v1.get_variable('Weight', shape=self.w_shape, dtype=tf.float32,
                                       initializer=tf.random_normal_initializer)

Проблема заключается в этой ошибке:

2020-03-03 17:31:28.079932: W tensorflow/core/kernels/queue_base.cc:285] _0_shuffle_batch/random_shuffle_queue: Skipping cancelled dequeue attempt with queue not closed
Traceback (most recent call last):
  File "main.py", line 492, in <module>
    tf.app.run()
  File "/srv/data/user/anaconda3/envs/tf-1.13-gpu/lib/python3.7/site-packages/tensorflow_core/python/platform/app.py", line 40, in run
    _run(main=main, argv=argv, flags_parser=_parse_flags_tolerate_undef)
  File "/srv/data/user/anaconda3/envs/tf-1.13-gpu/lib/python3.7/site-packages/absl/app.py", line 299, in run
    _run_main(main, args)
  File "/srv/data/user/anaconda3/envs/tf-1.13-gpu/lib/python3.7/site-packages/absl/app.py", line 250, in _run_main    sys.exit(main(argv))
  ...
  File "/srv/data/user/CapsNet.py", line 43, in __init__
    self.build_arch(gene)
  File "/srv/data/user/CapsNet.py", line 248, in build_arch
    self.decoded = decoder(masked_by_y)
  File "/srv/data/user/anaconda3/envs/tf-1.13-gpu/lib/python3.7/site-packages/tensorflow_core/python/keras/engine/base_layer.py", line 802, in __call__
    base_layer_utils.create_keras_history(inputs)
  File "/srv/data/user/anaconda3/envs/tf-1.13-gpu/lib/python3.7/site-packages/tensorflow_core/python/keras/engine/base_layer_utils.py", line 184, in create_keras_history
    _, created_layers = _create_keras_history_helper(tensors, set(), [])
  File "/srv/data/user/anaconda3/envs/tf-1.13-gpu/lib/python3.7/site-packages/tensorflow_core/python/keras/engine/base_layer_utils.py", line 229, in _create_keras_history_helper
    constants[i] = backend.function([], op_input)([])
  File "/srv/data/user/anaconda3/envs/tf-1.13-gpu/lib/python3.7/site-packages/tensorflow_core/python/keras/backend.py", line 3476, in __call__
    run_metadata=self.run_metadata)
  File "/srv/data/user/anaconda3/envs/tf-1.13-gpu/lib/python3.7/site-packages/tensorflow_core/python/client/session.py", line 1472, in __call__
    run_metadata_ptr)
tensorflow.python.framework.errors_impl.FailedPreconditionError: 2 root error(s) found.
  (0) Failed precondition: Attempting to use uninitialized value DeepCaps2_layer/Weight
         [[{{node DeepCaps2_layer/Weight/read}}]]
         [[Sqrt/_55]]
  (1) Failed precondition: Attempting to use uninitialized value DeepCaps2_layer/Weight
         [[{{node DeepCaps2_layer/Weight/read}}]]
0 successful operations.
0 derived errors ignored.

Я не понимаю, почему я получите эту ошибку. Вы можете мне помочь?

...