Перевод Tensorflow Python API (math_ops) (часть 1)

TensorFlow Python алгоритм API

Добавить Автора
WeChat и QQ: 862251340
Публичный аккаунт WeChat: coderpai
мой блог:пожалуйста, нажмите здесь

Сейчас планируется изучить Python API в tensorflow, что облегчит обучение в будущем.
Оригинальная ссылка

В этой главе описывается API для математических символьных манипуляций.

арифметические операторы

TensorFlow предоставляет некоторые операции, которые вы можете добавить к своему графику, используя основные арифметические операторы.

tf.add(x, y, name = None)

Объяснение: Эта функция возвращает результат поэлементного сложения x и y.

Примечание. Операция tf.add поддерживает широковещательную форму, а операция tf.add_n не поддерживает широковещательную форму.

Пример использования:

#!/usr/bin/env python
# -*- coding: utf-8 -*-

import tensorflow as tf 

a = tf.constant(2)
b = tf.constant(3)
c = tf.add(a, b)
sess = tf.Session()
print sess.run(c)
sess.close()

Входные параметры:

  • x: ОдинTensor, тип данных является одним из следующих:float32,float64,int8,int16,int32,complex64,int64.

  • y: ОдинTensor, тип данных должен быть таким же, какxтакой же.

  • name: (необязательно) Дает имя этой операции.

Выходные параметры:

  • ОдинTensor, тип данных иxтакой же.

tf.sub(x, y, name = None)

Объяснение: Эта функция возвращает результат поэлементного вычитания x и y.

Пример использования:

#!/usr/bin/env python
# -*- coding: utf-8 -*-

import tensorflow as tf 

a = tf.constant([1,2])
b = tf.constant(2)
c = tf.sub(a, b)
sess = tf.Session()
print sess.run(c)
sess.close()

Входные параметры:

  • x: ОдинTensor, тип данных является одним из следующих:float32,float64,int8,int16,int32,complex64,int64.

  • y: ОдинTensor, тип данных должен быть таким же, какxтакой же.

  • name: (необязательно) Дает имя этой операции.

Выходные параметры:

  • ОдинTensor, тип данных иxтакой же.

tf.mul(x, y, name = None)

Объяснение: Эта функция возвращает результат поэлементного умножения x и y.

Пример использования:

#!/usr/bin/env python
# -*- coding: utf-8 -*-

import tensorflow as tf 

a = tf.constant([1,2])
b = tf.constant(2)
c = tf.mul(a, b)
sess = tf.Session()
print sess.run(c)
sess.close()

Входные параметры:

  • x: ОдинTensor, тип данных является одним из следующих:float32,float64,int8,int16,int32,complex64,int64.

  • y: ОдинTensor, тип данных должен быть таким же, какxтакой же.

  • name: (необязательно) Дает имя этой операции.

Выходные параметры:

  • ОдинTensor, тип данных иxтакой же.

tf.div(x, y, name = None)

Объяснение: Эта функция возвращает поэлементное деление x и y.

Пример использования:

#!/usr/bin/env python
# -*- coding: utf-8 -*-

import tensorflow as tf 

a = tf.constant([1,2])
b = tf.constant(2)
c = tf.div(a, b)
sess = tf.Session()
print sess.run(c)
sess.close()

Входные параметры:

  • x: ОдинTensor, тип данных является одним из следующих:float32,float64,int8,int16,int32,complex64,int64.

  • y: ОдинTensor, тип данных должен быть таким же, какxтакой же.

  • name: (необязательно) Дает имя этой операции.

Выходные параметры:

  • ОдинTensor, тип данных иxтакой же.

tf.mod(x, y, name = None)

Объяснение: Эта функция возвращает поэлементный остаток от x и y.

Пример использования:

#!/usr/bin/env python
# -*- coding: utf-8 -*-

import tensorflow as tf 

a = tf.constant([1,2])
b = tf.constant(2)
c = tf.mod(a, b)
sess = tf.Session()
print sess.run(c)
sess.close()

Входные параметры:

  • x: ОдинTensor, тип данных является одним из следующих:int16,int32,float32,float64.

  • y: ОдинTensor, тип данных должен быть таким же, какxтакой же.

  • name: (необязательно) Дает имя этой операции.

Выходные параметры:

  • ОдинTensor, тип данных иxтакой же.

основные математические функции

TensorFlow предоставляет некоторые операции, которые вы можете использовать для добавления к своим графикам с помощью основных математических функций.

tf.add_n(inputs, name = None)

Объяснение: Функция этой функции состоит в том, чтобы накапливать соответствующие позиции элементов в списке входов.

Пример использования:

#!/usr/bin/env python
# -*- coding: utf-8 -*-

