Tensor

공개 최종 클래스 Tensor

요소가 T에서 설명하는 유형인 정적으로 유형이 지정된 다차원 배열입니다.

Tensor의 인스턴스는 스레드로부터 안전하지 않습니다 .

경고: Tensor 객체가 소비한 리소스는 해당 객체가 더 이상 필요하지 않을 때 close() 메서드를 호출하여 명시적으로 해제 해야 합니다 . 예를 들어 try-with-resources 블록을 사용하면 다음과 같습니다.

try (Tensor t = Tensor.create(...)) {
   doSomethingWith(t);
 }
 

공개 방법

부울
부울값 ()
스칼라 Boolean 텐서의 값을 반환합니다.
바이트[]
바이트값 ()
스칼라 String 텐서의 값을 반환합니다.
무효의
닫다 ()
Tensor와 관련된 리소스를 해제합니다.
<유>유
copyTo (U dst)
텐서의 내용을 dst 에 복사하고 dst 반환합니다.
정적 텐서 <?>
생성 (객체 obj)
기본 데이터 유형이 무엇인지 파악하기 위해 클래스를 검사하는 객체에서 텐서를 생성합니다.
정적 <T> 텐서 <T>
생성 (Class<T> 유형, long[] 모양, ByteBuffer 데이터)
주어진 버퍼의 데이터로 모든 유형의 Tensor를 생성합니다.
정적 텐서 <Double>
생성 (long[] 모양, DoubleBuffer 데이터)
주어진 버퍼의 데이터로 Double 텐서를 생성합니다.
정적 텐서 <Long>
생성 (long[] 모양, LongBuffer 데이터)
주어진 버퍼의 데이터로 Long Tensor를 생성합니다.
정적 텐서 <정수>
생성 (long[] 모양, IntBuffer 데이터)
주어진 버퍼의 데이터로 Integer 텐서를 생성합니다.
정적 텐서 <플로트>
생성 (long[] 모양, FloatBuffer 데이터)
주어진 버퍼의 데이터로 Float 텐서를 생성합니다.
정적 <T> 텐서 <T>
생성 (객체 obj, Class<T> 유형)
Java 객체에서 Tensor를 생성합니다.
데이터 유형
데이터 유형 ()
Tensor에 저장된 요소의 DataType 반환합니다.
더블
이중값 ()
스칼라 Double 텐서의 값을 반환합니다.
<U> 텐서 <U>
예상 (Class<U> 유형)
Tensor&lt;U&gt; 유형의 Tensor 객체를 반환합니다. .
뜨다
부동값 ()
스칼라 Float 텐서의 값을 반환합니다.
정수
정수값 ()
스칼라 Integer 텐서의 값을 반환합니다.
긴값 ()
스칼라 Long 텐서의 값을 반환합니다.
정수
숫자바이트 ()
텐서 데이터의 크기를 바이트 단위로 반환합니다.
정수
numDimensions ()
Tensor의 차원 수( 순위 라고도 함)를 반환합니다.
정수
요소 수 ()
텐서의 평면화된(1-D) 뷰에 있는 요소 수를 반환합니다.
긴[]
모양 ()
Tensor의 모양 , 즉 각 차원의 크기를 반환합니다.
toString ()
Tensor의 유형과 모양을 설명하는 문자열을 반환합니다.
무효의
writeTo (LongBuffer dst)
Long 텐서의 데이터를 주어진 버퍼에 씁니다.
무효의
writeTo (DoubleBuffer dst)
주어진 버퍼에 Double 텐서의 데이터를 씁니다.
무효의
writeTo (IntBuffer dst)
Integer 텐서의 데이터를 주어진 버퍼에 씁니다.
무효의
writeTo (ByteBuffer dst)
주어진 버퍼에 텐서 데이터를 씁니다.
무효의
writeTo (FloatBuffer dst)
주어진 버퍼에 Float 텐서의 데이터를 씁니다.

상속된 메서드

공개 방법

공개 부울 부울값 ()

스칼라 Boolean 텐서의 값을 반환합니다.

던지기
IllegalArgumentException Tensor가 부울 스칼라를 나타내지 않는 경우.

공개 바이트[] bytesValue ()

