Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Leer Tensoren Aanmaken | Sectie
Deep Learning met TensorFlow
Sectie 1. Hoofdstuk 6
single

single

bookTensoren Aanmaken

Veeg om het menu te tonen

Basis Tensor Initializers

  • tf.constant(): dit is de eenvoudigste manier om een tensor te creëren. Zoals de naam aangeeft, bevatten tensors die met deze methode zijn geïnitialiseerd constante waarden en zijn ze onveranderlijk;
12345
import tensorflow as tf # Create a 2x2 constant tensor tensor_const = tf.constant([[1, 2], [3, 4]]) print(tensor_const)
copy
  • tf.Variable(): in tegenstelling tot tf.constant() is een tensor die met tf.Variable() is gedefinieerd veranderlijk. Dit betekent dat de waarde kan worden aangepast, waardoor het ideaal is voor bijvoorbeeld trainbare parameters in modellen;
12345
import tensorflow as tf # Create a variable tensor tensor_var = tf.Variable([[1, 2], [3, 4]]) print(tensor_var)
copy
  • tf.zeros(): maak een tensor gevuld met nullen;
12345
import tensorflow as tf # Zero tensor of shape (3, 3) tensor_zeros = tf.zeros((3, 3)) print(tensor_zeros)
copy
  • tf.ones(): hiermee wordt een tensor gemaakt die volledig gevuld is met enen;
12345
import tensorflow as tf # Ones tensor of shape (2, 2) tensor_ones = tf.ones((2, 2)) print(tensor_ones)
copy
  • tf.fill(): maakt een tensor die gevuld is met een specifieke waarde;
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() en tf.range(): deze zijn uitstekend voor het creëren van reeksen;
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: genereert tensors met willekeurige waarden. Verschillende verdelingen en functies zijn beschikbaar binnen deze module, zoals tf.random.normal() voor waarden uit een normale verdeling, en tf.random.uniform() voor waarden uit een uniforme verdeling.
Note
Opmerking

U kunt ook een vaste seed instellen om consistente resultaten bij elke willekeurige getalgeneratie te verkrijgen met tf.random.set_seed(). Houd er echter rekening mee dat u hierdoor hetzelfde getal ontvangt voor elke willekeurige generatie binnen TensorFlow.

Als u consistente getallen alleen voor een specifieke opdracht wilt bereiken, kunt u een seed-argument aan die opdracht meegeven met de gewenste seedwaarde.

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

Converteren tussen datastructuren

TensorFlow-tensors kunnen naadloos worden geconverteerd naar en van bekende Python-datastructuren.

  • Van Numpy-arrays: TensorFlow-tensors en Numpy-arrays zijn goed uitwisselbaar. Gebruik 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
  • Van Pandas DataFrames: voor gebruikers die graag data-analyse uitvoeren met Pandas, is het converteren van een DataFrame of een Series naar een TensorFlow-tensor eenvoudig. Gebruik hiervoor ook 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
Opmerking

Zorg er altijd voor dat de gegevenstypen van uw oorspronkelijke structuren (Numpy-arrays of Pandas DataFrames) compatibel zijn met TensorFlow tensor gegevenstypen. Bij een verschil in gegevenstype, overweeg typecasting.

  • Een constante tensor omzetten naar een Variable: initialisatie van een Variable is mogelijk met verschillende tensorcreatiemethoden zoals tf.ones(), tf.linspace(), tf.random en dergelijke. Geef eenvoudigweg de functie of de reeds bestaande tensor door aan 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

Voor meer vaardigheid in het creëren van tensors, oefen met verschillende vormen en waarden. Raadpleeg voor meer details over specifieke commando's de officiële TensorFlow-documentatie. Hier vind je alle informatie die je nodig hebt over elk commando of module in de bibliotheek.

Taak

Swipe to start coding

Je taak is om verschillende tensors te creëren, te wijzigen en te converteren met TensorFlow.

Deel 1 — Tensor-initialisatie

  1. Maak een tensor genaamd tensor_A met vorm (3, 3) en alle elementen gelijk aan 5.
  2. Maak een mutabele tensor genaamd tensor_B met vorm (2, 3) en willekeurige waarden naar keuze.
  3. Maak een tensor genaamd tensor_C met vorm (3, 3) gevuld met nullen.
  4. Maak een tensor genaamd tensor_D met vorm (4, 4) gevuld met enen.
  5. Maak een tensor genaamd tensor_E met 5 lineair verdeelde waarden tussen 3 en 15.
  6. Maak een tensor genaamd tensor_F met willekeurige waarden en vorm (2, 2).

Deel 2 — Conversies

  1. Converteer de NumPy-array np_array naar een TensorFlow-tensor genaamd tensor_from_array.
  2. Converteer de DataFrame df naar een TensorFlow-tensor genaamd tensor_from_dataframe.

Opmerking

  • Gebruik de meest geschikte TensorFlow-functies voor elke bewerking:
  • tf.fill() voor tensors met één herhaalde waarde;
  • tf.Variable() voor mutabele tensors;
  • tf.zeros() / tf.ones() voor tensors gevuld met nullen of enen;
  • tf.linspace() voor lineair verdeelde tensors;
  • tf.random.normal() voor willekeurige tensors;
  • Gebruik tf.convert_to_tensor() voor conversies van NumPy-arrays of pandas DataFrames;
  • Vermijd het gebruik van tf.constant() — gebruik in plaats daarvan de meer specifieke bovengenoemde functies.

Oplossing

Switch to desktopSchakel over naar desktop voor praktijkervaringGa verder vanaf waar je bent met een van de onderstaande opties
Was alles duidelijk?

Hoe kunnen we het verbeteren?

Bedankt voor je feedback!

Sectie 1. Hoofdstuk 6
single

single

Vraag AI

expand

Vraag AI

ChatGPT

Vraag wat u wilt of probeer een van de voorgestelde vragen om onze chat te starten.

some-alt