Oppretting av Tensorer
Opprette Tensors
Denne leksjonen fokuserer på opprettelse av tensors ved bruk av TensorFlow. TensorFlow tilbyr en rekke metoder for å initialisere tensors. Etter endt leksjon vil du være dyktig i å generere tensors for et bredt spekter av bruksområder.
Grunnleggende Tensor-initialisatorer
tf.constant()
: dette er den enkleste måten å opprette en tensor på. Som navnet tilsier, inneholder tensors initialisert med denne metoden konstante verdier og er uforanderlige;
12345import tensorflow as tf # Create a 2x2 constant tensor tensor_const = tf.constant([[1, 2], [3, 4]]) print(tensor_const)
tf.Variable()
: i motsetning tiltf.constant()
, er en tensor definert medtf.Variable()
muterbar. Dette betyr at verdien kan endres, noe som gjør den ideell for trenbare parametere i modeller;
12345import tensorflow as tf # Create a variable tensor tensor_var = tf.Variable([[1, 2], [3, 4]]) print(tensor_var)
tf.zeros()
: oppretter en tensor fylt med nuller;
12345import tensorflow as tf # Zero tensor of shape (3, 3) tensor_zeros = tf.zeros((3, 3)) print(tensor_zeros)
tf.ones()
: tilsvarende oppretter dette en tensor fylt med ener;
12345import tensorflow as tf # Ones tensor of shape (2, 2) tensor_ones = tf.ones((2, 2)) print(tensor_ones)
tf.fill()
: oppretter en tensor fylt med en spesifikk verdi;
12345import tensorflow as tf # Tensor of shape (2, 2) filled with 6 tensor_fill = tf.fill((2, 2), 6) print(tensor_fill)
tf.linspace()
ogtf.range()
: disse er utmerkede for å lage sekvenser;
123456789import 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 tilfeldige verdier. Flere fordelinger og funksjoner er tilgjengelige i denne modulen, somtf.random.normal()
for verdier fra en normalfordeling, ogtf.random.uniform()
for verdier fra en uniform fordeling.
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 da vil få det samme tallet for alle tilfeldige genereringer i TensorFlow.
Hvis du ønsker konsistente tall kun for en spesifikk kommando, kan du angi et seed
-argument til den kommandoen med ønsket seed-verdi.
1234567891011121314import 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 mellom datastrukturer
TensorFlow-tensorer kan enkelt konverteres til og fra kjente Python-datastrukturer.
- Fra Numpy-arrays: TensorFlow-tensorer og Numpy-arrays er svært interoperable. Bruk
tf.convert_to_tensor()
;
12345678910import 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 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()
;
12345678910import 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)
Sørg alltid for at datatypene til de opprinnelige strukturene dine (Numpy-arrays eller Pandas DataFrames) er kompatible med TensorFlow-tensorens datatyper. Ved avvik, vurder typekonvertering.
- Konvertering av en konstant tensor til en
Variable
: du kan initialisere enVariable
ved å bruke ulike tensoropprettingsmetoder somtf.ones()
,tf.linspace()
,tf.random
og lignende. Send ganske enkelt funksjonen eller den eksisterende tensoren tiltf.Variable()
.
12345678910111213import 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 å bli bedre på å opprette tensorer, øv på å bruke ulike former og verdier. For mer informasjon om spesifikke kommandoer, se den offisielle TensorFlow-dokumentasjonen. Her finner du all informasjon du trenger om enhver kommando eller modul i biblioteket.
Swipe to start coding
Din oppgave er å opprette, endre og konvertere ulike tensorer i denne utfordringen.
Del 1 — Tensor-initialisering
- Opprett en tensor kalt
tensor_A
med form(3, 3)
og alle elementer lik 5. - Opprett en muterbar tensor kalt
tensor_B
med form(2, 3)
og vilkårlige verdier etter eget valg. - Opprett en tensor kalt
tensor_C
med form(3, 3)
fylt med nuller. - Opprett en tensor kalt
tensor_D
med form(4, 4)
fylt med ener. - Opprett en tensor kalt
tensor_E
med 5 lineært fordelte verdier mellom 3 og 15. - Opprett en tensor kalt
tensor_F
med tilfeldige verdier og form(2, 2)
.
Del 2 — Konverteringer
- Konverter NumPy-arrayet
np_array
til en TensorFlow-tensor kalttensor_from_array
. - Konverter DataFrame
df
til en TensorFlow-tensor kalttensor_from_dataframe
.
Merk
- Bruk de mest hensiktsmessige TensorFlow-funksjonene (f.eks.
tf.ones()
,tf.zeros()
,tf.fill()
, osv.). - For konverteringer, bruk
tf.convert_to_tensor()
. - For lineært fordelte tensorer, bruk
tf.linspace(start, stop, num)
. - For tilfeldige tensorer, bruk
tf.random.normal(shape)
.
Løsning
Takk for tilbakemeldingene dine!
single
Spør AI
Spør AI
Spør om hva du vil, eller prøv ett av de foreslåtte spørsmålene for å starte chatten vår
Can you explain the difference between tf.constant() and tf.Variable() in more detail?
How do I choose which tensor initializer to use for my application?
Can you show more examples of creating tensors with different shapes or values?
Awesome!
Completion rate improved to 5.56
Oppretting av Tensorer
Sveip for å vise menyen
Opprette Tensors
Denne leksjonen fokuserer på opprettelse av tensors ved bruk av TensorFlow. TensorFlow tilbyr en rekke metoder for å initialisere tensors. Etter endt leksjon vil du være dyktig i å generere tensors for et bredt spekter av bruksområder.
Grunnleggende Tensor-initialisatorer
tf.constant()
: dette er den enkleste måten å opprette en tensor på. Som navnet tilsier, inneholder tensors initialisert med denne metoden konstante verdier og er uforanderlige;
12345import tensorflow as tf # Create a 2x2 constant tensor tensor_const = tf.constant([[1, 2], [3, 4]]) print(tensor_const)
tf.Variable()
: i motsetning tiltf.constant()
, er en tensor definert medtf.Variable()
muterbar. Dette betyr at verdien kan endres, noe som gjør den ideell for trenbare parametere i modeller;
12345import tensorflow as tf # Create a variable tensor tensor_var = tf.Variable([[1, 2], [3, 4]]) print(tensor_var)
tf.zeros()
: oppretter en tensor fylt med nuller;
12345import tensorflow as tf # Zero tensor of shape (3, 3) tensor_zeros = tf.zeros((3, 3)) print(tensor_zeros)
tf.ones()
: tilsvarende oppretter dette en tensor fylt med ener;
12345import tensorflow as tf # Ones tensor of shape (2, 2) tensor_ones = tf.ones((2, 2)) print(tensor_ones)
tf.fill()
: oppretter en tensor fylt med en spesifikk verdi;
12345import tensorflow as tf # Tensor of shape (2, 2) filled with 6 tensor_fill = tf.fill((2, 2), 6) print(tensor_fill)
tf.linspace()
ogtf.range()
: disse er utmerkede for å lage sekvenser;
123456789import 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 tilfeldige verdier. Flere fordelinger og funksjoner er tilgjengelige i denne modulen, somtf.random.normal()
for verdier fra en normalfordeling, ogtf.random.uniform()
for verdier fra en uniform fordeling.
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 da vil få det samme tallet for alle tilfeldige genereringer i TensorFlow.
Hvis du ønsker konsistente tall kun for en spesifikk kommando, kan du angi et seed
-argument til den kommandoen med ønsket seed-verdi.
1234567891011121314import 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 mellom datastrukturer
TensorFlow-tensorer kan enkelt konverteres til og fra kjente Python-datastrukturer.
- Fra Numpy-arrays: TensorFlow-tensorer og Numpy-arrays er svært interoperable. Bruk
tf.convert_to_tensor()
;
12345678910import 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 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()
;
12345678910import 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)
Sørg alltid for at datatypene til de opprinnelige strukturene dine (Numpy-arrays eller Pandas DataFrames) er kompatible med TensorFlow-tensorens datatyper. Ved avvik, vurder typekonvertering.
- Konvertering av en konstant tensor til en
Variable
: du kan initialisere enVariable
ved å bruke ulike tensoropprettingsmetoder somtf.ones()
,tf.linspace()
,tf.random
og lignende. Send ganske enkelt funksjonen eller den eksisterende tensoren tiltf.Variable()
.
12345678910111213import 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 å bli bedre på å opprette tensorer, øv på å bruke ulike former og verdier. For mer informasjon om spesifikke kommandoer, se den offisielle TensorFlow-dokumentasjonen. Her finner du all informasjon du trenger om enhver kommando eller modul i biblioteket.
Swipe to start coding
Din oppgave er å opprette, endre og konvertere ulike tensorer i denne utfordringen.
Del 1 — Tensor-initialisering
- Opprett en tensor kalt
tensor_A
med form(3, 3)
og alle elementer lik 5. - Opprett en muterbar tensor kalt
tensor_B
med form(2, 3)
og vilkårlige verdier etter eget valg. - Opprett en tensor kalt
tensor_C
med form(3, 3)
fylt med nuller. - Opprett en tensor kalt
tensor_D
med form(4, 4)
fylt med ener. - Opprett en tensor kalt
tensor_E
med 5 lineært fordelte verdier mellom 3 og 15. - Opprett en tensor kalt
tensor_F
med tilfeldige verdier og form(2, 2)
.
Del 2 — Konverteringer
- Konverter NumPy-arrayet
np_array
til en TensorFlow-tensor kalttensor_from_array
. - Konverter DataFrame
df
til en TensorFlow-tensor kalttensor_from_dataframe
.
Merk
- Bruk de mest hensiktsmessige TensorFlow-funksjonene (f.eks.
tf.ones()
,tf.zeros()
,tf.fill()
, osv.). - For konverteringer, bruk
tf.convert_to_tensor()
. - For lineært fordelte tensorer, bruk
tf.linspace(start, stop, num)
. - For tilfeldige tensorer, bruk
tf.random.normal(shape)
.
Løsning
Takk for tilbakemeldingene dine!
single