스칼라 String 텐서의 값을 반환합니다.

던지기
IllegalArgumentException Tensor가 부울 스칼라를 나타내지 않는 경우.

공공 무효 닫기 ()

Tensor와 관련된 리소스를 해제합니다.

경고: Eager 작업으로 생성되지 않은 모든 텐서에 대해 이 명령을 호출해야 합니다. 그렇지 않으면 메모리가 누출됩니다.

close 반환 후에는 Tensor 객체를 더 이상 사용할 수 없습니다.

공개 U copyTo (U dst)

텐서의 내용을 dst 에 복사하고 dst 반환합니다.

스칼라가 아닌 텐서의 경우 이 메소드는 기본 텐서의 내용을 Java 배열에 복사합니다. 스칼라 텐서의 경우 bytesValue() , floatValue() , doubleValue() , intValue() , longValue() 또는 booleanValue() 중 하나를 대신 사용하십시오. dst 의 유형과 모양은 텐서와 호환되어야 합니다. 예를 들어:

int matrix[2][2] = { {1,2},{3,4} };
 try(Tensor t = Tensor.create(matrix)) {
   // Succeeds and prints "3"
   int[][] copy = new int[2][2];
   System.out.println(t.copyTo(copy)[1][0]);

   // Throws IllegalArgumentException since the shape of dst does not match the shape of t.
   int[][] dst = new int[4][1];
   t.copyTo(dst);
 }
 

매개변수
일광
던지기
IllegalArgumentException 텐서가 스칼라이거나 dst 텐서와 호환되지 않는 경우(예: 데이터 유형 또는 모양이 일치하지 않는 경우)

공개 정적 텐서 <?> 생성 (객체 obj)

기본 데이터 유형이 무엇인지 파악하기 위해 클래스를 검사하는 객체에서 텐서를 생성합니다.

매개변수
객체
던지기
IllegalArgumentException obj TensorFlow 유형 시스템과 호환되지 않는 경우.

public static Tensor <T> create (Class<T> 유형, long[] 모양, ByteBuffer 데이터)

주어진 버퍼의 데이터로 모든 유형의 Tensor를 생성합니다.

TensorFlow C API 의 사양에 따라 텐서의 데이터가 data 로 인코딩된 모든 유형의 제공된 형태로 텐서를 생성합니다.

매개변수
유형 클래스 객체로 표현되는 텐서 요소 유형.
모양 텐서 모양.
데이터 텐서 데이터를 포함하는 버퍼.
던지기
IllegalArgumentException 텐서 데이터 유형이나 형태가 버퍼와 ​​호환되지 않는 경우

public static Tensor <Double> 생성 (long[] 모양, DoubleBuffer 데이터)

주어진 버퍼의 데이터로 Double 텐서를 생성합니다.

버퍼의 요소(현재 위치부터 시작)를 텐서에 복사하여 지정된 모양의 텐서를 생성합니다. 예를 들어, shape = {2,3} (2x3 행렬을 나타냄)인 경우 버퍼에는 6개의 요소가 남아 있어야 하며 이 메서드는 이 요소를 사용합니다.

매개변수
모양 텐서 모양.
데이터 텐서 데이터를 포함하는 버퍼.
던지기
IllegalArgumentException 텐서 형태가 버퍼와 ​​호환되지 않는 경우

public static Tensor <Long> 생성 (long[] 모양, LongBuffer 데이터)

주어진 버퍼의 데이터로 Long Tensor를 생성합니다.

버퍼의 요소(현재 위치부터 시작)를 텐서에 복사하여 지정된 모양의 텐서를 생성합니다. 예를 들어, shape = {2,3} (2x3 행렬을 나타냄)인 경우 버퍼에는 6개의 요소가 남아 있어야 하며 이 메서드는 이 요소를 사용합니다.

매개변수
모양 텐서 모양.
데이터 텐서 데이터를 포함하는 버퍼.
던지기
IllegalArgumentException 텐서 형태가 버퍼와 ​​호환되지 않는 경우

public static Tensor <Integer> 생성 (long[] 모양, IntBuffer 데이터)

주어진 버퍼의 데이터로 Integer 텐서를 생성합니다.

