Tensor

パブリック最終クラスTensor

静的に型指定された多次元配列。その要素は T で記述される型です。

Tensor のインスタンスはスレッドセーフではありません

警告: Tensor オブジェクトによって消費されるリソースは、オブジェクトが不要になったときにclose()メソッドを呼び出して明示的に解放する必要があります。たとえば、try-with-resources ブロックを使用すると、次のようになります。

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

パブリックメソッド

ブール値
ブール値()
スカラーBooleanテンソルで値を返します。
バイト[]
bytesValue ()
スカラーStringテンソルで値を返します。
空所
近い()
Tensor に関連付けられたリソースを解放します。
<U> う
コピー先(U dst)
テンソルの内容をdstにコピーし、 dstを返します。
静的テンソル<?>
作成(オブジェクトオブジェクト)
基礎となるデータ型が何であるべきかを判断するためにクラスが検査されるオブジェクトからテンソルを作成します。
静的 <T>テンソル<T>
create (Class<T> 型、long[] 形状、ByteBuffer データ)
指定されたバッファーからのデータを使用して、任意のタイプの Tensor を作成します。
静的テンソル<Double>
作成(long[] 形状、DoubleBuffer データ)
指定されたバッファーからのデータを使用してDouble Tensor を作成します。
静的テンソル<Long>
create (long[] シェイプ、LongBuffer データ)
指定されたバッファーからのデータを使用してLong Tensor を作成します。
静的テンソル<整数>
create (long[] 形状、IntBuffer データ)
指定されたバッファーからのデータを使用してIntegerテンソルを作成します。
静的テンソル<Float>
create (long[] シェイプ、FloatBuffer データ)
指定されたバッファーからのデータを使用してFloat Tensor を作成します。
静的 <T>テンソル<T>
create (オブジェクト obj、Class<T> 型)
Java オブジェクトから Tensor を作成します。
データ型
データ型()
Tensor に格納されている要素のDataTypeを返します。
ダブル
doubleValue ()
スカラーDoubleテンソルで値を返します。
<U>テンソル<U>
Expect (クラス<U> タイプ)
Tensor<U>型のこの Tensor オブジェクトを返します。
フロート
floatValue ()
スカラーFloatテンソルで値を返します。
整数
intValue ()
スカラーIntegerテンソルで値を返します。
長さ
長い値()
スカラーLongテンソルで値を返します。
整数
numBytes ()
テンソル データのサイズをバイト単位で返します。
整数
numDimensions ()
Tensor の次元数 ( rankとも呼ばれます) を返します。
整数
numElements ()
テンソルの平坦化 (1-D) ビュー内の要素の数を返します。
長さ[]
()
テンソルの形状、つまり各次元のサイズを返します。
toString ()
Tensor のタイプと形状を説明する文字列を返します。
空所
writeTo (LongBuffer dst)
Longテンソルのデータを指定されたバッファーに書き込みます。
空所
writeTo (DoubleBuffer dst)
Doubleテンソルのデータを指定されたバッファーに書き込みます。
空所
writeTo (IntBuffer dst)
Integerテンソルのデータを指定されたバッファーに書き込みます。
空所
writeTo (バイトバッファ dst)
テンソル データを指定されたバッファに書き込みます。
空所
writeTo (FloatBuffer dst)
Floatテンソルのデータを指定されたバッファに書き込みます。

継承されたメソッド

パブリックメソッド

パブリックブール値booleanValue ()

スカラーBooleanテンソルで値を返します。

投げる
IllegalArgumentException Tensor がブール スカラーを表さない場合。

public byte[] bytesValue ()

スカラーStringテンソルで値を返します。

投げる
IllegalArgumentException Tensor がブール スカラーを表さない場合。

public void close ()

Tensor に関連付けられたリソースを解放します。

警告:これは、eager 操作によって生成されなかったすべての tensor に対して呼び出す必要があります。そうしないと、メモリ リークが発生します。

