알려진 간접 하위 클래스 |
정적으로 유형이 지정된 다차원 배열입니다.
TensorFlow Java에는 typed tensors
와 raw tensors
두 가지 범주의 텐서가 있습니다. 전자는 텐서 기본 메모리를 n차원 유형의 데이터 공간에 매핑하여 JVM에서 직접 I/O 작업을 허용하는 반면, 후자는 기본 작업과 플랫 데이터 액세스를 허용하는 기본 텐서에 대한 참조일 뿐입니다.
경고: Tensor 객체가 소비한 리소스는 해당 객체가 더 이상 필요하지 않을 때 close()
메서드를 호출하여 명시적으로 해제 해야 합니다 . 예를 들어 try-with-resources 블록을 사용하면 다음과 같습니다.
try (Tensor t = Tensor.of(...)) {
doSomethingWith(t);
}
Tensor의 인스턴스는 스레드로부터 안전하지 않습니다 .
공개 방법
추상 RawTensor | asRawTensor () 이 텐서의 원시(유형이 지정되지 않은) 표현을 반환합니다. |
추상적인 공백 | 닫다 () Tensor와 관련된 리소스를 해제합니다. |
추상 데이터 유형 | |
추상적인 긴 | 숫자바이트 () 텐서 데이터의 크기를 바이트 단위로 반환합니다. |
추상 정적 <T는 TType > T를 확장합니다. | |
추상 정적 <T는 TType > T를 확장합니다. | |
추상 정적 <T는 TType > T를 확장합니다. | |
추상 정적 <T는 TType > T를 확장합니다. | |
추상 정적 <T는 TType > T를 확장합니다. | |
추상 모양 | 모양 () 텐서의 형태를 반환합니다. |
상속된 메서드
공개 방법
공개 추상 무효 닫기 ()
Tensor와 관련된 리소스를 해제합니다.
경고: Eager 작업으로 생성되지 않은 모든 텐서에 대해 이 명령을 호출해야 합니다. 그렇지 않으면 메모리가 누출됩니다.
close
반환 후에는 Tensor 객체를 더 이상 사용할 수 없습니다.
공개 추상 긴 numBytes ()
텐서 데이터의 크기를 바이트 단위로 반환합니다.
public static abstract T of (Class<T> 유형, Shape 모양, 긴 크기, Consumer<T> dataInitializer)
주어진 데이터 유형, 모양 및 크기의 텐서를 할당합니다.
이 메소드는 텐서의 최종 크기가 데이터 유형 및 모양에서 계산되는 대신 명시적으로 설정될 수 있다는 점을 제외하면 of(Class, Shape, Consumer)
와 동일합니다.
이는 문자열 텐서의 조회 테이블과 같이 데이터뿐만 아니라 텐서 메모리의 메타데이터도 저장하는 텐서 유형에 유용할 수 있습니다.
매개변수
유형 | 텐서 유형 클래스 |
---|---|
모양 | 텐서의 모양 |
크기 | 텐서의 크기(바이트) 또는 모양에서 크기를 계산하려면 -1 |
데이터 초기화 프로그램 | 초기화를 위해 할당된 텐서 데이터에 대한 접근자를 수신하는 메서드 |
보고
- 할당되고 초기화된 텐서
던지기
IllegalArgumentException | size 텐서 데이터를 저장하는 데 필요한 최소 공간보다 작은 경우 |
---|---|
IllegalArgumentException | size -1로 설정되었지만 주어진 type 의 요소가 가변 길이인 경우(예: 문자열) |
IllegalArgumentException | shape 완전히 또는 부분적으로 unknown 경우 |
IllegalStateException | 텐서 할당에 실패한 경우 |
(Class<T> 유형, 모양 모양) 의 공개 정적 추상 T
주어진 데이터 유형과 형태의 텐서를 할당합니다.
할당할 메모리 양은 데이터 유형과 텐서의 모양에서 파생되며 초기화되지 않은 상태로 유지됩니다.
매개변수
유형 | 텐서 유형 클래스 |
---|---|
모양 | 텐서의 모양 |
보고
- 할당되었지만 초기화되지 않은 텐서
던지기
IllegalArgumentException | 주어진 type 의 요소가 가변 길이인 경우(예: 문자열) |
---|---|
IllegalArgumentException | shape 완전히 또는 부분적으로 unknown 경우 |
IllegalStateException | 텐서 할당에 실패한 경우 |
public static abstract T of (Class<T> 유형, Shape 모양, 긴 크기)
주어진 데이터 유형, 모양 및 크기의 텐서를 할당합니다.
이 방법은 데이터 유형 및 모양에서 계산하는 대신 텐서의 최종 크기를 명시적으로 설정할 수 있다는 점을 제외하면 of(Class, Shape)
와 동일합니다. 이는 데이터를 저장하는 데 필요한 실제 공간보다 클 수 있지만 작을 수는 없습니다. .
매개변수
유형 | 텐서 유형 클래스 |
---|---|
모양 | 텐서의 모양 |
크기 | 텐서의 크기(바이트) 또는 모양에서 크기를 계산하려면 -1 |
보고
- 할당되었지만 초기화되지 않은 텐서
던지기
IllegalArgumentException | size 텐서 데이터를 저장하는 데 필요한 최소 공간보다 작은 경우 |
---|---|
IllegalArgumentException | size -1로 설정되었지만 주어진 type 의 요소가 가변 길이인 경우(예: 문자열) |
IllegalArgumentException | shape 완전히 또는 부분적으로 unknown 경우 |
IllegalStateException | 텐서 할당에 실패한 경우 |
(Class<T> 유형, Shape 형태, Consumer<T> dataInitializer) 의 공개 정적 추상 T
주어진 데이터 유형과 형태의 텐서를 할당하고 초기화합니다.
할당할 메모리 양은 데이터 유형과 텐서의 모양에 따라 결정됩니다. 텐서 데이터는 할당된 텐서에 대해 ERROR(/#data())
에 의해 반환된 값을 인수로 받는 dataInitializer
호출하여 초기화됩니다. 예를 들어:
FloatNdArray data = ...
try (TFloat32 t = Tensor.of(TFloat32.class, Shape.of(2, 2), data::copyTo)) {
...
}
dataInitializer
실패하고 예외가 발생하면 할당된 텐서는 동일한 예외가 다시 발생하기 전에 자동으로 해제됩니다.
매개변수
유형 | 텐서 유형 클래스 |
---|---|
모양 | 텐서의 모양 |
데이터 초기화 프로그램 | 초기화를 위해 할당된 텐서 데이터에 대한 접근자를 수신하는 메서드 |
보고
- 할당되고 초기화된 텐서
던지기
IllegalArgumentException | 주어진 type 의 요소가 가변 길이인 경우(예: 문자열) |
---|---|
IllegalArgumentException | shape 완전히 또는 부분적으로 unknown 경우 |
IllegalStateException | 텐서 할당에 실패한 경우 |
(Class<T> 유형, 모양 모양, ByteDataBuffer rawData) 의 공개 정적 추상 T
주어진 버퍼가 제공하는 원시 데이터에서 모든 유형의 Tensor를 생성합니다.
데이터는 TensorFlow C API 사양에 따라 data
로 인코딩되어야 합니다.
매개변수
유형 | 텐서 유형 클래스 |
---|---|
모양 | 텐서 모양. |
원시 데이터 | 텐서 원시 데이터가 포함된 버퍼입니다. |
던지기
IllegalArgumentException | rawData 텐서 데이터를 포함할 만큼 크지 않은 경우 |
---|---|
IllegalArgumentException | shape 완전히 또는 부분적으로 unknown 경우 |
IllegalStateException | 주어진 매개변수로 텐서 할당에 실패한 경우 |