알려진 직접 서브클래스 |
tf.data 데이터 세트를 통한 반복 상태를 나타냅니다. DatasetIterator는 java.util.Iterator가 아닙니다. Eager 모드에서는 '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;
}
}
}
}
예: Eager 모드의 반복.
// 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<?extends TType >>outputTypes, List <Shapes> outputShapes) |
공개 방법
정적 DatasetIterator | fromStructure (Ops tf, List<Class<? 확장 TType >> outputTypes, List< Shape > outputShapes) `outputShapes` 및 `outputTypes`에 의해 정의된 '구조'에서 새 반복자를 만듭니다. |
작전 | |
피연산자 <?> | |
목록< 피연산자 <?>> | getNext () 다음 데이터 세트 요소의 구성 요소를 나타내는 Operand<?> 목록을 반환합니다. |
데이터 세트선택 사항 | getNextAs선택 사항 () 다음 데이터세트 요소의 구성요소를 나타내는 `DatasetOptional`을 반환합니다. |
운영 | |
Iterator<목록< 피연산자 <?>>> | 반복자 () |
작전 |
상속된 메서드
상수
공개 정적 최종 문자열 EMPTY_SHARED_NAME
공공 생성자
공용 DatasetIterator (Ops tf, Operand <?> iteratorResource, Op 이니셜라이저, List<Class<? 확장 TType >> outputTypes, List< Shape > outputShapes)
매개변수
tf | `iteratorResource`와 동일한 `ExecutionEnvironment`에 해당하는 Ops 접근자입니다. |
---|---|
반복자자원 | 반복자를 나타내는 피연산자(예: `tf.data.iterator` 또는 `tf.data.anonymousIterator`로 구성됨) |
초기화 | 이 반복자를 초기화하기 위해 실행해야 하는 `Op` |
출력 유형 | 데이터 세트 요소의 각 구성 요소의 텐서 유형에 해당하는 클래스 목록입니다. |
출력모양 | 데이터세트 요소의 각 구성요소 모양에 해당하는 'Shape' 개체 목록입니다. |
공개 방법
공개 정적 DatasetIterator fromStructure (Ops tf, List<Class<? 확장 TType >> outputTypes, List< Shape > outputShapes)
`outputShapes` 및 `outputTypes`에 의해 정의된 '구조'에서 새 반복자를 만듭니다.
매개변수
tf | 작전 접근자 |
---|---|
출력 유형 | 데이터 세트 요소의 각 구성 요소의 텐서 유형을 나타내는 클래스 목록입니다. |
출력모양 | 데이터세트 요소의 각 구성요소 모양을 나타내는 Shape 개체 목록입니다. |
보고
- 새로운 DatasetIterator
공개 목록< 피연산자 <?>> getNext ()
다음 데이터 세트 요소의 구성 요소를 나타내는 Operand<?>
목록을 반환합니다.
그래프 모드에서는 이 메서드를 한 번 호출하고 그 결과를 다른 계산의 입력으로 사용합니다. 그런 다음 훈련 루프에서 session.run()에 대한 연속 호출에서 연속적인 데이터 세트 요소가 이러한 구성 요소를 통해 검색됩니다.
Eager 모드에서는 이 메서드가 호출될 때마다 다음 데이터세트 요소가 반환됩니다. (이 작업은 Java `Iterable`로 `Dataset`을 반복하여 자동으로 수행됩니다.)
보고
- 데이터 세트 요소 구성 요소를 나타내는
List<Operand<?>>
.
공개 DatasetOptional getNextAsOptional ()
다음 데이터세트 요소의 구성요소를 나타내는 `DatasetOptional`을 반환합니다.
Eager 모드에서는 이 메서드가 호출될 때마다 다음 데이터세트 요소가 'DatasetOptional'로 반환됩니다.
이 옵션에 값이 있는지 확인하려면 `DatasetOptional.hasValue`를 사용하고, 값을 검색하려면 `DatasetOptional.getValue`를 사용하세요.
보고
- 데이터세트 요소 구성요소를 나타내는 `DatasetOptional`입니다.
공개 작전 getOpsInstance ()
공개 Op makeInitializer ( 데이터 세트 데이터세트)
데이터 세트에서 이 반복기를 초기화하기 위해 실행할 수 있는 TF 'Op'를 생성하고 반환합니다. 데이터 세트에는 이 반복자와 일치하는 구조(outputTypes, outputShapes)가 있어야 하며 이 반복기와 동일한 ExecutionEnvironment를 공유해야 합니다.
이 `Op`가 실행되면 이 반복자는 입력 데이터 세트의 첫 번째 요소에서 "다시 초기화"됩니다.
Eager 모드에서는 `makeIterator` 호출의 일부로 작업이 자동으로 실행됩니다.
매개변수
데이터 세트 | 이 반복자를 초기화할 `org.tensorflow.data.Dataset`입니다. |
---|
보고
- 데이터세트에서 이 반복자를 초기화하는 데 사용할 수 있는 TF 'Op'입니다.
던지기
IllegalArgumentException | 데이터 세트의 ExecutionEnvironment 또는 구조가 이 반복자와 일치하지 않는 경우. |
---|