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