Oprettelse af Tensorer
Oprettelse af Tensors
Denne lektion fokuserer på oprettelse af tensors ved hjælp af TensorFlow. TensorFlow tilbyder adskillige metoder til at initialisere tensors. Ved afslutningen af denne lektion vil du være fortrolig med at generere tensors 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 tensors initialiseret med denne metode konstante værdier 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 modsætning tiltf.constant()
er en tensor defineret medtf.Variable()
muterbar. Dette betyder, at dens værdi kan ændres, hvilket gør den ideel til eksempelvis trænbare parametre i modeller;
12345import tensorflow as tf # Create a variable tensor tensor_var = tf.Variable([[1, 2], [3, 4]]) print(tensor_var)
tf.zeros()
: opret en tensor fyldt med nuller;
12345import 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;
12345import 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;
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 ideelle til at oprette 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 tilfældige værdier. Flere fordelinger og funktioner er tilgængelige i dette modul, såsomtf.random.normal()
for værdier fra en normalfordeling ogtf.random.uniform()
for værdier fra en uniform fordeling.
Du kan også angive et fast seed for at opnå konsistente 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å konsistente tal kun for en specifik kommando, kan du angive et seed
-argument til den pågældende kommando med den ønskede seed-værdi.
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 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()
;
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 dem, der foretrækker dataanalyse med Pandas, er det enkelt at konvertere en DataFrame eller en Series til en TensorFlow-tensor. Brug 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 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 typekonvertering overvejes.
- Konvertering af en konstant tensor til en
Variable
: du kan initialisere enVariable
ved hjælp af forskellige tensor-oprettelsesmetoder såsomtf.ones()
,tf.linspace()
,tf.random
og lignende. Overfør blot funktionen eller den eksisterende tensor 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 at blive bedre til at oprette tensors, øv dig med forskellige former og værdier. For flere detaljer om specifikke kommandoer, se den officielle TensorFlow-dokumentation. Her findes al nødvendig information om enhver kommando eller modul i biblioteket.
Swipe to start coding
Din opgave er at oprette, ændre og konvertere forskellige tensores i denne udfordring.
Del 1 — Tensor-initialisering
- Opret en tensor med navnet
tensor_A
med formen(3, 3)
og alle elementer lig 5. - Opret en muterbar tensor med navnet
tensor_B
med formen(2, 3)
og vilkårlige værdier efter eget valg. - Opret en tensor med navnet
tensor_C
med formen(3, 3)
fyldt med nuller. - Opret en tensor med navnet
tensor_D
med formen(4, 4)
fyldt med etter. - Opret en tensor med navnet
tensor_E
med 5 lineært fordelte værdier mellem 3 og 15. - Opret en tensor med navnet
tensor_F
med tilfældige værdier og formen(2, 2)
.
Del 2 — Konverteringer
- Konverter NumPy-arrayet
np_array
til en TensorFlow-tensor med navnettensor_from_array
. - Konverter DataFrame
df
til en TensorFlow-tensor med navnettensor_from_dataframe
.
Bemærk
- Brug de mest passende TensorFlow-funktioner (f.eks.
tf.ones()
,tf.zeros()
,tf.fill()
, osv.). - Til konverteringer, brug
tf.convert_to_tensor()
. - Til lineært fordelte tensores, brug
tf.linspace(start, stop, num)
. - Til tilfældige tensores, brug
tf.random.normal(shape)
.
Løsning
Tak for dine kommentarer!
single
Spørg AI
Spørg AI
Spørg om hvad som helst eller prøv et af de foreslåede spørgsmål for at starte vores chat
Awesome!
Completion rate improved to 5.56
Oprettelse af Tensorer
Stryg for at vise menuen
Oprettelse af Tensors
Denne lektion fokuserer på oprettelse af tensors ved hjælp af TensorFlow. TensorFlow tilbyder adskillige metoder til at initialisere tensors. Ved afslutningen af denne lektion vil du være fortrolig med at generere tensors 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 tensors initialiseret med denne metode konstante værdier 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 modsætning tiltf.constant()
er en tensor defineret medtf.Variable()
muterbar. Dette betyder, at dens værdi kan ændres, hvilket gør den ideel til eksempelvis trænbare parametre i modeller;
12345import tensorflow as tf # Create a variable tensor tensor_var = tf.Variable([[1, 2], [3, 4]]) print(tensor_var)
tf.zeros()
: opret en tensor fyldt med nuller;
12345import 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;
12345import 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;
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 ideelle til at oprette 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 tilfældige værdier. Flere fordelinger og funktioner er tilgængelige i dette modul, såsomtf.random.normal()
for værdier fra en normalfordeling ogtf.random.uniform()
for værdier fra en uniform fordeling.
Du kan også angive et fast seed for at opnå konsistente 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å konsistente tal kun for en specifik kommando, kan du angive et seed
-argument til den pågældende kommando med den ønskede seed-værdi.
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 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()
;
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 dem, der foretrækker dataanalyse med Pandas, er det enkelt at konvertere en DataFrame eller en Series til en TensorFlow-tensor. Brug 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 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 typekonvertering overvejes.
- Konvertering af en konstant tensor til en
Variable
: du kan initialisere enVariable
ved hjælp af forskellige tensor-oprettelsesmetoder såsomtf.ones()
,tf.linspace()
,tf.random
og lignende. Overfør blot funktionen eller den eksisterende tensor 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 at blive bedre til at oprette tensors, øv dig med forskellige former og værdier. For flere detaljer om specifikke kommandoer, se den officielle TensorFlow-dokumentation. Her findes al nødvendig information om enhver kommando eller modul i biblioteket.
Swipe to start coding
Din opgave er at oprette, ændre og konvertere forskellige tensores i denne udfordring.
Del 1 — Tensor-initialisering
- Opret en tensor med navnet
tensor_A
med formen(3, 3)
og alle elementer lig 5. - Opret en muterbar tensor med navnet
tensor_B
med formen(2, 3)
og vilkårlige værdier efter eget valg. - Opret en tensor med navnet
tensor_C
med formen(3, 3)
fyldt med nuller. - Opret en tensor med navnet
tensor_D
med formen(4, 4)
fyldt med etter. - Opret en tensor med navnet
tensor_E
med 5 lineært fordelte værdier mellem 3 og 15. - Opret en tensor med navnet
tensor_F
med tilfældige værdier og formen(2, 2)
.
Del 2 — Konverteringer
- Konverter NumPy-arrayet
np_array
til en TensorFlow-tensor med navnettensor_from_array
. - Konverter DataFrame
df
til en TensorFlow-tensor med navnettensor_from_dataframe
.
Bemærk
- Brug de mest passende TensorFlow-funktioner (f.eks.
tf.ones()
,tf.zeros()
,tf.fill()
, osv.). - Til konverteringer, brug
tf.convert_to_tensor()
. - Til lineært fordelte tensores, brug
tf.linspace(start, stop, num)
. - Til tilfældige tensores, brug
tf.random.normal(shape)
.
Løsning
Tak for dine kommentarer!
single