import tensorflow as tf 

a = tf.constant([1,2], tf.int32)
b = tf.constant([3,4], tf.int32)
c = tf.add_n([a,b])
sess = tf.Session()
print sess.run(c)
sess.close()

Входные параметры:

  • inputs: список хотя бы одногоTensor, тип данных является одним из следующих:float32,float64,int64,int32,uint8,int16,int8,complex64,qint8,quint8,quint32. и каждый из спискаTensorДолжны иметь одинаковые размеры данных.

  • name: (необязательно) Дает имя этой операции.

Выходные параметры:

  • ОдинTensor, тип данных иinputsтакой же.

tf.abs(x, name = None)

Объяснение: Эффект этой функции возвращаетxабсолютное значение .

данныйx, что является действительным числомTensor. Эта операция возвращаетtensor,этоtensorКаждое значение в соответствуетxКаждый стоит абсолютной ценности.

Если вам нужно иметь дело с абсолютным значением комплексных чисел, вы можете использоватьtf.complex_abs()функция.

Пример использования:

#!/usr/bin/env python
# -*- coding: utf-8 -*-

import tensorflow as tf 

a = tf.constant([1,-2])
c = tf.abs(a)
sess = tf.Session()
print sess.run(c)
sess.close()

Входные параметры:

  • x: ОдинTensor, тип данных является одним из следующих:float,double,int64илиint32.

  • name: (необязательно) Дает имя этой операции.

Выходные параметры:

  • ОдинTensor, тип данных и измерение данных такие же, какxтакой же.

tf.neg(x, name = None)

Объяснение: Цель этой функции — получитьxКаждое значение в отрицательно, т.е.y = -x

Пример использования:

#!/usr/bin/env python
# -*- coding: utf-8 -*-

import tensorflow as tf 

a = tf.constant([1,-2])
c = tf.neg(a)
sess = tf.Session()
print sess.run(c)
sess.close()

Входные параметры:

  • x: ОдинTensor, тип данных является одним из следующих:float32,float64,int32,complex64,int64.

  • name: (необязательно) Дает имя этой операции.

Выходные параметры:

  • ОдинTensor, тип данных иxтакой же.

tf.sign(x, name = None)

Объяснение: Эта функция является символьной функцией, которая преобразуется в соответствии со следующими правилами.xкаждое значение в .

если х если х == 0, у = знак (х) = 0;
если х > 0, у = знак (х) = 1;

Пример использования:

#!/usr/bin/env python
# -*- coding: utf-8 -*-

import tensorflow as tf 

a = tf.constant([1,-2,0])
c = tf.sign(a)
sess = tf.Session()
print sess.run(c)
sess.close()

Входные параметры:

  • x: ОдинTensor, тип данных является одним из следующих:float32,float64,int32,int64.

  • name: (необязательно) Дает имя этой операции.

Выходные параметры:

  • ОдинTensor, тип данных иxтакой же.

tf.inv(x, name = None)

Объяснение: Эта функция предназначена для вычисленияxОбратная величина каждого элемента в , т.е.y = 1/x.

Пример использования:

#!/usr/bin/env python
# -*- coding: utf-8 -*-

import tensorflow as tf 

a = tf.constant(7.0)
c = tf.inv(a)
sess = tf.Session()
print sess.run(c)
sess.close()

Входные параметры:

  • x: ОдинTensor, тип данных является одним из следующих:float32,float64,int32,complex64,int64.

  • name: (необязательно) Дает имя этой операции.

Выходные параметры:

  • ОдинTensor, тип данных иxтакой же.

Примечание переводчика:
Я тестировал этот API, но кажетсяxТип данных толькоfloatтип, чтобы добиться успеха.

tf.square(x, name = None)

Объяснение: Эта функция предназначена для вычисленияxКвадрат каждого элемента в , т.е.y = x*x = x^2.

Пример использования:

#!/usr/bin/env python
# -*- coding: utf-8 -*-

import tensorflow as tf 

a = tf.constant([2.0,7.0])
c = tf.square(a)
sess = tf.Session()
print sess.run(c)
sess.close()

Входные параметры:

  • x: ОдинTensor, тип данных является одним из следующих:float32,float64,int32,complex64,int64.

  • name: (необязательно) Дает имя этой операции.

Выходные параметры:

  • ОдинTensor, тип данных иxтакой же.

tf.round(x, name = None)

Объяснение: эта функция должна получитьxЦелое число, к которому ближе всего каждый элемент.

Например:

# 'a' is [0.9, 2.5, 2.3, -4.4]
tf.round(a) ==> [ 1.0, 3.0, 2.0, -4.0 ]

Пример использования:

#!/usr/bin/env python
# -*- coding: utf-8 -*-