버퍼의 요소(현재 위치부터 시작)를 텐서에 복사하여 지정된 모양의 텐서를 생성합니다. 예를 들어, shape = {2,3} (2x3 행렬을 나타냄)인 경우 버퍼에는 6개의 요소가 남아 있어야 하며 이 메서드는 이 요소를 사용합니다.

매개변수
모양 텐서 모양.
데이터 텐서 데이터를 포함하는 버퍼.
던지기
IllegalArgumentException 텐서 형태가 버퍼와 ​​호환되지 않는 경우

public static Tensor <Float> 생성 (long[] 모양, FloatBuffer 데이터)

주어진 버퍼의 데이터로 Float 텐서를 생성합니다.

버퍼의 요소(현재 위치부터 시작)를 텐서에 복사하여 지정된 모양의 텐서를 생성합니다. 예를 들어, shape = {2,3} (2x3 행렬을 나타냄)인 경우 버퍼에는 6개의 요소가 남아 있어야 하며 이 메서드는 이 요소를 사용합니다.

매개변수
모양 텐서 모양.
데이터 텐서 데이터를 포함하는 버퍼.
던지기
IllegalArgumentException 텐서 형태가 버퍼와 ​​호환되지 않는 경우

public static Tensor <T> create (객체 obj, Class<T> 유형)

Java 객체에서 Tensor를 생성합니다.

Tensor 제한된 유형 세트의 요소로 구성된 다차원 배열입니다. 모든 Java 객체를 Tensor 로 변환할 수 있는 것은 아닙니다. 특히 인수 obj 기본 형식(float, double, int, long, boolean, byte)이거나 이러한 기본 형식 중 하나의 다차원 배열이어야 합니다. 인수 type 첫 번째 인수를 TensorFlow 유형으로 해석하는 방법을 지정합니다. 예를 들어:

// Valid: A 64-bit integer scalar.
 Tensor&lt;Long&gt; s = Tensor.create(42L, Long.class);

 // Valid: A 3x2 matrix of floats.
 float[][] matrix = new float[3][2];
 Tensor&lt;Float&gt; m = Tensor.create(matrix, Float.class);

 // Invalid: Will throw an IllegalArgumentException as an arbitrary Object
 // does not fit into the TensorFlow type system.
 Tensor&lt;?&gt; o = Tensor.create(new Object())

 // Invalid: Will throw an IllegalArgumentException since there are
 // a differing number of elements in each row of this 2-D array.
 int[][] twoD = new int[2][];
 twoD[0] = new int[1];
 twoD[1] = new int[2];
 Tensor&lt;Integer&gt; x = Tensor.create(twoD, Integer.class);
 
String 유형의 텐서는 임의 바이트 시퀀스의 다차원 배열이므로 byte[] 요소의 배열에서 초기화될 수 있습니다. 예를 들어:
// Valid: A String tensor.
 Tensor&lt;String&gt; s = Tensor.create(new byte[]{1, 2, 3}, String.class);

 // Java Strings will need to be encoded into a byte-sequence.
 String mystring = "foo";
 Tensor&lt;String&gt; s = Tensor.create(mystring.getBytes("UTF-8"), String.class);

 // Valid: Matrix of String tensors.
 // Each element might have a different length.
 byte[][][] matrix = new byte[2][2][];
 matrix[0][0] = "this".getBytes("UTF-8");
 matrix[0][1] = "is".getBytes("UTF-8");
 matrix[1][0] = "a".getBytes("UTF-8");
 matrix[1][1] = "matrix".getBytes("UTF-8");
 Tensor&lt;String&gt; m = Tensor.create(matrix, String.class);
 

매개변수
객체 Tensor&lt;T&gt; 로 변환할 객체입니다. . T 유형과 호환되는지 여부는 유형 시스템에서 확인되지 않습니다. 유형이 안전한 텐서를 생성하려면 Tensors 사용하세요.
유형 T 유형을 나타내는 클래스 객체입니다.
던지기
IllegalArgumentException obj TensorFlow 유형 시스템과 호환되지 않는 경우.

공개 데이터 유형 데이터 유형 ()

Tensor에 저장된 요소의 DataType 반환합니다.

