Skapa Tensorer
Skapa Tensorer
Denna lektion fokuserar på skapandet av tensorer med TensorFlow. TensorFlow tillhandahåller flera metoder för att initiera tensorer. Efter denna lektion kommer du att vara skicklig i att generera tensorer för ett brett spektrum av tillämpningar.
Grundläggande Tensor-initialiserare
tf.constant()
: detta är det enklaste sättet att skapa en tensor. Som namnet antyder innehåller tensorer som initieras med denna metod konstanta värden och är oföränderliga;
12345import tensorflow as tf # Create a 2x2 constant tensor tensor_const = tf.constant([[1, 2], [3, 4]]) print(tensor_const)
tf.Variable()
: till skillnad fråntf.constant()
är en tensor som definieras medtf.Variable()
muterbar. Detta innebär att dess värde kan ändras, vilket gör den idealisk för exempelvis träningsbara parametrar i modeller;
12345import tensorflow as tf # Create a variable tensor tensor_var = tf.Variable([[1, 2], [3, 4]]) print(tensor_var)
tf.zeros()
: skapa en tensor fylld med nollor;
12345import tensorflow as tf # Zero tensor of shape (3, 3) tensor_zeros = tf.zeros((3, 3)) print(tensor_zeros)
tf.ones()
: omvänt skapar detta en tensor fylld med ettor;
12345import tensorflow as tf # Ones tensor of shape (2, 2) tensor_ones = tf.ones((2, 2)) print(tensor_ones)
tf.fill()
: skapar en tensor fylld med ett specifikt värde;
12345import tensorflow as tf # Tensor of shape (2, 2) filled with 6 tensor_fill = tf.fill((2, 2), 6) print(tensor_fill)
tf.linspace()
ochtf.range()
: dessa är utmärkta för att skapa 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
: genererar tensorer med slumpmässiga värden. Flera fördelningar och funktioner finns tillgängliga inom denna modul, såsomtf.random.normal()
för värden från en normalfördelning ochtf.random.uniform()
för värden från en likformig fördelning.
Du kan också ange ett fast frö för att få konsekventa resultat vid varje slumpmässig talgenerering med tf.random.set_seed()
. Observera dock att om du gör detta kommer du att få samma tal för all slumpmässig generering inom TensorFlow.
Om du vill uppnå konsekventa tal endast för ett specifikt kommando kan du ange ett seed
-argument till det kommandot med önskat frövärde.
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 mellan datastrukturer
TensorFlow-tensorer kan enkelt konverteras till och från välkända Python-datastrukturer.
- Från Numpy-arrayer: TensorFlow-tensorer och Numpy-arrayer är mycket interoperabla. Använd
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)
- Från Pandas DataFrames: för dem som föredrar dataanalys med Pandas är det enkelt att konvertera en DataFrame eller en Series till en TensorFlow-tensor. Använd även
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äkerställ alltid att datatyperna i dina ursprungliga strukturer (Numpy-arrayer eller Pandas DataFrames) är kompatibla med TensorFlow-tensorers datatyper. Om det finns en skillnad, överväg typomvandling.
- Konvertera en konstant tensor till en
Variable
: du kan initiera enVariable
med olika tensor-skapande metoder såsomtf.ones()
,tf.linspace()
,tf.random
och så vidare. Skicka helt enkelt funktionen eller den redan existerande tensorn tilltf.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)
För att bli bättre på att skapa tensorer, öva gärna med olika former och värden. För mer information om specifika kommandon, se den officiella TensorFlow-dokumentationen. Där finns all information du behöver om varje kommando eller modul i biblioteket.
Swipe to start coding
Din uppgift är att skapa, modifiera och konvertera olika tensorer i denna utmaning.
Del 1 — Tensorinitiering
- Skapa en tensor med namnet
tensor_A
med formen(3, 3)
där alla element är lika med 5. - Skapa en muterbar tensor med namnet
tensor_B
med formen(2, 3)
och valfria värden. - Skapa en tensor med namnet
tensor_C
med formen(3, 3)
fylld med nollor. - Skapa en tensor med namnet
tensor_D
med formen(4, 4)
fylld med ettor. - Skapa en tensor med namnet
tensor_E
med 5 linjärt fördelade värden mellan 3 och 15. - Skapa en tensor med namnet
tensor_F
med slumpmässiga värden och formen(2, 2)
.
Del 2 — Konverteringar
- Konvertera NumPy-arrayen
np_array
till en TensorFlow-tensor med namnettensor_from_array
. - Konvertera DataFrame
df
till en TensorFlow-tensor med namnettensor_from_dataframe
.
Observera
- Använd de mest lämpliga TensorFlow-funktionerna (t.ex.
tf.ones()
,tf.zeros()
,tf.fill()
, etc.). - För konverteringar, använd
tf.convert_to_tensor()
. - För linjärt fördelade tensorer, använd
tf.linspace(start, stop, num)
. - För slumpmässiga tensorer, använd
tf.random.normal(shape)
.
Lösning
Tack för dina kommentarer!
single
Fråga AI
Fråga AI
Fråga vad du vill eller prova någon av de föreslagna frågorna för att starta vårt samtal
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
Skapa Tensorer
Svep för att visa menyn
Skapa Tensorer
Denna lektion fokuserar på skapandet av tensorer med TensorFlow. TensorFlow tillhandahåller flera metoder för att initiera tensorer. Efter denna lektion kommer du att vara skicklig i att generera tensorer för ett brett spektrum av tillämpningar.
Grundläggande Tensor-initialiserare
tf.constant()
: detta är det enklaste sättet att skapa en tensor. Som namnet antyder innehåller tensorer som initieras med denna metod konstanta värden och är oföränderliga;
12345import tensorflow as tf # Create a 2x2 constant tensor tensor_const = tf.constant([[1, 2], [3, 4]]) print(tensor_const)
tf.Variable()
: till skillnad fråntf.constant()
är en tensor som definieras medtf.Variable()
muterbar. Detta innebär att dess värde kan ändras, vilket gör den idealisk för exempelvis träningsbara parametrar i modeller;
12345import tensorflow as tf # Create a variable tensor tensor_var = tf.Variable([[1, 2], [3, 4]]) print(tensor_var)
tf.zeros()
: skapa en tensor fylld med nollor;
12345import tensorflow as tf # Zero tensor of shape (3, 3) tensor_zeros = tf.zeros((3, 3)) print(tensor_zeros)
tf.ones()
: omvänt skapar detta en tensor fylld med ettor;
12345import tensorflow as tf # Ones tensor of shape (2, 2) tensor_ones = tf.ones((2, 2)) print(tensor_ones)
tf.fill()
: skapar en tensor fylld med ett specifikt värde;
12345import tensorflow as tf # Tensor of shape (2, 2) filled with 6 tensor_fill = tf.fill((2, 2), 6) print(tensor_fill)
tf.linspace()
ochtf.range()
: dessa är utmärkta för att skapa 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
: genererar tensorer med slumpmässiga värden. Flera fördelningar och funktioner finns tillgängliga inom denna modul, såsomtf.random.normal()
för värden från en normalfördelning ochtf.random.uniform()
för värden från en likformig fördelning.
Du kan också ange ett fast frö för att få konsekventa resultat vid varje slumpmässig talgenerering med tf.random.set_seed()
. Observera dock att om du gör detta kommer du att få samma tal för all slumpmässig generering inom TensorFlow.
Om du vill uppnå konsekventa tal endast för ett specifikt kommando kan du ange ett seed
-argument till det kommandot med önskat frövärde.
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 mellan datastrukturer
TensorFlow-tensorer kan enkelt konverteras till och från välkända Python-datastrukturer.
- Från Numpy-arrayer: TensorFlow-tensorer och Numpy-arrayer är mycket interoperabla. Använd
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)
- Från Pandas DataFrames: för dem som föredrar dataanalys med Pandas är det enkelt att konvertera en DataFrame eller en Series till en TensorFlow-tensor. Använd även
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äkerställ alltid att datatyperna i dina ursprungliga strukturer (Numpy-arrayer eller Pandas DataFrames) är kompatibla med TensorFlow-tensorers datatyper. Om det finns en skillnad, överväg typomvandling.
- Konvertera en konstant tensor till en
Variable
: du kan initiera enVariable
med olika tensor-skapande metoder såsomtf.ones()
,tf.linspace()
,tf.random
och så vidare. Skicka helt enkelt funktionen eller den redan existerande tensorn tilltf.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)
För att bli bättre på att skapa tensorer, öva gärna med olika former och värden. För mer information om specifika kommandon, se den officiella TensorFlow-dokumentationen. Där finns all information du behöver om varje kommando eller modul i biblioteket.
Swipe to start coding
Din uppgift är att skapa, modifiera och konvertera olika tensorer i denna utmaning.
Del 1 — Tensorinitiering
- Skapa en tensor med namnet
tensor_A
med formen(3, 3)
där alla element är lika med 5. - Skapa en muterbar tensor med namnet
tensor_B
med formen(2, 3)
och valfria värden. - Skapa en tensor med namnet
tensor_C
med formen(3, 3)
fylld med nollor. - Skapa en tensor med namnet
tensor_D
med formen(4, 4)
fylld med ettor. - Skapa en tensor med namnet
tensor_E
med 5 linjärt fördelade värden mellan 3 och 15. - Skapa en tensor med namnet
tensor_F
med slumpmässiga värden och formen(2, 2)
.
Del 2 — Konverteringar
- Konvertera NumPy-arrayen
np_array
till en TensorFlow-tensor med namnettensor_from_array
. - Konvertera DataFrame
df
till en TensorFlow-tensor med namnettensor_from_dataframe
.
Observera
- Använd de mest lämpliga TensorFlow-funktionerna (t.ex.
tf.ones()
,tf.zeros()
,tf.fill()
, etc.). - För konverteringar, använd
tf.convert_to_tensor()
. - För linjärt fördelade tensorer, använd
tf.linspace(start, stop, num)
. - För slumpmässiga tensorer, använd
tf.random.normal(shape)
.
Lösning
Tack för dina kommentarer!
single