single
Oprettelse af Tensorer
Stryg for at vise menuen
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;
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()foranderlig. 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 fyldt 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(): ideelle til oprettelse af 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å konsekvente resultater ved hver tilfældig talgenerering ved at bruge tf.random.set_seed(). Bemærk dog, 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.
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 ligetil 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 du overveje typekonvertering.
- Konvertering af en konstant tensor til en
Variable: du kan initialisere enVariableved hjælp af forskellige tensoroprettelsesmetoder såsomtf.ones(),tf.linspace(),tf.randomog 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 forbedre færdighederne i at oprette tensorer, anbefales det at øve med forskellige former og værdier. For yderligere oplysninger om specifikke kommandoer, se den officielle TensorFlow-dokumentation. Her findes alle nødvendige oplysninger om enhver kommando eller modul i biblioteket.
Swipe to start coding
Din opgave er at oprette, ændre og konvertere forskellige tensorer ved hjælp af TensorFlow.
Del 1 — Tensor-initialisering
- Opret en tensor med navnet
tensor_Amed formen(3, 3)og alle elementer lig med 5. - Opret en muterbar tensor med navnet
tensor_Bmed formen(2, 3)og vilkårlige værdier efter eget valg. - Opret en tensor med navnet
tensor_Cmed formen(3, 3)fyldt med nuller. - Opret en tensor med navnet
tensor_Dmed formen(4, 4)fyldt med etter. - Opret en tensor med navnet
tensor_Emed 5 lineært fordelte værdier mellem 3 og 15. - Opret en tensor med navnet
tensor_Fmed tilfældige værdier og formen(2, 2).
Del 2 — Konverteringer
- Konverter NumPy-arrayet
np_arraytil en TensorFlow-tensor med navnettensor_from_array. - Konverter DataFrame
dftil en TensorFlow-tensor med navnettensor_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 ettertf.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 nævnt ovenfor.
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