Поиск…


Elementwise Multiplication

Чтобы выполнить элементное умножение на тензоры, вы можете использовать одно из следующих:

  • a*b
  • tf.multiply(a, b)

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

import tensorflow as tf
import numpy as np

# Build a graph
graph = tf.Graph()
with graph.as_default():
    # A 2x3 matrix
    a = tf.constant(np.array([[ 1, 2, 3],
                              [10,20,30]]),
                    dtype=tf.float32)
    # Another 2x3 matrix
    b = tf.constant(np.array([[2, 2, 2],
                              [3, 3, 3]]),
                    dtype=tf.float32)

    # Elementwise multiplication
    c =  a * b
    d = tf.multiply(a, b)

# Run a Session
with tf.Session(graph=graph) as session:
    (output_c, output_d) = session.run([c, d])
    print("output_c")
    print(output_c)
    print("\noutput_d")
    print(output_d)

Распечатывает следующее:

output_c
[[  2.   4.   6.]
 [ 30.  60.  90.]]

output_d
[[  2.   4.   6.]
 [ 30.  60.  90.]]

Скалярные времена - тензор

В следующем примере тензор 2 на 3 умножается на скалярное значение (2).

# Build a graph
graph = tf.Graph()
with graph.as_default():
    # A 2x3 matrix
    a = tf.constant(np.array([[ 1, 2, 3],
                              [10,20,30]]),
                    dtype=tf.float32)
                    
    # Scalar times Matrix
    c =  2 * a

# Run a Session
with tf.Session(graph=graph) as session:
    output = session.run(c)
    print(output)

Это печатает

[[  2.   4.   6.]
 [ 20.  40.  60.]]

Скалярное произведение

Точечный продукт между двумя тензорами может быть выполнен с использованием:

tf.matmul(a, b)

Полный пример приведен ниже:

# Build a graph
graph = tf.Graph()
with graph.as_default():
    # A 2x3 matrix
    a = tf.constant(np.array([[1, 2, 3],
                              [2, 4, 6]]),
                            dtype=tf.float32)
    # A 3x2 matrix
    b = tf.constant(np.array([[1, 10],
                              [2, 20],
                              [3, 30]]),
                    dtype=tf.float32)

    # Perform dot product
    c = tf.matmul(a, b)

# Run a Session
with tf.Session(graph=graph) as session:
    output = session.run(c)
    print(output)

распечатывает

[[  14.  140.]
 [  28.  280.]]


Modified text is an extract of the original Stack Overflow Documentation
Лицензировано согласно CC BY-SA 3.0
Не связан с Stack Overflow