Tensorflow 2.2: Iterator.make_initializer возвращает None - PullRequest
0 голосов
/ 19 июня 2020

Я пытаюсь запустить код, написанный в тензорном потоке 1.1, используя тензорный поток 2.2. Я уже запустил tf_upgrade_v2, который изменил большинство неподдерживаемых вещей. Однако при создании итератора

train_data = tf.data.Dataset.from_generator(gen_function, gen_types, gen_shapes)
train_data = train_data.map(map_func=map_func, num_parallel_calls=self.num_threads)
# Prefetch data
train_data = train_data.prefetch(10)
# create a iterator of the correct shape and type
iterator = tf.compat.v1.data.Iterator.from_structure(tf.compat.v1.data.get_output_types(train_data), tf.compat.v1.data.get_output_shapes(train_data))

и при его инициализации:

train_init_op = iter.make_initializer(train_data)

Оператор инициализации train_init_op равен None. и я получил следующую ошибку при запуске sess.run(train_init_op):

File "/home/.local/lib/python3.6/site-packages/tensorflow/python/client/session.py", line 958, in run
    run_metadata_ptr)
  File "/home/.local/lib/python3.6/site-packages/tensorflow/python/client/session.py", line 1166, in _run
    self._graph, fetches, feed_dict_tensor, feed_handles=feed_handles)
  File "/home/.local/lib/python3.6/site-packages/tensorflow/python/client/session.py", line 477, in __init__
    self._fetch_mapper = _FetchMapper.for_fetch(fetches)
  File "/home/.local/lib/python3.6/site-packages/tensorflow/python/client/session.py", line 263, in for_fetch
    (fetch, type(fetch)))
TypeError: Fetch argument None has invalid type <class 'NoneType'>

Как я могу решить эту проблему?

Информация о системе

  • Платформа и распространение ОС: Ubuntu 18.04
  • Версия TensorFlow: 2.2.0
  • Python версия: 3.6
  • Версия CUDA / cuDNN: 10.2 / 7.6
  • Модель графического процессора и память: GeForce RTX 2080 Ti / 12 Гб
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...