공개 더블 doubleValue ()

스칼라 Double 텐서의 값을 반환합니다.

던지기
IllegalArgumentException Tensor가 이중 스칼라를 나타내지 않는 경우.

공개 Tensor <U> 예상 (Class<U> 유형)

Tensor&lt;U&gt; 유형의 Tensor 객체를 반환합니다. . 이 방법은 Tensor&lt;?&gt; 유형의 값이 주어졌을 때 유용합니다. .

매개변수
유형 올바른 유형의 모든 (null이 아닌) 배열.
던지기
IllegalArgumentException 이 객체의 실제 데이터 유형이 U 유형과 일치하지 않는 경우.

공개 부동 floatValue ()

스칼라 Float 텐서의 값을 반환합니다.

던지기
IllegalArgumentException Tensor가 float 스칼라를 나타내지 않는 경우.

공개 int intValue ()

스칼라 Integer 텐서의 값을 반환합니다.

던지기
IllegalArgumentException Tensor가 int 스칼라를 나타내지 않는 경우.

공개 롱 롱값 ()

스칼라 Long 텐서의 값을 반환합니다.

던지기
IllegalArgumentException Tensor가 긴 스칼라를 나타내지 않는 경우.

공개 int numBytes ()

텐서 데이터의 크기를 바이트 단위로 반환합니다.

공개 int numDimensions ()

Tensor의 차원 수( 순위 라고도 함)를 반환합니다.

스칼라의 경우 0, 벡터의 경우 1, 행렬의 경우 2, 3차원 텐서의 경우 3입니다.

공개 int numElements ()

텐서의 평면화된(1-D) 뷰에 있는 요소 수를 반환합니다.

공개 긴[] 모양 ()

Tensor의 모양 , 즉 각 차원의 크기를 반환합니다.

보고
  • i번째 요소가 텐서의 i번째 차원 크기인 배열입니다.

공개 문자열 toString ()

Tensor의 유형과 모양을 설명하는 문자열을 반환합니다.

공공 무효 writeTo (LongBuffer dst)

Long 텐서의 데이터를 주어진 버퍼에 씁니다.

numElements() 요소를 버퍼에 복사합니다.

매개변수
일광 대상 버퍼
던지기
버퍼오버플로우예외 주어진 버퍼에 이 텐서의 데이터를 위한 공간이 부족한 경우
IllegalArgumentException 텐서 데이터 유형이 Long 이 아닌 경우

공공 무효 writeTo (DoubleBuffer dst)

주어진 버퍼에 Double 텐서의 데이터를 씁니다.

numElements() 요소를 버퍼에 복사합니다.

매개변수
일광 대상 버퍼
던지기
버퍼오버플로우예외 주어진 버퍼에 이 텐서의 데이터를 위한 공간이 부족한 경우
IllegalArgumentException 텐서 데이터 유형이 Double 이 아닌 경우

공개 무효 writeTo (IntBuffer dst)

Integer 텐서의 데이터를 주어진 버퍼에 씁니다.

numElements() 요소를 버퍼에 복사합니다.

매개변수
일광 대상 버퍼
던지기
버퍼오버플로우예외 주어진 버퍼에 이 텐서의 데이터를 위한 공간이 부족한 경우
IllegalArgumentException 텐서 데이터 유형이 Integer 가 아닌 경우

공개 무효 writeTo (ByteBuffer dst)

주어진 버퍼에 텐서 데이터를 씁니다.

기본 유형에 대해 기본 바이트 순서로 numBytes() 바이트를 버퍼에 복사합니다.

매개변수
일광 대상 버퍼
던지기
버퍼오버플로우예외 주어진 버퍼에 이 텐서의 데이터를 위한 공간이 부족한 경우

공공 무효 writeTo (FloatBuffer dst)

주어진 버퍼에 Float 텐서의 데이터를 씁니다.

numElements() 요소를 버퍼에 복사합니다.

매개변수
일광 대상 버퍼
던지기
버퍼오버플로우예외 주어진 버퍼에 이 텐서의 데이터를 위한 공간이 부족한 경우
IllegalArgumentException 텐서 데이터 유형이 Float 가 아닌 경우