静的に型指定された多次元配列。その要素は T で記述される型です。
Tensor のインスタンスはスレッドセーフではありません。
警告: Tensor オブジェクトによって消費されるリソースは、オブジェクトが不要になったときにclose()
メソッドを呼び出して明示的に解放する必要があります。たとえば、try-with-resources ブロックを使用すると、次のようになります。
try (Tensor t = Tensor.create(...)) {
doSomethingWith(t);
}
パブリックメソッド
ブール値 | |
バイト[] | bytesValue () スカラー String テンソルで値を返します。 |
空所 | 近い() Tensor に関連付けられたリソースを解放します。 |
<U> う | コピー先(U dst) テンソルの内容を dst にコピーし、 dst を返します。 |
静的テンソル<?> | 作成(オブジェクトオブジェクト) 基礎となるデータ型が何であるべきかを判断するためにクラスが検査されるオブジェクトからテンソルを作成します。 |
静的 <T>テンソル<T> | create (Class<T> 型、long[] 形状、ByteBuffer データ) 指定されたバッファーからのデータを使用して、任意のタイプの Tensor を作成します。 |
静的テンソル<Double> | |
静的テンソル<Long> | |
静的テンソル<整数> | |
静的テンソル<Float> | |
静的 <T>テンソル<T> | create (オブジェクト obj、Class<T> 型) Java オブジェクトから Tensor を作成します。 |
データ型 | |
ダブル | doubleValue () スカラー Double テンソルで値を返します。 |
<U>テンソル<U> | Expect (クラス<U> タイプ) Tensor<U> 型のこの Tensor オブジェクトを返します。 |
フロート | floatValue () スカラー Float テンソルで値を返します。 |
整数 | |
長さ | |
整数 | numBytes () テンソル データのサイズをバイト単位で返します。 |
整数 | numDimensions () Tensor の次元数 ( rankとも呼ばれます) を返します。 |
整数 | numElements () テンソルの平坦化 (1-D) ビュー内の要素の数を返します。 |
長さ[] | |
弦 | toString () Tensor のタイプと形状を説明する文字列を返します。 |
空所 | |
空所 | |
空所 | |
空所 | writeTo (バイトバッファ dst) テンソル データを指定されたバッファーに書き込みます。 |
空所 |
継承されたメソッド
パブリックメソッド
パブリックブール値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<String> 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<String> m = Tensor.create(matrix, String.class);
パラメータ
オブジェクト | Tensor<T> に変換するオブジェクト。タイプ T と互換性があるかどうかは、タイプ システムによってチェックされないことに注意してください。テンソルをタイプセーフに作成するには、 Tensors 使用します。 |
---|---|
タイプ | 型 T を表すクラス オブジェクト。 |
投げる
IllegalArgumentException | obj TensorFlow 型システムと互換性がない場合。 |
---|
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 int numBytes ()
テンソル データのサイズをバイト単位で返します。
public int numDimensions ()
Tensor の次元数 ( rankとも呼ばれます) を返します。
スカラーの場合は 0、ベクトルの場合は 1、行列の場合は 2、3 次元テンソルの場合は 3 などになります。
public int numElements ()
テンソルの平坦化 (1-D) ビュー内の要素の数を返します。
public String toString ()
Tensor のタイプと形状を説明する文字列を返します。
public void writeTo (LongBuffer dst)
public void writeTo (DoubleBuffer dst)
public void writeTo (IntBuffer dst)
public void writeTo (ByteBuffer dst)
テンソル データを指定されたバッファに書き込みます。
numBytes()
バイトをプリミティブ型のネイティブ バイト順でバッファにコピーします。
パラメータ
夏時間 | 宛先バッファ |
---|
投げる
バッファオーバーフロー例外 | 指定されたバッファーにこのテンソルのデータを格納するための十分なスペースがない場合 |
---|