Предупреждение: этот API устарел и будет удален в будущей версии TensorFlow после того, как замена станет стабильной.

Tensor

публичный конечный класс Tensor

Статически типизированный многомерный массив, элементы которого относятся к типу, описанному Т.

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

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

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

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";
 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);
 }

Параметры
объект Объект, который нужно преобразовать в Tensor<T> . Обратите внимание, что его совместимость с типом T не проверяется системой типов. Для безопасного создания тензоров используйте Tensors .
тип Объект класса, представляющий тип T.
Броски
IllegalArgumentException если obj несовместим с системой типов TensorFlow.

public DataType dataType ()

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

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

Записать данные 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