Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Oppretting av Tensorer | Seksjon
Dyp Læring med TensorFlow
Seksjon 1. Kapittel 6
single

single

bookOppretting av Tensorer

Sveip for å vise menyen

Grunnleggende tensor-initialisatorer

  • tf.constant(): dette er den enkleste måten å opprette en tensor på. Som navnet tilsier, inneholder tensorer initialisert med denne metoden konstante verdier 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 motsetning til tf.constant(), er en tensor definert med tf.Variable() foranderlig. Dette betyr at verdien kan endres, noe som gjør den ideell for for eksempel trenbare parametere 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(): oppretter en tensor fylt 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(): dette oppretter derimot en tensor fylt med ener;
12345
import tensorflow as tf # Ones tensor of shape (2, 2) tensor_ones = tf.ones((2, 2)) print(tensor_ones)
copy
  • tf.fill(): oppretter en tensor fylt med en spesifikk verdi;
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(): utmerkede funksjoner for å lage 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 tilfeldige verdier. Flere fordelinger og funksjoner er tilgjengelige i denne modulen, som tf.random.normal() for verdier fra en normalfordeling, og tf.random.uniform() for verdier fra en uniform fordeling.
Note
Merk

Du kan også angi et fast seed for å oppnå konsistente resultater ved hver generering av tilfeldige tall ved å bruke tf.random.set_seed(). Vær imidlertid oppmerksom på at du ved å gjøre dette vil få det samme tallet for enhver tilfeldig generering i TensorFlow.

Hvis du ønsker å oppnå konsistente tall kun for en spesifikk kommando, kan du gi et seed-argument til den kommandoen med ønsket seed-verdi.

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 mellom datastrukturer

TensorFlow-tensorer kan enkelt konverteres til og fra kjente Python-datastrukturer.

  • Fra Numpy-arrays: TensorFlow-tensorer og Numpy-arrays er svært kompatible. Bruk 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 de som foretrekker dataanalyse med Pandas, er det enkelt å konvertere en DataFrame eller en Series til en TensorFlow-tensor. Bruk 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
Merk

Sørg alltid for at datatypene til de opprinnelige strukturene dine (Numpy-arrays eller Pandas DataFrames) er kompatible med TensorFlow tensor-datatyper. Hvis det er et avvik, vurder typekonvertering.

  • Konvertering av en konstant tensor til en Variable: du kan initialisere en Variable ved å bruke ulike tensoropprettingsmetoder som tf.ones(), tf.linspace(), tf.random og lignende. Send ganske enkelt funksjonen eller den eksisterende tensoren 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 å bli bedre til å opprette tensorer, anbefales det å øve med ulike former og verdier. For mer informasjon om spesifikke kommandoer, se den offisielle TensorFlow-dokumentasjonen. Her finnes all nødvendig informasjon om kommandoer og moduler i biblioteket.

Oppgave

Swipe to start coding

Din oppgave er å opprette, endre og konvertere ulike tensorer ved hjelp av TensorFlow.

Del 1 — Initialisering av tensorer

  1. Opprett en tensor kalt tensor_A med form (3, 3) og alle elementer lik 5.
  2. Opprett en muterbar tensor kalt tensor_B med form (2, 3) og vilkårlige verdier etter eget valg.
  3. Opprett en tensor kalt tensor_C med form (3, 3) fylt med nuller.
  4. Opprett en tensor kalt tensor_D med form (4, 4) fylt med ener.
  5. Opprett en tensor kalt tensor_E med 5 lineært fordelte verdier mellom 3 og 15.
  6. Opprett en tensor kalt tensor_F med tilfeldige verdier og form (2, 2).

Del 2 — Konverteringer

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

Merk

  • Bruk de mest hensiktsmessige TensorFlow-funksjonene for hver operasjon:
  • tf.fill() for tensorer med én gjentatt verdi;
  • tf.Variable() for muterbare tensorer;
  • tf.zeros() / tf.ones() for tensorer fylt med nuller eller ener;
  • tf.linspace() for lineært fordelte tensorer;
  • tf.random.normal() for tilfeldige tensorer;
  • Bruk tf.convert_to_tensor() for konvertering fra NumPy-arrays eller pandas DataFrames.
  • Unngå å bruke tf.constant() — bruk de mer spesifikke funksjonene nevnt ovenfor i stedet.

Løsning

Switch to desktopBytt til skrivebordet for virkelighetspraksisFortsett der du er med et av alternativene nedenfor
Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 1. Kapittel 6
single

single

Spør AI

expand

Spør AI

ChatGPT

Spør om hva du vil, eller prøv ett av de foreslåtte spørsmålene for å starte chatten vår

some-alt