Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Gradient Tape | Grundlæggende om TensorFlow
Introduktion til Tensorflow

bookGradient Tape

Gradient Tape

Forståelse af grundlæggende tensoroperationer muliggør videreudvikling og effektivisering af disse processer ved hjælp af indbyggede TensorFlow-funktioner. Det første af disse avancerede værktøjer, der skal udforskes, er Gradient Tape.

Hvad er Gradient Tape?

Dette kapitel omhandler et af de grundlæggende begreber i TensorFlow, Gradient Tape. Denne funktion er afgørende for forståelse og implementering af gradientbaserede optimeringsteknikker, især inden for deep learning.

Gradient Tape i TensorFlow er et værktøj, der registrerer operationer til automatisk differentiering. Når operationer udføres inden for et Gradient Tape-blok, registrerer TensorFlow alle de beregninger, der foretages. Dette er særligt nyttigt ved træning af maskinlæringsmodeller, hvor gradienter er nødvendige for at optimere modelparametre.

Note
Bemærk

Grundlæggende er en gradient et sæt af partielle afledte.

Anvendelse af Gradient Tape

For at anvende Gradient Tape, følg disse trin:

  • Opret et Gradient Tape-blok: brug with tf.GradientTape() as tape:. Inde i denne blok spores alle beregninger;
  • Definér beregningerne: udfør operationer med tensorer inden for blokken (f.eks. definér et fremadrettet gennemløb af et neuralt netværk);
  • Beregn gradienter: brug tape.gradient(target, sources) for at beregne gradienterne af målet med hensyn til kilderne.

Simpel gradientberegning

Et simpelt eksempel for bedre forståelse.

123456789101112131415
import tensorflow as tf # Define input variables x = tf.Variable(3.0) # Start recording the operations with tf.GradientTape() as tape: # Define the calculations y = x * x # Extract the gradient for the specific input (`x`) grad = tape.gradient(y, x) print(f'Result of y: {y}') print(f'The gradient of y with respect to x is: {grad.numpy()}')
copy

Denne kode beregner gradienten af y = x^2 ved x = 3. Dette svarer til den partielle afledte af y med hensyn til x.

Flere partielle afledte

Når output påvirkes af flere input, kan en partiel afledt beregnes med hensyn til hver af disse input (eller kun udvalgte). Dette opnås ved at angive en liste af variable som parameteren sources.

Resultatet af denne operation vil være en tilsvarende liste af tensorer, hvor hver tensor repræsenterer den partielle afledte med hensyn til hver af de variable, der er angivet i sources.

1234567891011121314151617
import tensorflow as tf # Define input variables x = tf.Variable(tf.fill((2, 3), 3.0)) z = tf.Variable(5.0) # Start recording the operations with tf.GradientTape() as tape: # Define the calculations y = tf.reduce_sum(x * x + 2 * z) # Extract the gradient for the specific inputs (`x` and `z`) grad = tape.gradient(y, [x, z]) print(f'Result of y: {y}') print(f"The gradient of y with respect to x is:\n{grad[0].numpy()}") print(f"The gradient of y with respect to z is: {grad[1].numpy()}")
copy

Denne kode beregner gradienten af funktionen y = sum(x^2 + 2*z) for givne værdier af x og z. I dette eksempel vises gradienten af x som en 2D-tensor, hvor hvert element svarer til den partielle afledte af den respektive værdi i den oprindelige x-matrix.

Note
Bemærk

For yderligere indsigt i Gradient Tape-funktionalitet, herunder højere ordens afledte og udtrækning af Jacobian-matricen, henvises til den officielle TensorFlow-dokumentation.

Opgave

Swipe to start coding

Dit mål er at beregne gradienten (den afledte) af en given matematisk funktion på et specificeret punkt ved hjælp af TensorFlows Gradient Tape. Funktionen og punktet vil blive angivet, og du vil se, hvordan TensorFlow bruges til at finde gradienten på dette punkt.

Overvej en kvadratisk funktion af en enkelt variabel x, defineret som:

f(x) = x^2 + 2x - 1

Din opgave er at beregne den afledte af denne funktion ved x = 2.

Trin

  1. Definér variablen x på det punkt, hvor du ønsker at beregne den afledte.
  2. Brug Gradient Tape til at optage beregningen af funktionen f(x).
  3. Beregn gradienten af f(x) på det angivne punkt.

Bemærk

Gradient kan kun beregnes for værdier af floating-point type.

Derivative of a Function at a Point

Løsning

Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 2. Kapitel 1
single

single

Spørg AI

expand

Spørg AI

ChatGPT

Spørg om hvad som helst eller prøv et af de foreslåede spørgsmål for at starte vores chat

