Добавить Автора
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 + bj
,вa
из входных данных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).