Статически типизированный многомерный массив, элементы которого относятся к типу, описанному Т.
Экземпляры Tensor не являются потокобезопасными.
ПРЕДУПРЕЖДЕНИЕ. Ресурсы, потребляемые объектом Tensor, должны быть явно освобождены путем вызова метода close()
когда объект больше не нужен. Например, используя блок try-with-resources:
try (Tensor t = Tensor.create(...)) {
doSomethingWith(t);
}
Публичные методы
логический | booleanValue () Возвращает значение в виде скалярного Boolean тензора. |
байт[] | bytesValue () Возвращает значение в скалярном тензоре String . |
пустота | закрыть () Освободите ресурсы, связанные с Tensor. |
<U> U | copyTo (U dst) Копирует содержимое тензора в dst и возвращает dst . |
статический тензор <?> | создать (объект объект) Создает тензор из объекта, класс которого проверяется, чтобы выяснить, каким должен быть базовый тип данных. |
статический <T> Тензор <T> | create (тип Class <T>, форма long [], данные ByteBuffer) Создайте тензор любого типа с данными из заданного буфера. |
статический тензор <Double> | |
статический тензор <Long> | |
статический тензор <Целое число> | |
статический тензор <Float> | |
статический <T> Тензор <T> | create (Object obj, тип Class <T>) Создает тензор из объекта Java. |
Тип данных | |
двойной | doubleValue () Возвращает значение в скалярном тензоре Double . |
<U> Тензор <U> | ожидать (тип Class <U>) Возвращает этот объект Tensor с типом Tensor<U> . |
плавать | floatValue () Возвращает значение в скалярном тензоре с Float запятой. |
int | |
длинный | |
int | numBytes () Возвращает размер тензорных данных в байтах. |
int | numDimensions () Возвращает количество измерений (иногда называемое рангом ) Tensor. |
int | numElements () Возвращает количество элементов в плоском (одномерном) виде тензора. |
длинный[] | |
Нить | toString () Возвращает строку, описывающую тип и форму тензора. |
пустота | |
пустота | |
пустота | |
пустота | writeTo (ByteBuffer dst) Запишите тензорные данные в указанный буфер. |
пустота |
Унаследованные методы
Публичные методы
public boolean booleanValue ()
Возвращает значение в виде скалярного Boolean
тензора.
Броски
IllegalArgumentException | если тензор не представляет собой логический скаляр. |
---|
публичный байт [] bytesValue ()
Возвращает значение в скалярном тензоре String
.
Броски
IllegalArgumentException | если тензор не представляет собой логический скаляр. |
---|
public void close ()
Освободите ресурсы, связанные с Tensor.
ПРЕДУПРЕЖДЕНИЕ: это должно быть вызвано для всех тензоров, которые не были созданы в результате активной операции, иначе произойдет утечка памяти.
После close
возвратов объект Tensor больше не используется.
public U copyTo (U dst)
Копирует содержимое тензора в dst
и возвращает dst
.
Для нескалярных тензоров этот метод копирует содержимое базового тензора в массив Java. Для скалярных тензоров используйте bytesValue()
один из 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 несовместим с тензором (например, несовпадающие типы данных или формы). |
---|
общедоступный статический тензор <?> create (Object obj)
Создает тензор из объекта, класс которого проверяется, чтобы выяснить, каким должен быть базовый тип данных.
Броски
IllegalArgumentException | если obj несовместим с системой типов TensorFlow. |
---|
общедоступный статический Tensor <T> create (тип Class <T>, форма long [], данные ByteBuffer)
Создайте тензор любого типа с данными из заданного буфера.
Создает Tensor с предоставленной формой любого типа, где данные тензора были закодированы в data
в соответствии со спецификацией TensorFlow C API .
Параметры
тип | тип тензорного элемента, представленный как объект класса. |
---|---|
форма | тензорная форма. |
данные | буфер, содержащий тензорные данные. |
Броски
IllegalArgumentException | Если тип данных или форма тензора несовместимы с буфером |
---|
общедоступный статический Tensor <Double> create (длинная [] фигура, данные DoubleBuffer)
Создайте Double
тензор с данными из заданного буфера.
Создает тензор с заданной формой путем копирования элементов из буфера (начиная с его текущей позиции) в тензор. Например, если shape = {2,3
} (который представляет матрицу 2x3), тогда в буфере должно оставаться 6 элементов, которые будут использованы этим методом.
Параметры
форма | тензорная форма. |
---|---|
данные | буфер, содержащий тензорные данные. |
Броски
IllegalArgumentException | Если форма тензора несовместима с буфером |
---|
общедоступный статический Tensor <Long> create (long [] shape, данные LongBuffer)
Создайте Long
тензор с данными из заданного буфера.
Создает тензор с заданной формой путем копирования элементов из буфера (начиная с его текущей позиции) в тензор. Например, если shape = {2,3
} (который представляет матрицу 2x3), тогда в буфере должно оставаться 6 элементов, которые будут использованы этим методом.
Параметры
форма | тензорная форма. |
---|---|
данные | буфер, содержащий тензорные данные. |
Броски
IllegalArgumentException | Если форма тензора несовместима с буфером |
---|
общедоступный статический Tensor <Integer> create (длинная [] фигура, данные IntBuffer)
Создайте Integer
тензор с данными из заданного буфера.
Создает тензор с заданной формой путем копирования элементов из буфера (начиная с его текущей позиции) в тензор. Например, если shape = {2,3
} (который представляет матрицу 2x3), тогда в буфере должно оставаться 6 элементов, которые будут использованы этим методом.
Параметры
форма | тензорная форма. |
---|---|
данные | буфер, содержащий тензорные данные. |
Броски
IllegalArgumentException | Если форма тензора несовместима с буфером |
---|
общедоступный статический Tensor <Float> create (long [] shape, данные FloatBuffer)
Создайте тензор с Float
запятой с данными из заданного буфера.
Создает тензор с заданной формой путем копирования элементов из буфера (начиная с его текущей позиции) в тензор. Например, если shape = {2,3
} (который представляет матрицу 2x3), тогда в буфере должно оставаться 6 элементов, которые будут использованы этим методом.
Параметры
форма | тензорная форма. |
---|---|
данные | буфер, содержащий тензорные данные. |
Броски
IllegalArgumentException | Если форма тензора несовместима с буфером |
---|
общедоступный статический Tensor <T> create (Object obj, Class <T> type)
Создает тензор из объекта Java.
Tensor
- это многомерный массив элементов ограниченного набора типов. Не все объекты Java можно преобразовать в Tensor
. В частности, аргумент obj
должен быть либо примитивом (float, double, int, long, boolean, byte), либо многомерным массивом одного из этих примитивов. Аргумент 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"; Tensors = 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. |
---|
общедоступный двойной doubleValue ()
Возвращает значение в скалярном тензоре Double
.
Броски
IllegalArgumentException | если тензор не представляет собой двойной скаляр. |
---|
public Tensor <U> ожидают (тип Class <U>)
Возвращает этот объект Tensor с типом Tensor<U>
. Этот метод полезен, когда задано значение типа Tensor<?>
.
Параметры
тип | любой (ненулевой) массив правильного типа. |
---|
Броски
IllegalArgumentException | если фактический тип данных этого объекта не соответствует типу U |
---|
публичное плавание floatValue ()
Возвращает значение в скалярном тензоре с Float
запятой.
Броски
IllegalArgumentException | если тензор не представляет собой скаляр с плавающей запятой. |
---|
общедоступный int intValue ()
Возвращает значение в виде скалярного Integer
тензора.
Броски
IllegalArgumentException | если тензор не представляет собой скаляр типа int. |
---|
public long longValue ()
Возвращает значение в скалярном тензоре Long
.
Броски
IllegalArgumentException | если тензор не представляет собой длинный скаляр. |
---|
public int numBytes ()
Возвращает размер тензорных данных в байтах.
public int numDimensions ()
Возвращает количество измерений (иногда называемое рангом ) Tensor.
Будет 0 для скаляра, 1 для вектора, 2 для матрицы, 3 для 3-мерного тензора и т. Д.
public int numElements ()
Возвращает количество элементов в плоском (одномерном) виде тензора.
общедоступная длинная [] форма ()
Возвращает форму тензора, т. Е. Размеры каждого измерения.
Возврат
- массив, где i-й элемент - это размер i-го измерения тензора.
общедоступная строка toString ()
Возвращает строку, описывающую тип и форму тензора.
public void writeTo (LongBuffer dst)
public void writeTo (DoubleBuffer dst)
public void writeTo (IntBuffer dst)
public void writeTo (ByteBuffer dst)
Запишите тензорные данные в указанный буфер.
Копирует numBytes()
в буфер в собственном порядке байтов для примитивных типов.
Параметры
dst | целевой буфер |
---|
Броски
BufferOverflowException | Если в данном буфере недостаточно места для данных в этом тензоре |
---|