Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Oprettelse af Tensorer | Tensorer
Introduktion til Tensorflow
Sektion 1. Kapitel 6
single

single

Oprettelse af Tensorer

Stryg for at vise menuen

Oprettelse af tensorer

Denne lektion fokuserer på oprettelse af tensorer ved hjælp af TensorFlow. TensorFlow tilbyder adskillige metoder til at initialisere tensorer. Ved afslutningen af denne lektion vil du være fortrolig med at generere tensorer til en bred vifte af anvendelser.

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;
konstant
12345
import tensorflow as tf # Create a 2x2 constant tensor tensor_const = tf.constant([[1, 2], [3, 4]]) print(tensor_const)
  • tf.Variable(): i modsætning til tf.constant() er en tensor defineret med tf.Variable() muterbar. 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)
  • tf.zeros(): opretter en tensor fyldt med nuller;
nuller
12345
import tensorflow as tf # Zero tensor of shape (3, 3) tensor_zeros = tf.zeros((3, 3)) print(tensor_zeros)
  • tf.ones(): omvendt opretter denne en tensor fyldt med ettaller;
ettaller
12345
import tensorflow as tf # Ones tensor of shape (2, 2) tensor_ones = tf.ones((2, 2)) print(tensor_ones)
  • tf.fill(): opretter en tensor udfyldt med en specifik værdi;
udfyldt
12345
import tensorflow as tf # Tensor of shape (2, 2) filled with 6 tensor_fill = tf.fill((2, 2), 6) print(tensor_fill)
  • tf.linspace() og tf.range(): ideelle til at oprette sekvenser;
intervaller
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)
  • 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(). Vær dog opmærksom på, 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)

Konvertering mellem datastrukturer

TensorFlow-tensorer kan nemt 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)
  • Fra Pandas DataFrames: for dem, der arbejder med dataanalyse i 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)
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 at bruge forskellige tensor-oprettelsesmetoder såsom tf.ones(), tf.linspace(), tf.random og så videre. Send 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)

For at blive bedre til at oprette tensorer, kan du øve dig med forskellige former og værdier. For flere detaljer om specifikke kommandoer, se den officielle TensorFlow-dokumentation. Her finder du alle 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 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