Grundläggande operationer

Introduktion till TensorFlow i Python

Isaiah Hull

Visiting Associate Professor of Finance, BI Norwegian Business School

Vad är en TensorFlow-operation?

Bilden visar operationer och tensorer i en TensorFlow-graf, ritad av TensorBoard. Två par av matriser kombineras med additionsoperationen. De resulterande summorna multipliceras sedan.

Introduktion till TensorFlow i Python

Vad är en TensorFlow-operation?

Bilden visar operationer och tensorer i en TensorFlow-graf, ritad av TensorBoard. En additionsoperation visas.

Introduktion till TensorFlow i Python

Vad är en TensorFlow-operation?

Bilden visar operationer och tensorer i en TensorFlow-graf, ritad av TensorBoard. Två additionsoperationer visas.

Introduktion till TensorFlow i Python

Vad är en TensorFlow-operation?

Bilden visar operationer och tensorer i en TensorFlow-graf, ritad av TensorBoard. Två par av matriser kombineras med additionsoperationen. De resulterande summorna multipliceras sedan.

Introduktion till TensorFlow i Python

Använda additionsoperatorn

#Import constant and add from tensorflow
from tensorflow import constant, add

# Define 0-dimensional tensors
A0 = constant([1])
B0 = constant([2])
# Define 1-dimensional tensors
A1 = constant([1, 2])
B1 = constant([3, 4])
# Define 2-dimensional tensors
A2 = constant([[1, 2], [3, 4]])
B2 = constant([[5, 6], [7, 8]])
Introduktion till TensorFlow i Python

Använda additionsoperatorn

# Perform tensor addition with add()
C0 = add(A0, B0)
C1 = add(A1, B1)
C2 = add(A2, B2)
Introduktion till TensorFlow i Python

Tensoraddition

  • Operationen add() utför elementvis addition på två tensorer

  • Elementvis addition kräver att båda tensorerna har samma form:

    • Skaläraddition: $1+2=3$
    • Vektoraddition: $[1,2]+[3,4]=[4,6]$
    • Matrisaddition: $\begin{bmatrix} 1 & 2 \\ 3 & 4 \end{bmatrix} + \begin{bmatrix} 5 & 6 \\ 7 & 8 \end{bmatrix} = \begin{bmatrix} 6 & 8 \\ 10 & 12 \end{bmatrix}$
  • Operatorn add() är överlagrad

Introduktion till TensorFlow i Python

Multiplikation i TensorFlow

  • Elementvis multiplikation utförs med operationen multiply()

    • Tensorerna som multipliceras måste ha samma form
    • T.ex. [1,2,3] och [3,4,5] eller [1,2] och [3,4]
  • Matrismultiplikation utförs med operatorn matmul()

    • Operationen matmul(A,B) multiplicerar A med B
    • Antalet kolumner i A måste vara lika med antalet rader i B
Introduktion till TensorFlow i Python

Använda multiplikationsoperatorerna

# Import operators from tensorflow
from tensorflow import ones, matmul, multiply

# Define tensors
A0 = ones(1)
A31 = ones([3, 1])
A34 = ones([3, 4])
A43 = ones([4, 3])

  • Vilka operationer är giltiga?
    • multiply(A0, A0), multiply(A31, A31) och multiply(A34, A34)
    • matmul(A43, A34), men inte matmul(A43, A43)
Introduktion till TensorFlow i Python

Summering över tensordimensioner

  • Operatorn reduce_sum() summerar över tensorns dimensioner
    • reduce_sum(A) summerar över alla dimensioner i A
    • reduce_sum(A, i) summerar över dimension i
# Import operations from tensorflow
from tensorflow import ones, reduce_sum

# Define a 2x3x4 tensor of ones
A = ones([2, 3, 4])
Introduktion till TensorFlow i Python

Summering över tensordimensioner

# Sum over all dimensions
B = reduce_sum(A)

# Sum over dimensions 0, 1, and 2
B0 = reduce_sum(A, 0)
B1 = reduce_sum(A, 1)
B2 = reduce_sum(A, 2)
Introduktion till TensorFlow i Python

Nu kör vi en övning!

Introduktion till TensorFlow i Python

Preparing Video For Download...