import tensorflow as tf 

a = tf.constant([2.9, 0.0, -2.1, 2.0, 7.2])
c = tf.round(a)
sess = tf.Session()
print sess.run(c)
sess.close()

Входные параметры:

  • x: ОдинTensor, тип данныхfloatилиdouble.

  • name: (необязательно) Дает имя этой операции.

Выходные параметры:

  • ОдинTensor, тип данных иxто же самое, размерность данных иxтакой же.

tf.sqrt(x, name = None)

Объяснение: эта функция должна получитьxЗначение квадратного корня каждого элемента в , т.е.y = x^{1/2}.

Пример использования:

#!/usr/bin/env python
# -*- coding: utf-8 -*-

import tensorflow as tf 

a = tf.constant([2, 3], tf.float32)
c = tf.sqrt(a)
sess = tf.Session()
print sess.run(c)
sess.close()

Входные параметры:

  • x: ОдинTensor, тип данных должен быть одним из следующих:float32,float64,int32,complex64,int64.

  • name: (необязательно) Дает имя этой операции.

Выходные параметры:

  • ОдинTensor, тип данных иxтакой же.

tf.rsqrt(x, name = None)

Объяснение: эта функция должна получитьxПроизводная значения квадратного корня каждого элемента в , т.е.y = 1/x^{1/2}.

Пример использования:

#!/usr/bin/env python
# -*- coding: utf-8 -*-

import tensorflow as tf 

a = tf.constant([2, 3], tf.float32)
c = tf.rsqrt(a)
sess = tf.Session()
print sess.run(c)
sess.close()

Входные параметры:

  • x: ОдинTensor, тип данных должен быть одним из следующих:float32,float64,int32,complex64,int64.

  • name: (необязательно) Дает имя этой операции.

Выходные параметры:

  • ОдинTensor, тип данных иxтакой же.

tf.pow(x, y, name = None)

Объяснение: Эта функция вычисляет степень.

учитываяxиy,соответствоватьxиyДля каждого значения в вычислитьx^y.

Например:

# tensor 'x' is [[2, 2]], [3, 3]]
# tensor 'y' is [[8, 16], [2, 3]]
tf.pow(x, y) ==> [[256, 65536], [9, 27]]

Пример использования:

#!/usr/bin/env python
# -*- coding: utf-8 -*-

import tensorflow as tf 

a = tf.constant([2, 3])
b = tf.constant([2, 3])
c = tf.pow(a, b)
sess = tf.Session()
print sess.run(c)
sess.close()

Входные параметры:

  • x: ОдинTensor, тип данных должен быть одним из следующих:float,double,int32,complex64,int64.

  • y: ОдинTensor, тип данных должен быть одним из следующих:float,double,int32,complex64,int64.

  • name: (необязательно) Дает имя этой операции.

Выходные параметры:

  • ОдинTensor.

tf.exp(x, name = None)

Объяснение: Эта функция предназначена для вычисленияxИндекс каждого элемента в , т.е.y = e^x.

Пример использования:

#!/usr/bin/env python
# -*- coding: utf-8 -*-

import tensorflow as tf 

a = tf.constant([2.0, 1], tf.float32)
c = tf.exp(a)
sess = tf.Session()
print sess.run(c)
sess.close()

Входные параметры:

  • x: ОдинTensor, тип данных должен быть одним из следующих:float32,float64,int32,complex64,int64.

  • name: (необязательно) Дает имя этой операции.

Выходные параметры:

  • ОдинTensor, тип данных иxтакой же.

tf.log(x, name = None)

Объяснение: Эта функция предназначена для вычисленияxНатуральный логарифм каждого элемента в , т.е.y = log(x).

Пример использования:

#!/usr/bin/env python
# -*- coding: utf-8 -*-

import tensorflow as tf 

a = tf.constant([2.0, 1], tf.float32)
c = tf.log(a)
sess = tf.Session()
print sess.run(c)
sess.close()

Входные параметры:

  • x: ОдинTensor, тип данных должен быть одним из следующих:float32,float64,int32,complex64,int64.

  • name: (необязательно) Дает имя этой операции.

Выходные параметры:

  • ОдинTensor, тип данных иxтакой же.

tf.ceil(x, name = None)

Объяснение: Эта функция возвращает не менееxНаименьшее целое число для каждого элемента в .

Пример использования:

#!/usr/bin/env python
# -*- coding: utf-8 -*-

import tensorflow as tf 

a = tf.constant([2.2, -1.8], tf.float32)
c = tf.ceil(a)
sess = tf.Session()
print sess.run(c)
sess.close()

Входные параметры:

  • x: ОдинTensor, тип данных должен быть одним из следующих:float32,float64.

  • name: (необязательно) Дает имя этой операции.

