Tensor

パブリックファイナルクラステンソル

要素がTで記述された型である静的に型付けされた多次元配列。

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

警告:リソースを明示的に呼び出すなかっによって解放されなければならないテンソルオブジェクトによって消費close()オブジェクトが不要になったときの方法を。たとえば、try-with-resourcesブロックを使用します:

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

パブリックメソッド

ブール値
booleanValue ()
スカラーBooleanテンソルで値を返します。
バイト[]
bytesValue ()
スカラーStringテンソルの値を返します。
ボイド
閉じる()
Tensorに関連付けられているリソースを解放します。
<U> U
copyTo (U dst)
コピーしテンソルの内容をdst戻りdst
静的テンソル<?>
create (Object obj)
基になるデータ型がどうあるべきかを理解するためにクラスが検査されるオブジェクトからテンソルを作成します。
静的<T>テンソル<T>
create (Class <T>タイプ、long []シェイプ、ByteBufferデータ)
指定されたバッファーからのデータを使用して、任意のタイプのテンソルを作成します。
静的テンソル<ダブル>
create (long [] shape、DoubleBuffer data)
指定されたバッファーからのデータを使用してDoubleテンソルを作成します。
静的テンソル<長い>
create (long [] shape、LongBuffer data)
作成Long与えられたバッファからのデータとテンソルを。
静的テンソル<整数>
create (long [] shape、IntBuffer data)
指定されたバッファーからのデータを使用してIntegerテンソルを作成します。
静的テンソル<浮動小数点>
create (long [] shape、FloatBuffer data)
指定されたバッファーからのデータを使用してFloatテンソルを作成します。
静的<T>テンソル<T>
create (Object obj、Class <T>タイプ)
JavaオブジェクトからTensorを作成します。
データ・タイプ
dataType ()
Tensorに格納されている要素のDataTypeを返します。
ダブル
doubleValue ()
スカラーDoubleテンソルの値を返します。
<U>テンソル<U>
期待(Class <U>タイプ)
タイプTensor<U>このTensorオブジェクトを返します。
浮く
floatValue ()
スカラーFloatテンソルの値を返します。
int
intValue ()
スカラーIntegerテンソルで値を返します。
長いです
longValue ()
スカラーLongテンソルの値を返します。
int
numBytes ()
テンソルデータのサイズをバイト単位で返します。
int
numDimensions ()
テンソルの次元数(ランクと呼ばれることもあります)を返します。
int
numElements ()
テンソルの平坦化された(1-D)ビューの要素の数を返します。
長いです[]
()
テンソルの形状、つまり各次元のサイズを返します。
ストリング
toString ()
Tensorのタイプと形状を説明する文字列を返します。
ボイド
writeToLongBuffer dst)
Longテンソルのデータを指定されたバッファーに書き込みます。
ボイド
writeTo (DoubleBuffer dst)
Doubleテンソルのデータを指定されたバッファーに書き込みます。
ボイド
writeTo (IntBuffer dst)
Integerテンソルのデータを指定されたバッファーに書き込みます。
ボイド
writeTo (ByteBuffer dst)
テンソルデータを指定されたバッファーに書き込みます。
ボイド
writeTo (FloatBuffer dst)
Floatテンソルのデータを指定されたバッファーに書き込みます。

継承されたメソッド

パブリックメソッド

public boolean booleanValue ()

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

投げる
IllegalArgumentExceptionテンソルがブールスカラーを表していない場合。

public byte [] bytesValue ()

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

投げる
IllegalArgumentExceptionテンソルがブールスカラーを表していない場合。

public void close ()

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

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

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

public 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 (Object obj)

基になるデータ型がどうあるべきかを理解するためにクラスが検査されるオブジェクトからテンソルを作成します。

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

public static Tensor <T> create (Class <T>タイプ、long []シェイプ、ByteBufferデータ)

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

テンソルのデータに符号化された任意のタイプの提供形状とテンソルを作成するdata TensorFlowの仕様に従ってCのAPI

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

public static Tensor <Double> create (long [] shape、DoubleBuffer data)

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

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

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

public static Tensor <Long> create (long [] shape、LongBuffer data)

作成Long与えられたバッファからのデータとテンソルを。

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

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

public static Tensor <Integer> create (long [] shape、IntBuffer data)

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

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

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

public static Tensor <Float> create (long [] shape、FloatBuffer data)

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

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

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

public static Tensor <T> create (Object obj、Class <T> type)

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型テンソルは任意のバイトシーケンスの多次元配列であるため、 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);
 }

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

public DataType dataType ()

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

public double doubleValue ()

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

投げる
IllegalArgumentExceptionテンソルがダブルスカラーを表していない場合。

public Tensor <U> expect (Class <U> type)

タイプTensor<U>このTensorオブジェクトを返します。このメソッドは、 Tensor<?>型の値が指定されている場合に役立ちTensor<?>

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

public float floatValue ()

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

投げる
IllegalArgumentExceptionテンソルがフロートスカラーを表していない場合。

public int intValue ()

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

投げる
IllegalArgumentExceptionテンソルがintスカラーを表していない場合。

public long longValue ()

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

投げる
IllegalArgumentExceptionテンソルが長いスカラーを表していない場合。

public int numBytes ()

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

public int numDimensions ()

テンソルの次元数(ランクと呼ばれることもあります)を返します。

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

public int numElements ()

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

public long [] shape ()

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

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

public String toString ()

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

public void writeTo LongBuffer dst)

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

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

パラメーター
dst宛先バッファ
投げる
BufferOverflowExceptionこのテンソルのデータに対して、指定されたバッファーに十分なスペースがない場合
IllegalArgumentExceptionテンソルデータ型がLongでない場合

public void writeTo (DoubleBuffer dst)

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

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

パラメーター
dst宛先バッファ
投げる
BufferOverflowExceptionこのテンソルのデータに対して、指定されたバッファーに十分なスペースがない場合
IllegalArgumentExceptionテンソルデータ型がDoubleでない場合

public void writeTo (IntBuffer dst)

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

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

パラメーター
dst宛先バッファ
投げる
BufferOverflowExceptionこのテンソルのデータに対して、指定されたバッファーに十分なスペースがない場合
IllegalArgumentExceptionテンソルデータ型がIntegerでない場合

public void writeTo (ByteBuffer dst)

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

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

パラメーター
dst宛先バッファ
投げる
BufferOverflowExceptionこのテンソルのデータに対して、指定されたバッファーに十分なスペースがない場合

public void writeTo (FloatBuffer dst)

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

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

パラメーター
dst宛先バッファ
投げる
BufferOverflowExceptionこのテンソルのデータに対して、指定されたバッファーに十分なスペースがない場合
IllegalArgumentExceptionテンソルデータ型がFloatでない場合