DatasetIterator

общедоступный класс DatasetIterator
Известные прямые подклассы

Представляет состояние итерации через набор данных tf.data. DatasetIterator не является java.util.Iterator. В режиме ожидания Dataset можно использовать как Iterable, возвращая элементы набора данных на каждой итерации.

Пример: Итерация в графическом режиме.

// Create input tensors
 Operand<?> features = tf.constant( ... );
 Operand<?> labels = tf.constant( ... );


 Dataset dataset = Dataset
         .fromTensorSlices(XTensor, yTensor);
         .batch(BATCH_SIZE);

 DatasetIterator iterator = dataset.makeInitializeableIterator();
 List<Operand<?>> components = iterator.getNext();
 Operand<?> featureBatch = components.get(0);
 Operand<?> labelBatch = components.get(1);

 // Build a TensorFlow graph that does something on each element.
 loss = computeModelLoss(featureBatch, labelBatch);

 optimizer = ... // create an optimizer
 trainOp = optimizer.minimize(loss);

 try (Session session = new Session(graph) {
   while (true) {
     session.run(iterator.getInitializer());
     try {
         session
           .addTarget(trainOp)
           .fetch(loss)
           .run();

         ...
      catch (TFOutOfRangeError e) {
         System.out.println("finished iterating.");
         break;
     }
   }
 }

 }

Пример: Итерация в режиме ожидания.

// Create input tensors
 Operand<?> features = tf.constant( ... );
 Operand<?> labels = tf.constant( ... );

 int BATCH_SIZE = ...

 Dataset dataset = Dataset
         .fromTensorSlices(features, labels)
         .batch(BATCH_SIZE);
 DatasetIterator iterator = dataset.makeIterator();

 Optimizer optimizer = ... // create an optimizer

 for (List<Operand<?>> components : dataset) {
     Operand<?> featureBatch = components.get(0);
     Operand<?> labelBatch = components.get(1);

     loss = computeModelLoss(featureBatch, labelBatch);
     trainOp = optimizer.minimize(loss);
 
 }

Константы

Нить EMPTY_SHARED_NAME

Публичные конструкторы

DatasetIterator (Ops tf, Operand <?> iteratorResource, Op инициализатор, List<Class<? расширяет TType >> outputTypes, List< Shape > outputShapes)
DatasetIterator (Ops tf, Operand <?> iteratorResource, List<Class<? расширяет TType >> outputTypes, List< Shape > outputShapes)

Публичные методы

статический DatasetIterator
fromStructure (Ops tf, List<Class<? расширяет TType >> outputTypes, List< Shape > outputShapes)
Создает новый итератор из «структуры», определенной параметрами «outputShapes» и «outputTypes».
Оп
Операнд <?>
Список< Операнд <?>>
получитьСледующий ()
Возвращает список Operand<?> , представляющий компоненты следующего элемента набора данных.
Набор данныхНеобязательно
getNextAsOptional ()
Возвращает DatasetOptional, представляющий компоненты следующего элемента набора данных.
Операции
Итератор<Список< Операнд <?>>>
Оп
makeInitializer (набор данных набора данных )
Создает и возвращает TF `Op`, который можно запустить для инициализации этого итератора в наборе данных.

Унаследованные методы

Константы

общедоступная статическая финальная строка EMPTY_SHARED_NAME

Постоянное значение: ""

Публичные конструкторы

public DatasetIterator (Ops tf, Operand <?> iteratorResource, Op инициализатор, List<Class<? расширяет TType >> outputTypes, List< Shape > outputShapes)

Параметры
ТС Аксессор Ops, соответствующий тому же «ExecutionEnvironment», что и «iteratorResource».
итераторРесурс Операнд, представляющий итератор (например, созданный на основе tf.data.iterator или tf.data.anonymousIterator).
инициализатор `Op`, который должен быть запущен для инициализации этого итератора.
типы вывода Список классов, соответствующих тензорному типу каждого компонента элемента набора данных.
выходные фигуры Список объектов Shape, соответствующих формам каждого компонента элемента набора данных.

public DatasetIterator (Ops tf, Operand <?> iteratorResource, List<Class<? расширяет TType >> outputTypes, List< Shape > outputShapes)

Публичные методы

общедоступный статический DatasetIterator fromStructure (Ops tf, List<Class<? расширяет TType >> outputTypes, List< Shape > outputShapes)

Создает новый итератор из «структуры», определенной параметрами «outputShapes» и «outputTypes».

Параметры
ТС Операционный аксессуар
типы вывода Список классов, представляющих тензорный тип каждого компонента элемента набора данных.
выходные фигуры Список объектов Shape, представляющих форму каждого компонента элемента набора данных.
Возврат
  • Новый DatasetIterator

общедоступная операция getInitializer ()

публичный операнд <?> getIteratorResource ()

общедоступный список< Операнд <?>> getNext ()

Возвращает список Operand<?> , представляющий компоненты следующего элемента набора данных.

В режиме графика вызовите этот метод один раз и используйте его результат в качестве входных данных для другого вычисления. Затем в цикле обучения при последовательных вызовах session.run() последовательные элементы набора данных будут извлекаться через эти компоненты.

В режиме ожидания каждый раз, когда вызывается этот метод, будет возвращен следующий элемент набора данных. (Это делается автоматически путем итерации по `Dataset` как Java `Iterable`).

Возврат
  • List<Operand<?>> , представляющий компоненты элемента набора данных.

общедоступный DatasetOptional getNextAsOptional ()

Возвращает DatasetOptional, представляющий компоненты следующего элемента набора данных.

В режиме ожидания каждый раз, когда вызывается этот метод, следующий элемент набора данных будет возвращен как DatasetOptional.

Используйте DatasetOptional.hasValue, чтобы проверить, имеет ли этот опционал значение, и DatasetOptional.getValue, чтобы получить значение.

Возврат
  • DatasetOptional, представляющий компоненты элемента набора данных.

общедоступные операции getOpsInstance ()

public Iterator<List< Operand <?>>> итератор ()

public Op makeInitializer (набор данных набора данных )

Создает и возвращает TF `Op`, который можно запустить для инициализации этого итератора в наборе данных. Набор данных должен иметь структуру (outputTypes, outputShapes), соответствующую этому итератору, и использовать ту же среду ExecutionEnvironment, что и этот итератор.

Когда этот `Op` запускается, этот итератор будет «повторно инициализирован» в первом элементе входного набора данных.

В режиме ожидания операция будет выполняться автоматически как часть вызова makeIterator.

Параметры
набор данных `org.tensorflow.data.Dataset` для инициализации этого итератора.
Возврат
  • TF `Op`, который можно использовать для инициализации этого итератора в наборе данных.
Броски
IllegalArgumentException если ExecutionEnvironment или структура набора данных не соответствует этому итератору.