Выходные параметры:

  • ОдинTensor, тип данных иxтакой же.

tf.floor(x, name = None)

Объяснение: Эта функция возвращает не болееxНаибольшее целое число для каждого элемента в .

Пример использования:

#!/usr/bin/env python
# -*- coding: utf-8 -*-

import tensorflow as tf 

a = tf.constant([2.2, -1.8], tf.float32)
c = tf.floor(a)
sess = tf.Session()
print sess.run(c)
sess.close()

Входные параметры:

  • x: ОдинTensor, тип данных должен быть одним из следующих:float32,float64.

  • name: (необязательно) Дает имя этой операции.

Выходные параметры:

  • ОдинTensor, тип данных иxтакой же.

tf.maximum(x, y, name = None)

Объяснение: Эта функция сравнивает один за другимxиyЗначение в , найдите максимальное значение, т.е.x > y ? x : y. Эта функция поддерживает широковещательную форму.

Пример использования:

#!/usr/bin/env python
# -*- coding: utf-8 -*-

import tensorflow as tf 

a = tf.constant([2.2, -1.8, 0.0])
b = tf.constant(1.0)
c = tf.maximum(a, b)
sess = tf.Session()
print sess.run(c)
sess.close()

Входные параметры:

  • x: ОдинTensor, тип данных должен быть одним из следующих:float32,float64,int32,int64.

  • y: ОдинTensor, тип данных иxтакой же.

  • name: (необязательно) Дает имя этой операции.

Выходные параметры:

  • ОдинTensor, тип данных иxтакой же.

tf.minimum(x, y, name = None)

Объяснение: Эта функция сравнивает один за другимxиyЗначение в , найдите минимальное значение, т.е.x < y ? x : y. Эта функция поддерживает широковещательную форму.

Пример использования:

#!/usr/bin/env python
# -*- coding: utf-8 -*-

import tensorflow as tf 

a = tf.constant([2.2, -1.8, 0.0])
b = tf.constant(1.0)
c = tf.minimum(a, b)
sess = tf.Session()
print sess.run(c)
sess.close()

Входные параметры:

  • x: ОдинTensor, тип данных должен быть одним из следующих:float32,float64,int32,int64.

  • y: ОдинTensor, тип данных иxтакой же.

  • name: (необязательно) Дает имя этой операции.

Выходные параметры:

  • ОдинTensor, тип данных иxтакой же.

tf.cos(x, name = None)

Объяснение: Эта функция предназначена для вычисленияxКосинус каждого элемента в .

Пример использования:

#!/usr/bin/env python
# -*- coding: utf-8 -*-

import tensorflow as tf 

a = tf.constant([2.2, -1.8, 0.0])
c = tf.cos(a)
sess = tf.Session()
print sess.run(c)
sess.close()

Входные параметры:

  • x: ОдинTensor, тип данных должен быть одним из следующих:float32,float64,int32,complex64,int64.

  • name: (необязательно) Дает имя этой операции.

Выходные параметры:

  • ОдинTensor, тип данных иxтакой же.

tf.sin(x, name = None)

Объяснение: Эта функция предназначена для вычисленияxСинус каждого элемента в .

Пример использования:

#!/usr/bin/env python
# -*- coding: utf-8 -*-

import tensorflow as tf 

a = tf.constant([2.2, -1.8, 0.0])
c = tf.sin(a)
sess = tf.Session()
print sess.run(c)
sess.close()

Входные параметры:

  • x: ОдинTensor, тип данных должен быть одним из следующих:float32,float64,int32,complex64,int64.

  • name: (необязательно) Дает имя этой операции.

Выходные параметры:

  • ОдинTensor, тип данных иxтакой же.

Матричные математические функции

TensorFlow предоставляет некоторые операции, которые можно использовать для добавления основных матричных математических функций к вашим графикам.

tf.diag(diagonal, name = None)

Объяснение: этой функции присвоено диагональное значениеdiagonal, затем возвращает диагональtensor.

учитывая диагональное значениеdiagonal, эта операция возвращает диагональtensor, значение выше диагонали равноdiagonal, остальные значения используются0заполнять.

ПредположениеdiagonalРазмер[D1, D2, ..., Dk], затем выводtensorранг2k, размерность[D1, D2, ..., Dk, D1, D2, ..., Dk],следующее:

output[i1, i2, ..., ik, i1, i2, ..., ik] = diagonal[i1, .., ik],其余值都是0。

Например:

# 'diagonal' is [1, 2, 3, 4]
tf.diag(diagonal) ==> [[1, 0, 0, 0]
                       [0, 2, 0, 0]
                       [0, 0, 3, 0]
                       [0, 0, 0, 4]]