close

Awesome!

Completion rate improved to 5.56

bookGradient Tape

Stryg for at vise menuen

Gradient Tape

Forståelse af grundlæggende tensoroperationer muliggør videreudvikling og effektivisering af disse processer ved hjælp af indbyggede TensorFlow-funktioner. Det første af disse avancerede værktøjer, der skal udforskes, er Gradient Tape.

Hvad er Gradient Tape?

Dette kapitel omhandler et af de grundlæggende begreber i TensorFlow, Gradient Tape. Denne funktion er afgørende for forståelse og implementering af gradientbaserede optimeringsteknikker, især inden for deep learning.

Gradient Tape i TensorFlow er et værktøj, der registrerer operationer til automatisk differentiering. Når operationer udføres inden for et Gradient Tape-blok, registrerer TensorFlow alle de beregninger, der foretages. Dette er særligt nyttigt ved træning af maskinlæringsmodeller, hvor gradienter er nødvendige for at optimere modelparametre.

Note
Bemærk

Grundlæggende er en gradient et sæt af partielle afledte.

Anvendelse af Gradient Tape

For at anvende Gradient Tape, følg disse trin:

  • Opret et Gradient Tape-blok: brug with tf.GradientTape() as tape:. Inde i denne blok spores alle beregninger;
  • Definér beregningerne: udfør operationer med tensorer inden for blokken (f.eks. definér et fremadrettet gennemløb af et neuralt netværk);
  • Beregn gradienter: brug tape.gradient(target, sources) for at beregne gradienterne af målet med hensyn til kilderne.

Simpel gradientberegning

Et simpelt eksempel for bedre forståelse.

123456789101112131415
import tensorflow as tf # Define input variables x = tf.Variable(3.0) # Start recording the operations with tf.GradientTape() as tape: # Define the calculations y = x * x # Extract the gradient for the specific input (`x`) grad = tape.gradient(y, x) print(f'Result of y: {y}') print(f'The gradient of y with respect to x is: {grad.numpy()}')
copy

Denne kode beregner gradienten af y = x^2 ved x = 3. Dette svarer til den partielle afledte af y med hensyn til x.

Flere partielle afledte

Når output påvirkes af flere input, kan en partiel afledt beregnes med hensyn til hver af disse input (eller kun udvalgte). Dette opnås ved at angive en liste af variable som parameteren sources.

Resultatet af denne operation vil være en tilsvarende liste af tensorer, hvor hver tensor repræsenterer den partielle afledte med hensyn til hver af de variable, der er angivet i sources.

1234567891011121314151617
import tensorflow as tf # Define input variables x = tf.Variable(tf.fill((2, 3), 3.0)) z = tf.Variable(5.0) # Start recording the operations with tf.GradientTape() as tape: # Define the calculations y = tf.reduce_sum(x * x + 2 * z) # Extract the gradient for the specific inputs (`x` and `z`) grad = tape.gradient(y, [x, z]) print(f'Result of y: {y}') print(f"The gradient of y with respect to x is:\n{grad[0].numpy()}") print(f"The gradient of y with respect to z is: {grad[1].numpy()}")
copy

Denne kode beregner gradienten af funktionen y = sum(x^2 + 2*z) for givne værdier af x og z. I dette eksempel vises gradienten af x som en 2D-tensor, hvor hvert element svarer til den partielle afledte af den respektive værdi i den oprindelige x-matrix.

Note
Bemærk

For yderligere indsigt i Gradient Tape-funktionalitet, herunder højere ordens afledte og udtrækning af Jacobian-matricen, henvises til den officielle TensorFlow-dokumentation.

Opgave

Swipe to start coding

Dit mål er at beregne gradienten (den afledte) af en given matematisk funktion på et specificeret punkt ved hjælp af TensorFlows Gradient Tape. Funktionen og punktet vil blive angivet, og du vil se, hvordan TensorFlow bruges til at finde gradienten på dette punkt.

Overvej en kvadratisk funktion af en enkelt variabel x, defineret som:

f(x) = x^2 + 2x - 1

Din opgave er at beregne den afledte af denne funktion ved x = 2.

Trin

  1. Definér variablen x på det punkt, hvor du ønsker at beregne den afledte.
  2. Brug Gradient Tape til at optage beregningen af funktionen f(x).
  3. Beregn gradienten af f(x) på det angivne punkt.

Bemærk

Gradient kan kun beregnes for værdier af floating-point type.

Derivative of a Function at a Point

Løsning

Switch to desktopSkift til skrivebord for at øve i den virkelige verdenFortsæt der, hvor du er, med en af nedenstående muligheder
Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 2. Kapitel 1
single

single

some-alt