TensorFlow TypeError: объект 'BatchDataset' не повторяется - PullRequest
0 голосов
/ 15 мая 2018

Я следую руководству TensorFlow . В нем конкретно сказано, что нужно активнее выполнять пример проекта для классификации радужки (цветка).

Импортируйте необходимые модули Python, включая TensorFlow, и включите активное выполнение этой программы. Стремительное выполнение заставляет TensorFlow немедленно оценивать операции, возвращая конкретные значения вместо создания вычислительного графа, который выполняется позже. Если вы привыкли к REPL или интерактивной консоли python, вы будете чувствовать себя как дома.

Итак, я следовал инструкциям, чтобы включить выполнение, и продолжил инструкции. Однако, когда я добрался до раздела, обсуждающего, как набор данных будет подготовлен в набор данных тензорного потока, я столкнулся с ошибкой.

Сотовый код

train_dataset = tf.data.TextLineDataset(train_dataset_fp)
train_dataset = train_dataset.skip(1)             # skip the first header row
train_dataset = train_dataset.map(parse_csv)      # parse each row
train_dataset = train_dataset.shuffle(buffer_size=1000)  # randomize
train_dataset = train_dataset.batch(32)

# View a single example entry from a batch
features, label = iter(train_dataset).next()
print("example features:", features[0])
print("example label:", label[0])

Error

---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
<ipython-input-5-61bfe99af85b> in <module>()

      7 
      8 # View a single example entry from a batch
----> 9 features, label = iter(train_dataset).next()
     10 print("example features:", features[0])
     11 print("example label:", label[0])

TypeError: 'BatchDataset' object is not iterable

Я просто хочу продолжить следовать примерам. Что я могу сделать, чтобы превратить объект BatchDataset в нечто итеративное?

1 Ответ

0 голосов
/ 15 мая 2018

Оказывается, что на самом деле мне не удалось выполнить определенные шаги в проекте, которые вызвали эту проблему.

Обновление TensorFlow с 1,7 до 1,8:

!pip install --upgrade tensorflow

Проверка, обновлен ли ваш TensorFlow

Эта кодовая ячейка:

from __future__ import absolute_import, division, print_function

import os
import matplotlib.pyplot as plt

import tensorflow as tf
import tensorflow.contrib.eager as tfe

tf.enable_eager_execution()

print("TensorFlow version: {}".format(tf.VERSION))
print("Eager execution: {}".format(tf.executing_eagerly()))

Должен вернуть следующий вывод:

TensorFlow version: 1.8.0
Eager execution: True
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...