Тензор

публичный финальный класс Tensor

Статически типизированный многомерный массив, элементы которого имеют тип, описанный 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)
Создайте тензор любого типа с данными из заданного буфера.
статический Тензор <Двойной>
создать (длинная [] фигура, данные DoubleBuffer)
Создайте Double тензор с данными из данного буфера.
статический тензор <длинный>
создать (длинная [] фигура, данные LongBuffer)
Создайте Long тензор с данными из данного буфера.
статический тензор <Целое число>
создать (длинная [] фигура, данные IntBuffer)
Создайте Integer тензор с данными из данного буфера.
статический тензор <Float>
создать (длинная [] фигура, данные FloatBuffer)
Создайте тензор Float с данными из данного буфера.
статический <T> Тензор <T>
создать (объект Object, тип Class<T>)
Создает тензор из объекта Java.
Тип данных
тип данных ()
Возвращает DataType элементов, хранящихся в Тензоре.
двойной
двойное значение ()
Возвращает значение в скалярном тензоре Double .
<U> Тензор <U>
ожидать (тип Class<U>)
Возвращает этот объект Tensor с типом Tensor<U> .
плавать
плавающее значение ()
Возвращает значение в скалярном тензоре Float .
интервал
intValue ()
Возвращает значение в скалярном Integer тензоре.
длинный
длинное значение ()
Возвращает значение в скалярном Long тензоре.
интервал
числобайт ()
Возвращает размер тензорных данных в байтах.
интервал
numDimensions ()
Возвращает количество измерений (иногда называемое рангом ) тензора.
интервал
числоЭлементы ()
Возвращает количество элементов в плоском (1D) представлении тензора.
длинный[]
форма ()
Возвращает форму тензора, т. е. размеры каждого измерения.
Нить
toString ()
Возвращает строку, описывающую тип и форму Тензора.
пустота
writeTo (LongBuffer dst)
Запишите данные Long тензора в данный буфер.
пустота
writeTo (DoubleBuffer dst)
Запишите данные Double тензора в данный буфер.
пустота
writeTo (IntBuffer dst)
Запишите данные Integer тензора в данный буфер.
пустота
writeTo (ByteBuffer dst)
Запишите данные тензора в данный буфер.
пустота
writeTo (FloatBuffer dst)
Запишите данные тензора Float в данный буфер.

Унаследованные методы

Публичные методы

общедоступное логическое логическое значение ()

Возвращает значение в скалярном 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";
 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.

общедоступный тип данных тип данных ()

Возвращает DataType элементов, хранящихся в Тензоре.

общественный двойной 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)

Запишите данные Long тензора в данный буфер.

Копирует элементы numElements() в буфер.

Параметры
летнее время буфер назначения
Броски
исключение BufferOverflowException Если в данном буфере недостаточно места для данных в этом тензоре
IllegalArgumentException Если тип данных тензора не Long

public void writeTo (DoubleBuffer dst)

Запишите данные Double тензора в данный буфер.

Копирует элементы numElements() в буфер.

Параметры
летнее время буфер назначения
Броски
исключение BufferOverflowException Если в данном буфере недостаточно места для данных в этом тензоре
IllegalArgumentException Если тип данных тензора не Double

public void writeTo (IntBuffer dst)

Запишите данные Integer тензора в данный буфер.

Копирует элементы numElements() в буфер.

Параметры
летнее время буфер назначения
Броски
исключение BufferOverflowException Если в данном буфере недостаточно места для данных в этом тензоре
IllegalArgumentException Если тип данных тензора не Integer

public void writeTo (ByteBuffer dst)

Запишите данные тензора в данный буфер.

Копирует numBytes() в буфер в собственном порядке байтов для примитивных типов.

Параметры
летнее время буфер назначения
Броски
исключение BufferOverflowException Если в данном буфере недостаточно места для данных в этом тензоре

public void writeTo (FloatBuffer dst)

Запишите данные тензора Float в данный буфер.

Копирует элементы numElements() в буфер.

Параметры
летнее время буфер назначения
Броски
исключение BufferOverflowException Если в данном буфере недостаточно места для данных в этом тензоре
IllegalArgumentException Если тип данных тензора не Float