Tensor オブジェクトは、 close戻った後は使用できなくなります。

パブリック 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テンソルと互換性がない場合 (たとえば、データ型や形状が一致しない場合)。

public static Tensor <?> create (オブジェクト obj)

基礎となるデータ型が何であるべきかを判断するためにクラスが検査されるオブジェクトからテンソルを作成します。

投げる
IllegalArgumentException obj TensorFlow 型システムと互換性がない場合。

public static Tensor <T> create (Class<T> 型、long[] 形状、ByteBuffer データ)

指定されたバッファーからのデータを使用して、任意のタイプの Tensor を作成します。

TensorFlow C APIの仕様に従って、テンソルのデータがdataにエンコードされている任意のタイプの指定された形状で Tensor を作成します。

パラメータ
タイプクラスオブジェクトとして表されるテンソル要素タイプ。
テンソル形状。
データテンソルデータを含むバッファ。
投げる
IllegalArgumentExceptionテンソルのデータ型または形状がバッファーと互換性がない場合

public static Tensor <Double> create (long[] 形状、DoubleBuffer データ)

指定されたバッファーからのデータを使用してDouble Tensor を作成します。

要素をバッファーから (現在の位置から開始して) テンソルにコピーすることにより、指定された形状を持つ Tensor を作成します。たとえば、 shape = {2,3 } (2x3 行列を表す) の場合、バッファーには 6 つの要素が残っている必要があり、このメソッドによって消費されます。

パラメータ
テンソル形状。
データテンソルデータを含むバッファ。
投げる
IllegalArgumentExceptionテンソル形状がバッファーと互換性がない場合

public static Tensor <Long> create (long[] 形状、LongBuffer データ)

指定されたバッファーからのデータを使用してLong Tensor を作成します。

要素をバッファーから (現在の位置から開始して) テンソルにコピーすることにより、指定された形状を持つ Tensor を作成します。たとえば、 shape = {2,3 } (2x3 行列を表す) の場合、バッファーには 6 つの要素が残っている必要があり、このメソッドによって消費されます。

パラメータ
テンソル形状。
データテンソルデータを含むバッファ。
投げる
IllegalArgumentExceptionテンソル形状がバッファーと互換性がない場合

public static Tensor <Integer> create (long[] 形状、IntBuffer データ)

指定されたバッファーからのデータを使用してIntegerテンソルを作成します。

要素をバッファーから (現在の位置から開始して) テンソルにコピーすることにより、指定された形状を持つ Tensor を作成します。たとえば、 shape = {2,3 } (2x3 行列を表す) の場合、バッファーには 6 つの要素が残っている必要があり、このメソッドによって消費されます。

パラメータ
テンソル形状。
データテンソルデータを含むバッファ。
投げる
IllegalArgumentExceptionテンソル形状がバッファーと互換性がない場合

public static Tensor <Float> create (long[] 形状、FloatBuffer データ)

指定されたバッファーからのデータを使用してFloat Tensor を作成します。

要素をバッファーから (現在の位置から開始して) テンソルにコピーすることにより、指定された形状を持つ Tensor を作成します。たとえば、 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) またはこれらのプリミティブの 1 つの多次元配列のいずれかでなければなりません。引数のtype最初の引数を TensorFlow 型として解釈する方法を指定します。例えば:

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

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

 // Invalid: Will throw an IllegalArgumentException as an arbitrary Object
 // does not fit into the TensorFlow type system.
 Tensor<?> 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<Integer> x = Tensor.create(twoD, Integer.class);
 
String型の Tensor は、任意のバイト シーケンスの多次元配列であるため、 byte[]要素の配列から初期化できます。例えば:
// Valid: A String tensor.
 Tensor<String> 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 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 m = Tensor.create(matrix, String.class);
 }