Пример использования:

#!/usr/bin/env python
# -*- coding: utf-8 -*-

import tensorflow as tf 

a = tf.constant([2.2, -1.8, 1.0])
c = tf.diag(a)
sess = tf.Session()
print sess.run(c)
sess.close()

Входные параметры:

  • diagonal: ОдинTensor, тип данных должен быть одним из следующих:float32,float64,int32,int64. Его ранг не выше 3.

  • name: (необязательно) Дает имя этой операции.

Выходные параметры:

  • ОдинTensor, тип данных иdiagonalтакой же.

tf.transpose(a, perm = None, name = 'transpose')

Пояснение: будетaтранспонировать и согласноpermПараметр изменяет выходные размеры.

Выходные данныеtensorПервыйiразмер будет основываться наperm[i]указано. Например, еслиpermне задано, то по умолчаниюperm = [n-1, n-2, ..., 0]rank(a) = n. По умолчанию для двумерных входных данных это фактически обычная операция транспонирования матрицы.

Например:

input_data.dims = (1, 4, 3)
perm = [1, 2, 0]

# 因为 output_data.dims[0] = input_data.dims[ perm[0] ]
# 因为 output_data.dims[1] = input_data.dims[ perm[1] ]
# 因为 output_data.dims[2] = input_data.dims[ perm[2] ]
# 所以得到 output_data.dims = (4, 3, 1)
output_data.dims = (4, 3, 1)

Пример использования:

#!/usr/bin/env python
# -*- coding: utf-8 -*-

import tensorflow as tf 

sess = tf.Session()
input_data = tf.constant([[1,2,3],[4,5,6]])
print sess.run(tf.transpose(input_data))
print sess.run(input_data)
print sess.run(tf.transpose(input_data, perm=[1,0]))
input_data = tf.constant([[[1,2,3],[4,5,6],[7,8,9],[10,11,12]]])
print 'input_data shape: ', sess.run(tf.shape(input_data))
output_data = tf.transpose(input_data, perm=[1, 2, 0])
print 'output_data shape: ', sess.run(tf.shape(output_data))
print sess.run(output_data)
sess.close()

Входные параметры:

  • a: ОдинTensor.

  • perm: дляaПереставлены комбинации размеров.

  • name: (необязательно) Дает имя этой операции.

Выходные параметры:

  • перевернутыйTensor.

tf.matmul(a, b, transpose_a = False, transpose_b = False, a_is_sparse = False, b_is_sparse = False, name = None)

Объяснение: преобразовать матрицуaи матрицаbУмножьте, чтобы получить матрицуa*b.

Входные данные должны представлять собой двумерную матрицу, транспонированную или нет, а внутренние размеры должны совпадать.

Входные матрицы должны иметь один и тот же тип данных, а именно:float,double,int32,complex64.

Матрица может быть задана как операция транспонирования, т.е.transpose_a = True, transpose_b = True. По умолчанию этот флаг установлен вFalse.

Если есть много0, то мы можем использоватьsparseотметка, то естьa_is_sparse = True, b_is_sparse = True. По умолчанию этот флаг установлен вFalse.

Например:

# 2-D tensor `a`
a = tf.constant([1, 2, 3, 4, 5, 6], shape=[2, 3]) => [[1. 2. 3.]
                                                      [4. 5. 6.]]
# 2-D tensor `b`
b = tf.constant([7, 8, 9, 10, 11, 12], shape=[3, 2]) => [[7. 8.]
                                                         [9. 10.]
                                                         [11. 12.]]
c = tf.matmul(a, b) => [[58 64]
                        [139 154]]

Пример использования:

#!/usr/bin/env python
# -*- coding: utf-8 -*-

import tensorflow as tf 
import numpy as np

a = tf.constant(np.random.rand(2,3))
b = tf.constant(np.random.rand(1,3))
c = tf.matmul(a, b, transpose_b = True)
sess = tf.Session()
print sess.run(c)
sess.close()

Входные параметры:

  • a: ОдинTensor, тип данныхfloat,double,int32илиcomplex64.

  • b: ОдинTensor, тип данных иaтакой же.

  • transpose_a: если размерность значенияTrue, то перед вычислением матрицы сначалаaТранспонировать.

  • transpose_b: если размерность значенияTrue, то перед вычислением матрицы сначалаbТранспонировать.

  • a_is_sparse: если размерность значенияTrue, то при вычислении матрицыaкакsparseМатричные соображения.

  • b_is_sparse: если размерность значенияTrue, то при вычислении матрицыbкакsparseМатричные соображения.

  • name: (необязательно) Дает имя этой операции.

Выходные параметры:

  • ОдинTensor, тип данных иaтакой же.

