Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Oprettelse af Tensorer | Sektion
/
Deep Learning med TensorFlow
Sektion 1. Kapitel 6
single

single

bookOprettelse af Tensorer

Stryg for at vise menuen

Grundlæggende Tensor-initialisatorer

  • tf.constant(): dette er den simpleste måde at oprette en tensor på. Som navnet antyder, indeholder tensorer initialiseret med denne metode konstante værdier og er uforanderlige;
12345
import tensorflow as tf # Create a 2x2 constant tensor tensor_const = tf.constant([[1, 2], [3, 4]]) print(tensor_const)
copy
  • tf.Variable(): i modsætning til tf.constant() er en tensor defineret med tf.Variable() foranderlig. Dette betyder, at dens værdi kan ændres, hvilket gør den ideel til eksempelvis trænbare parametre i modeller;
12345
import tensorflow as tf # Create a variable tensor tensor_var = tf.Variable([[1, 2], [3, 4]]) print(tensor_var)
copy
  • tf.zeros(): opret en tensor fyldt med nuller;
12345
import tensorflow as tf # Zero tensor of shape (3, 3) tensor_zeros = tf.zeros((3, 3)) print(tensor_zeros)
copy
  • tf.ones(): omvendt opretter denne en tensor fyldt med ettaller;
12345
import tensorflow as tf # Ones tensor of shape (2, 2) tensor_ones = tf.ones((2, 2)) print(tensor_ones)
copy
  • tf.fill(): opretter en tensor fyldt med en specifik værdi;
12345
import tensorflow as tf # Tensor of shape (2, 2) filled with 6 tensor_fill = tf.fill((2, 2), 6) print(tensor_fill)
copy
  • tf.linspace() og tf.range(): ideelle til oprettelse af sekvenser;
123456789
import tensorflow as tf # Generate a sequence of numbers starting from 0, ending at 9 tensor_range = tf.range(10) print(tensor_range) # Create 5 equally spaced values between 0 and 10 tensor_linspace = tf.linspace(0, 10, 5) print(tensor_linspace)
copy
  • tf.random: genererer tensorer med tilfældige værdier. Flere fordelinger og funktioner er tilgængelige i dette modul, såsom tf.random.normal() for værdier fra en normalfordeling og tf.random.uniform() for værdier fra en uniform fordeling.
Note
Bemærk

Du kan også angive et fast seed for at opnå konsekvente resultater ved hver tilfældig talgenerering ved at bruge tf.random.set_seed(). Bemærk dog, at du ved at gøre dette vil modtage det samme tal for enhver tilfældig generering i TensorFlow.

Hvis du ønsker at opnå konsekvente tal kun for en bestemt kommando, kan du angive et seed argument til den pågældende kommando med den ønskede seed-værdi.

1234567891011121314
import tensorflow as tf # Set random seed tf.random.set_seed(72) # Tensor of shape (2, 2) with random values normally distributed # (by default `mean=0` and `std=1`) tensor_random = tf.random.normal((2, 2), mean=4, stddev=0.5) print(tensor_random) # Tensor of shape (2, 2) with random values uniformly distributed # (by default `min=0` and `max=1`) tensor_random = tf.random.uniform((2, 2), minval=-2, maxval=2) print(tensor_random)
copy

Konvertering mellem datastrukturer

TensorFlow-tensorer kan problemfrit konverteres til og fra velkendte Python-datastrukturer.

  • Fra Numpy-arrays: TensorFlow-tensorer og Numpy-arrays er meget interoperable. Brug tf.convert_to_tensor()
12345678910
import numpy as np import tensorflow as tf # Create a NumPy array based on a Python list numpy_array = np.array([[1, 2], [3, 4]]) # Convert a NumPy array to a tensor tensor_from_np = tf.convert_to_tensor(numpy_array) print(tensor_from_np)
copy
  • Fra Pandas DataFrames: for dem, der foretrækker dataanalyse med Pandas, er det ligetil at konvertere en DataFrame eller en Series til en TensorFlow-tensor. Brug også tf.convert_to_tensor()
12345678910
import pandas as pd import tensorflow as tf # Create a DataFrame based on dictionary df = pd.DataFrame({'A': [1, 2], 'B': [3, 4]}) # Convert a DataFrame to a tensor tensor_from_df = tf.convert_to_tensor(df.values) print(tensor_from_df)
copy
Note
Bemærk

Sørg altid for, at datatyperne i dine oprindelige strukturer (Numpy-arrays eller Pandas DataFrames) er kompatible med TensorFlow-tensor datatyper. Hvis der er uoverensstemmelser, bør du overveje typekonvertering.

  • Konvertering af en konstant tensor til en Variable: du kan initialisere en Variable ved hjælp af forskellige tensoroprettelsesmetoder såsom tf.ones(), tf.linspace(), tf.random og lignende. Overfør blot funktionen eller den eksisterende tensor til tf.Variable().
12345678910111213
import tensorflow as tf # Create a variable from a tensor tensor = tf.random.normal((2, 3)) variable_1 = tf.Variable(tensor) # Create a variable based on other generator variable_2 = tf.Variable(tf.zeros((2, 2))) # Display tensors print(variable_1) print('-' * 50) print(variable_2)
copy

For at forbedre færdighederne i at oprette tensorer, anbefales det at øve med forskellige former og værdier. For yderligere oplysninger om specifikke kommandoer, se den officielle TensorFlow-dokumentation. Her findes alle nødvendige oplysninger om enhver kommando eller modul i biblioteket.

Opgave

Swipe to start coding

Din opgave er at oprette, ændre og konvertere forskellige tensorer ved hjælp af TensorFlow.

Del 1 — Tensor-initialisering

  1. Opret en tensor med navnet tensor_A med formen (3, 3) og alle elementer lig med 5.
  2. Opret en muterbar tensor med navnet tensor_B med formen (2, 3) og vilkårlige værdier efter eget valg.
  3. Opret en tensor med navnet tensor_C med formen (3, 3) fyldt med nuller.
  4. Opret en tensor med navnet tensor_D med formen (4, 4) fyldt med etter.
  5. Opret en tensor med navnet tensor_E med 5 lineært fordelte værdier mellem 3 og 15.
  6. Opret en tensor med navnet tensor_F med tilfældige værdier og formen (2, 2).

Del 2 — Konverteringer

  1. Konverter NumPy-arrayet np_array til en TensorFlow-tensor med navnet tensor_from_array.
  2. Konverter DataFrame df til en TensorFlow-tensor med navnet tensor_from_dataframe.

Bemærk

  • Brug de mest egnede TensorFlow-funktioner til hver operation:
  • tf.fill() til tensorer med én gentaget værdi;
  • tf.Variable() til muterbare tensorer;
  • tf.zeros() / tf.ones() til tensorer fyldt med nuller eller etter
  • tf.linspace() til lineært fordelte tensorer;
  • tf.random.normal() til tilfældige tensorer;
  • Brug tf.convert_to_tensor() til konvertering fra NumPy-arrays eller pandas DataFrames;
  • Undgå at bruge tf.constant() — brug i stedet de mere specifikke funktioner nævnt ovenfor.

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 1. Kapitel 6
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

some-alt