パラメータ
オブジェクトTensor<T>に変換するオブジェクト。タイプ T と互換性があるかどうかは、タイプ システムによってチェックされないことに注意してください。テンソルをタイプセーフに作成するには、 Tensors使用します。
タイプ型 T を表すクラス オブジェクト。
投げる
IllegalArgumentException obj TensorFlow 型システムと互換性がない場合。

public DataType dataType ()

Tensor に格納されている要素のDataTypeを返します。

public double doubleValue ()

スカラーDoubleテンソルで値を返します。

投げる
IllegalArgumentException Tensor が double スカラーを表さない場合。

public Tensor <U> Expect (Class<U> 型)

Tensor<U>型のこの Tensor オブジェクトを返します。このメソッドはTensor<?>型の値が指定された場合に便利です。

パラメータ
タイプ正しい型の (null 以外の) 配列。
投げる
IllegalArgumentExceptionこのオブジェクトの実際のデータ型が型Uと一致しない場合。

パブリック フロートfloatValue ()

スカラーFloatテンソルで値を返します。

投げる
IllegalArgumentException Tensor が float スカラーを表さない場合。

public int intValue ()

スカラーIntegerテンソルで値を返します。

投げる
IllegalArgumentException Tensor が int スカラーを表さない場合。

public long longValue ()

スカラーLongテンソルで値を返します。

投げる
IllegalArgumentExceptionテンソルがロングスカラーを表さない場合。

public int numBytes ()

テンソル データのサイズをバイト単位で返します。

public int numDimensions ()

Tensor の次元数 ( rankとも呼ばれます) を返します。

スカラーの場合は 0、ベクトルの場合は 1、行列の場合は 2、3 次元テンソルの場合は 3 などになります。

public int numElements ()

テンソルの平坦化 (1-D) ビュー内の要素の数を返します。

パブリックなlong[]シェイプ()

テンソルの形状、つまり各次元のサイズを返します。

返品
  • i 番目の要素がテンソルの i 番目の次元のサイズである配列。

public String toString ()

Tensor のタイプと形状を説明する文字列を返します。

public void writeTo (LongBuffer dst)

Longテンソルのデータを指定されたバッファーに書き込みます。

numElements()要素をバッファにコピーします。

パラメータ
夏時間宛先バッファ
投げる
バッファオーバーフロー例外指定されたバッファーにこのテンソルのデータを格納するための十分なスペースがない場合
IllegalArgumentExceptionテンソルデータ型がLongではない場合

public void writeTo (DoubleBuffer dst)

Doubleテンソルのデータを指定されたバッファーに書き込みます。

numElements()要素をバッファにコピーします。

パラメータ
夏時間宛先バッファ
投げる
バッファオーバーフロー例外指定されたバッファーにこのテンソルのデータを格納するための十分なスペースがない場合
IllegalArgumentException tensor データ型がDoubleでない場合

public void writeTo (IntBuffer dst)

Integerテンソルのデータを指定されたバッファーに書き込みます。

numElements()要素をバッファにコピーします。

パラメータ
夏時間宛先バッファ
投げる
バッファオーバーフロー例外指定されたバッファーにこのテンソルのデータを格納するための十分なスペースがない場合
IllegalArgumentExceptionテンソルデータ型がIntegerでない場合

public void writeTo (ByteBuffer dst)

テンソル データを指定されたバッファーに書き込みます。

numBytes()バイトをプリミティブ型のネイティブ バイト順でバッファにコピーします。

パラメータ
夏時間宛先バッファ
投げる
バッファオーバーフロー例外指定されたバッファーにこのテンソルのデータを格納するための十分なスペースがない場合

public void writeTo (FloatBuffer dst)

Floatテンソルのデータを指定されたバッファに書き込みます。

numElements()要素をバッファにコピーします。

パラメータ
夏時間宛先バッファ
投げる
バッファオーバーフロー例外指定されたバッファーにこのテンソルのデータを格納するための十分なスペースがない場合
IllegalArgumentExceptionテンソルデータ型がFloatでない場合