tf.contrib.distributions.fill_triangular
Создаёт (группу) треугольную матрицу из вектора входных данных.
tf.contrib.distributions.fill_triangular(
x, upper=False, name=None
)
Созданная матрица может быть нижней или верхней треугольной. (Эффективнее создавать матрицу как верхнюю или нижнюю, а не транспонировать её.)
Элементы треугольной матрицы заполняются по часовой стрелке. См. пример ниже.
Если x.get_shape() равно [b1, b2, ..., bB, d], то форма вывода равна [b1, b2, ..., bB, n, n], где n такова, что d = n(n+1)/2, т.е., n = int(np.sqrt(0.25 + 2. * m) - 0.5).
Пример:
fill_triangular([1, 2, 3, 4, 5, 6]) # ==> [[4, 0, 0], # [6, 5, 0], # [3, 2, 1]] fill_triangular([1, 2, 3, 4, 5, 6], upper=True) # ==> [[1, 2, 3], # [0, 5, 6], # [0, 0, 4]]
Для сравнения, чистая версия этой функции на NumPy находится в util_test.py, функция _fill_triangular.
| Аргументы | |
|---|---|
x | Tensor представляющие нижние (или верхние) треугольные элементы. |
upper | Python bool указывающее, должна ли выходная матрица быть верхней треугольной (True) или нижней треугольной (False, по умолчанию). |
name | Python str. Имя для данного op. |
| Возвращаемое значение | |
|---|---|
tril | Tensor с заполненными нижними (или верхними) треугольными элементами из x. |
| Исключения | |
|---|---|
ValueError | если x нельзя отобразить в треугольную матрицу. |
© 2020 The TensorFlow Authors. All rights reserved.
Licensed under the Creative Commons Attribution License 3.0.
Code samples licensed under the Apache 2.0 License.
https://www.tensorflow.org/versions/r1.15/api_docs/python/tf/contrib/distributions/fill_triangular