tf.batch_matmul(x, y, adj_x = None, adj_y = None, name = None)

Объяснение: Эта функция предназначена для умножения двух тензоров в пакетных срезах.

тензорxиyСлайс (каждый слайс является элементом пакета), а затем поставить соответствующийxиyУмножьте каждый фрагмент и измените результат в соответствии с размером исходной партии. если мы положимadj_xилиadj_yустановлен вTrue, прежде чем выполнять умножение, каждый отдельный срез может составить свое сопряжение (фактически эквивалентное транспонированию).

Входxиyтрехмерныйtensor, или более высокой размерности[..., r_x, c_x]и[..., r_y, c_y].

выводtensorявляется трехмерным или более многомерным[..., r_o, c_o],в:

r_o = c_x if adj_x else r_x
c_o = r_y if adj_y else c_y

Процесс расчета выглядит следующим образом:

out[..., :, :] = matrix(x[..., :, :]) * matrix(y[..., :, :])

Пример использования:

#!/usr/bin/env python
# -*- coding: utf-8 -*-

import tensorflow as tf 
import numpy as np

a = tf.constant(np.random.rand(2, 2, 3))
b = tf.constant(np.random.rand(3, 3, 1))
c = tf.batch_matmul(a, b)
sess = tf.Session()
print sess.run(c)
sess.close()
#!/usr/bin/env python
# -*- coding: utf-8 -*-

import tensorflow as tf 
import numpy as np

a = tf.constant(np.random.rand(3, 2, 3, 1))
b = tf.constant(np.random.rand(3, 2, 3, 1))
c = tf.batch_matmul(a, b, adj_x = False, adj_y = True )
sess = tf.Session()
print sess.run(c)
print sess.run(tf.shape(c))
sess.close()

Входные параметры:

  • x: ОдинTensor, тип данныхfloat32,float64,int32илиcomplex64, размерность данных трехмерная или выше[..., r_x, c_x].

  • y: ОдинTensor, тип данных иxТо же, размерность данных трехмерная или выше[..., r_y, c_y].

  • adj_x: это необязательное логическое значение, по умолчаниюFalse. Если мы установимTrue,xКаждый кусок будет перенесен.

  • adj_y: это необязательное логическое значение, по умолчаниюFalse. Если мы установимTrue,yКаждый кусок будет перенесен.

  • name: (необязательно) Дает имя этой операции.

Выходные параметры:

  • ОдинTensor, тип данных иxТо же, размерность данных трехмерная или выше[..., r_o, c_o].

tf.matrix_determinant(input, name=None)

Объяснение: Функция этой функции состоит в том, чтобы вычислитьnОпределитель матрицы порядка.

Пример использования:

#!/usr/bin/env python
# -*- coding: utf-8 -*-

import tensorflow as tf 
import numpy as np

a = tf.constant(np.random.rand(3, 3))
c = tf.matrix_determinant(a)
sess = tf.Session()
print sess.run(c)
sess.close()

Входные параметры:

  • input: ОдинTensor, тип данныхfloat32илиfloat64, размерность данных[M, M].

  • name: (необязательно) Дает имя этой операции.

Выходные параметры:

  • ОдинTensorскаляр, тип данных иinputтакой же.

tf.batch_matrix_determinant(input, name=None)

Объяснение: Роль этой функции заключается в расчете каждой партии (среза)nОпределитель матрицы порядка.

входитьtensorРазмер данных должен быть[..., M, M], где внутренняя часть должна быть двумерной квадратной матрицей, а для всех подматриц выходным результатом является одномернаяtensor.

Пример использования:

#!/usr/bin/env python
# -*- coding: utf-8 -*-

import tensorflow as tf 
import numpy as np

a = tf.constant(np.random.rand(4, 2, 3, 3))
c = tf.batch_matrix_determinant(a)
sess = tf.Session()
print sess.run(c)
sess.close()

Входные параметры:

  • input: ОдинTensor, тип данныхfloat32илиfloat64, размерность данных[..., M, M].

  • name: (необязательно) Дает имя этой операции.

Выходные параметры:

  • ОдинTensor, тип данных иinputТо же самое, размерность данных[...].

tf.matrix_inverse(input, name=None)

Объяснение: Функция этой функции состоит в том, чтобы вычислитьnОбратная матрица порядка и проверка на обратимость.

Пример использования:

#!/usr/bin/env python
# -*- coding: utf-8 -*-

import tensorflow as tf 
import numpy as np

a = tf.constant(np.random.rand(3, 3))
c = tf.matrix_inverse(a)
sess = tf.Session()
print sess.run(c)
d = tf.matmul(a, c)
print sess.run(d)
e = tf.matrix_determinant(d)
print sess.run(e)
sess.close()

Входные параметры:

  • input: ОдинTensor, тип данныхfloat32илиfloat64, размерность данных[M, M].

  • name: (необязательно) Дает имя этой операции.

Выходные параметры:

  • ОдинTensor, тип данных иinputТо же самое, размерность данных[M, M].

tf.batch_matrix_inverse(input, name=None)

Объяснение: Роль этой функции заключается в расчете каждой партии (среза)nОбратная матрица порядка и проверка на обратимость.

входитьtensorТип данных[..., M, M], где внутренняя часть должна быть двумерной квадратной матрицей, и для каждой подматрицы обратная выходная матрица имеет ту же размерность данных, что и входные данные.

Пример использования:

#!/usr/bin/env python
# -*- coding: utf-8 -*-

import tensorflow as tf 
import numpy as np

a = tf.constant(np.random.rand(2, 3, 3))
c = tf.batch_matrix_inverse(a)
sess = tf.Session()
print sess.run(c)
sess.close()

Входные параметры:

  • input: ОдинTensor, тип данныхfloat32илиfloat64, размерность данных[..., M, M].

  • name: (необязательно) Дает имя этой операции.

Выходные параметры:

  • ОдинTensor, тип данных иinputТо же самое, размерность данных[..., M, M].

tf.cholesky(input, name=None)

Объяснение: Функция этой функции состоит в том, чтобы вычислитьnРазложение Холецкого матриц порядка.

Входные данные должны быть симметричной положительно определенной матрицей, и в этой операции мы будем считывать только нижнюю треугольную часть матрицы, а не верхнюю треугольную часть матрицы.

Выходным результатом является нижняя треугольная вещественная матрица с положительными диагональными элементами после разложения Холецкого.

Пример использования:

#!/usr/bin/env python
# -*- coding: utf-8 -*-

import tensorflow as tf 
import numpy as np

a = tf.constant([[2, np.random.rand()], [-2, 5]], tf.float32)
c = tf.cholesky(a)
sess = tf.Session()
print sess.run(c)
sess.close()

Входные параметры:

  • input: ОдинTensor, тип данныхfloat32илиfloat64, размерность данных[M, M].

  • name: (необязательно) Дает имя этой операции.

Выходные параметры:

  • ОдинTensor, тип данных иinputТо же самое, размерность данных[M, M].

tf.batch_cholesky(input, name=None)

Объяснение: Роль этой функции заключается в расчете каждой партии (среза)nРазложение Холецкого матриц порядка.

входитьtensorТип данных[..., M, M], где внутренность должна быть двумерной квадратной матрицей и удовлетворять условиям разложения Холецкого. выводtensorОн имеет тот же тип данных, что и входные данные, и каждый срез представляет собой значение после разложения Холецкого.

Пример использования:

#!/usr/bin/env python
# -*- coding: utf-8 -*-

import tensorflow as tf 
import numpy as np

a = tf.constant([[[2, np.random.rand()], [-2, 5]], [[2, np.random.rand()], [-2, 5]]], tf.float32)
c = tf.batch_cholesky(a)
sess = tf.Session()
print sess.run(c)
sess.close()

Входные параметры:

  • input: ОдинTensor, тип данныхfloat32илиfloat64, размерность данных[..., M, M].

  • name: (необязательно) Дает имя этой операции.

Выходные параметры:

  • ОдинTensor, тип данных иinputТо же самое, размерность данных[..., M, M].

сложная функция

TensorFlow предоставляет некоторые функции комплексных чисел, которые позволяют вам манипулировать комплексными числами, и вы можете добавить их на свой график.

tf.complex(real, imag, name=None)

Объяснение: Цель этой функции — преобразовать два действительных числа в комплексное число.

Эта операция заключается в вычислении комплексных чисел.a + bjaиз входных данныхreal, представляющий действительную часть,bиз входных данныхimag, представляющий мнимую часть.

Входные данныеrealиimagДолжны иметь одинаковые размеры данных.

Например:

# tensor 'real' is [2.25, 3.25]
# tensor `imag` is [4.75, 5.75]
tf.complex(real, imag) ==> [[2.25 + 4.74j], [3.25 + 5.75j]]

Пример использования:

#!/usr/bin/env python
# -*- coding: utf-8 -*-

import tensorflow as tf 
import numpy as np

a = tf.constant([2.25, 3.25])
b = tf.constant([4.75, 5.75])
c = tf.complex(a, b)
sess = tf.Session()
print sess.run(c)
sess.close()

Входные параметры:

  • real: ОдинTensor, тип данныхfloat.

  • imag: ОдинTensor, тип данныхfloat.

  • name: (необязательно) Дает имя этой операции.

Выходные параметры:

  • ОдинTensor, тип данныхcomplex64.

tf.complex_abs(x, name=None)

Объяснение: Целью этой функции является вычисление абсолютного значения комплексного числа.

задан комплексный тензорx, эта операция заключается в вычисленииxабсолютное значение каждого значения в и возвращаетfloatтип тензора. существуетxВсе формы множественного числа должны бытьa + bj, то формула расчета абсолютного значения выглядит следующим образом:

Например:

# tensor 'x' is [[-2.25 + 4.75j], [-3.25 + 5.75j]]
tf.complex_abs(x) ==> [5.25594902, 6.60492229]

Пример использования:

#!/usr/bin/env python
# -*- coding: utf-8 -*-

import tensorflow as tf 
import numpy as np

a = tf.constant([2.25 + 3.25j])
c = tf.complex_abs(a)
sess = tf.Session()
print sess.run(c)
sess.close()

Входные параметры:

  • x: ОдинTensor, тип данныхcomplex64.

  • name: (необязательно) Дает имя этой операции.

Выходные параметры:

  • ОдинTensor, тип данныхfloat32.

tf.conj(in_, name=None)

Объяснение: Целью этой функции является вычисление комплексного сопряжения комплексного числа.

задан комплексный тензорin_, эта операция заключается в вычисленииin_Комплексное сопряжение каждого комплексного числа в . существуетin_Все формы множественного числа должны бытьa + bjв видеaреальная часть,bявляется мнимой частью.

После этой операции обратная форма комплексного сопряжения имеет видa - bj.

Например:

# tensor 'in' is [-2.25 + 4.75j, 3.25 + 5.75j]
tf.conj(in) ==> [-2.25 - 4.75j, 3.25 - 5.75j]

Пример использования:

#!/usr/bin/env python
# -*- coding: utf-8 -*-

import tensorflow as tf 
import numpy as np

a = tf.constant([2.25 + 3.25j])
c = tf.conj(a)
sess = tf.Session()
print sess.run(c)
sess.close()

Входные параметры:

  • x: ОдинTensor, тип данныхcomplex64.

  • name: (необязательно) Дает имя этой операции.

Выходные параметры:

  • ОдинTensor, тип данныхcomplex64.

tf.imag(in_, name=None)

Объяснение: Цель этой функции — вернуть мнимую часть комплексного числа.

задан комплексный тензорin_, эта операция возвращаетin_Мнимая часть каждого комплексного числа в . существуетin_Все формы множественного числа должны бытьa + bjв видеaреальная часть,bявляется мнимой частью.

Например:

# tensor 'in' is [-2.25 + 4.75j, 3.25 + 5.75j]
tf.imag(in) ==> [4.75, 5.75]

Пример использования:

#!/usr/bin/env python
# -*- coding: utf-8 -*-

import tensorflow as tf 
import numpy as np

a = tf.constant([2.25 + 3.25j])
c = tf.imag(a)
sess = tf.Session()
print sess.run(c)
sess.close()

Входные параметры:

  • x: ОдинTensor, тип данныхcomplex64.

  • name: (необязательно) Дает имя этой операции.

Выходные параметры:

  • ОдинTensor, тип данныхfloat32.

tf.real(in_, name=None)

Объяснение: Цель этой функции — вернуть действительную часть комплексного числа.

задан комплексный тензорin_, эта операция возвращаетin_Действительная часть каждого комплексного числа в . существуетin_Все формы множественного числа должны бытьa + bjв видеaреальная часть,bявляется мнимой частью.

Например:

# tensor 'in' is [-2.25 + 4.75j, 3.25 + 5.75j]
tf.real(in) ==> [-2.25, 3.25]

Пример использования:

#!/usr/bin/env python
# -*- coding: utf-8 -*-

import tensorflow as tf 
import numpy as np

a = tf.constant([2.25 + 3.25j])
c = tf.real(a)
sess = tf.Session()
print sess.run(c)
sess.close()

Входные параметры:

  • x: ОдинTensor, тип данныхcomplex64.

  • name: (необязательно) Дает имя этой операции.

Выходные параметры:

  • ОдинTensor, тип данныхfloat32.


CoderPai — это платформа, ориентированная на алгоритмический бой, с дизайном от базовых алгоритмов до алгоритмов искусственного интеллекта. Если вы заинтересованы в алгоритмическом бою, пожалуйста, следуйте за нами быстро. Присоединяйтесь к группе WeChat для реальных боевых действий AI, группе QQ для реальных боевых действий AI, группе WeChat по алгоритму ACM, группе QQ по алгоритму ACM. Для получения подробной информации, пожалуйста, обратите внимание на учетную запись WeChat «CoderPai» (coderpai).