Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Impara Creazione di Tensori | Tensori
Quizzes & Challenges
Quizzes
Challenges
/
Introduzione a TensorFlow

bookCreazione di Tensori

Creazione di Tensors

Questa lezione si concentra sulla creazione di tensori utilizzando TensorFlow. TensorFlow offre numerosi metodi per inizializzare i tensori. Al termine di questa lezione, sarai in grado di generare tensori per un'ampia gamma di applicazioni.

Inizializzatori di Tensori di Base

  • tf.constant(): questo è il modo più semplice per creare un tensore. Come suggerisce il nome, i tensori inizializzati con questo metodo contengono valori costanti e sono immutabili;
12345
import tensorflow as tf # Create a 2x2 constant tensor tensor_const = tf.constant([[1, 2], [3, 4]]) print(tensor_const)
copy
  • tf.Variable(): a differenza di tf.constant(), un tensore definito utilizzando tf.Variable() è mutabile. Questo significa che il suo valore può essere modificato, rendendolo ideale per parametri addestrabili nei modelli;
12345
import tensorflow as tf # Create a variable tensor tensor_var = tf.Variable([[1, 2], [3, 4]]) print(tensor_var)
copy
  • tf.zeros(): crea un tensore riempito di zeri;
12345
import tensorflow as tf # Zero tensor of shape (3, 3) tensor_zeros = tf.zeros((3, 3)) print(tensor_zeros)
copy
  • tf.ones(): al contrario, crea un tensore riempito di uno;
12345
import tensorflow as tf # Ones tensor of shape (2, 2) tensor_ones = tf.ones((2, 2)) print(tensor_ones)
copy
  • tf.fill(): crea un tensore riempito con un valore specifico;
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() e tf.range(): strumenti ideali per creare sequenze;
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: genera tensori con valori casuali. Sono disponibili diverse distribuzioni e funzioni all'interno di questo modulo, come tf.random.normal() per valori da una distribuzione normale e tf.random.uniform() per valori da una distribuzione uniforme.
Note
Nota

È possibile anche impostare un seed fisso per ottenere risultati coerenti a ogni generazione di numeri casuali utilizzando tf.random.set_seed(). Tuttavia, tieni presente che in questo modo riceverai lo stesso numero per qualsiasi generazione casuale all'interno di TensorFlow.

Se desideri ottenere numeri coerenti solo per un comando specifico, puoi fornire un argomento seed a quel comando con il valore di seed desiderato.

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

Conversione tra strutture dati

I tensori di TensorFlow possono essere convertiti facilmente da e verso strutture dati Python familiari.

  • Da array Numpy: I tensori TensorFlow e gli array Numpy sono altamente interoperabili. Utilizzare 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
  • Da Pandas DataFrame: per chi preferisce l'analisi dei dati con Pandas, la conversione di un DataFrame o di una Series in un tensore TensorFlow è semplice. Utilizzare anche 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
Nota

Assicurarsi sempre che i tipi di dati delle strutture originali (array Numpy o Pandas DataFrame) siano compatibili con i tipi di dati dei tensori TensorFlow. In caso di incompatibilità, considerare il type casting.

  • Conversione di un tensore costante in una Variable: è possibile inizializzare una Variable utilizzando diversi metodi di creazione di tensori come tf.ones(), tf.linspace(), tf.random e così via. Basta passare la funzione o il tensore preesistente a 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

Per migliorare nella creazione di tensori, esercitarsi con forme e valori diversi. Per ulteriori dettagli su comandi specifici, consultare la documentazione di TensorFlow. Contiene tutte le informazioni necessarie su qualsiasi comando o modulo della libreria.

Compito

Swipe to start coding

Il tuo compito è creare, modificare e convertire vari tensori utilizzando TensorFlow.

Parte 1 — Inizializzazione dei tensori

  1. Creare un tensore chiamato tensor_A con forma (3, 3) e tutti gli elementi uguali a 5.
  2. Creare un tensore mutabile chiamato tensor_B con forma (2, 3) e valori a scelta.
  3. Creare un tensore chiamato tensor_C con forma (3, 3) riempito di zeri.
  4. Creare un tensore chiamato tensor_D con forma (4, 4) riempito di uni.
  5. Creare un tensore chiamato tensor_E con 5 valori equidistanti tra 3 e 15.
  6. Creare un tensore chiamato tensor_F con valori casuali e forma (2, 2).

Parte 2 — Conversioni

  1. Convertire l'array NumPy np_array in un tensore TensorFlow chiamato tensor_from_array.
  2. Convertire il DataFrame df in un tensore TensorFlow chiamato tensor_from_dataframe.

Nota

  • Utilizzare le funzioni TensorFlow più adatte per ciascuna operazione:
  • tf.fill() per tensori con un singolo valore ripetuto;
  • tf.Variable() per tensori mutabili;
  • tf.zeros() / tf.ones() per tensori riempiti di zeri o uni;
  • tf.linspace() per tensori con valori equidistanti;
  • tf.random.normal() per tensori casuali;
  • Utilizzare tf.convert_to_tensor() per conversioni da array NumPy o DataFrame pandas;
  • Evitare di usare tf.constant() — utilizzare invece le funzioni specifiche sopra elencate.

Soluzione

Tutto è chiaro?

Come possiamo migliorarlo?

Grazie per i tuoi commenti!

Sezione 1. Capitolo 6
single

single

Chieda ad AI

expand

Chieda ad AI

ChatGPT

Chieda pure quello che desidera o provi una delle domande suggerite per iniziare la nostra conversazione

Suggested prompts:

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?

close

Awesome!

Completion rate improved to 6.25

bookCreazione di Tensori

Scorri per mostrare il menu

Creazione di Tensors

Questa lezione si concentra sulla creazione di tensori utilizzando TensorFlow. TensorFlow offre numerosi metodi per inizializzare i tensori. Al termine di questa lezione, sarai in grado di generare tensori per un'ampia gamma di applicazioni.

Inizializzatori di Tensori di Base

  • tf.constant(): questo è il modo più semplice per creare un tensore. Come suggerisce il nome, i tensori inizializzati con questo metodo contengono valori costanti e sono immutabili;
12345
import tensorflow as tf # Create a 2x2 constant tensor tensor_const = tf.constant([[1, 2], [3, 4]]) print(tensor_const)
copy
  • tf.Variable(): a differenza di tf.constant(), un tensore definito utilizzando tf.Variable() è mutabile. Questo significa che il suo valore può essere modificato, rendendolo ideale per parametri addestrabili nei modelli;
12345
import tensorflow as tf # Create a variable tensor tensor_var = tf.Variable([[1, 2], [3, 4]]) print(tensor_var)
copy
  • tf.zeros(): crea un tensore riempito di zeri;
12345
import tensorflow as tf # Zero tensor of shape (3, 3) tensor_zeros = tf.zeros((3, 3)) print(tensor_zeros)
copy
  • tf.ones(): al contrario, crea un tensore riempito di uno;
12345
import tensorflow as tf # Ones tensor of shape (2, 2) tensor_ones = tf.ones((2, 2)) print(tensor_ones)
copy
  • tf.fill(): crea un tensore riempito con un valore specifico;
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() e tf.range(): strumenti ideali per creare sequenze;
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: genera tensori con valori casuali. Sono disponibili diverse distribuzioni e funzioni all'interno di questo modulo, come tf.random.normal() per valori da una distribuzione normale e tf.random.uniform() per valori da una distribuzione uniforme.
Note
Nota

È possibile anche impostare un seed fisso per ottenere risultati coerenti a ogni generazione di numeri casuali utilizzando tf.random.set_seed(). Tuttavia, tieni presente che in questo modo riceverai lo stesso numero per qualsiasi generazione casuale all'interno di TensorFlow.

Se desideri ottenere numeri coerenti solo per un comando specifico, puoi fornire un argomento seed a quel comando con il valore di seed desiderato.

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

Conversione tra strutture dati

I tensori di TensorFlow possono essere convertiti facilmente da e verso strutture dati Python familiari.

  • Da array Numpy: I tensori TensorFlow e gli array Numpy sono altamente interoperabili. Utilizzare 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
  • Da Pandas DataFrame: per chi preferisce l'analisi dei dati con Pandas, la conversione di un DataFrame o di una Series in un tensore TensorFlow è semplice. Utilizzare anche 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
Nota

Assicurarsi sempre che i tipi di dati delle strutture originali (array Numpy o Pandas DataFrame) siano compatibili con i tipi di dati dei tensori TensorFlow. In caso di incompatibilità, considerare il type casting.

  • Conversione di un tensore costante in una Variable: è possibile inizializzare una Variable utilizzando diversi metodi di creazione di tensori come tf.ones(), tf.linspace(), tf.random e così via. Basta passare la funzione o il tensore preesistente a 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

Per migliorare nella creazione di tensori, esercitarsi con forme e valori diversi. Per ulteriori dettagli su comandi specifici, consultare la documentazione di TensorFlow. Contiene tutte le informazioni necessarie su qualsiasi comando o modulo della libreria.

Compito

Swipe to start coding

Il tuo compito è creare, modificare e convertire vari tensori utilizzando TensorFlow.

Parte 1 — Inizializzazione dei tensori

  1. Creare un tensore chiamato tensor_A con forma (3, 3) e tutti gli elementi uguali a 5.
  2. Creare un tensore mutabile chiamato tensor_B con forma (2, 3) e valori a scelta.
  3. Creare un tensore chiamato tensor_C con forma (3, 3) riempito di zeri.
  4. Creare un tensore chiamato tensor_D con forma (4, 4) riempito di uni.
  5. Creare un tensore chiamato tensor_E con 5 valori equidistanti tra 3 e 15.
  6. Creare un tensore chiamato tensor_F con valori casuali e forma (2, 2).

Parte 2 — Conversioni

  1. Convertire l'array NumPy np_array in un tensore TensorFlow chiamato tensor_from_array.
  2. Convertire il DataFrame df in un tensore TensorFlow chiamato tensor_from_dataframe.

Nota

  • Utilizzare le funzioni TensorFlow più adatte per ciascuna operazione:
  • tf.fill() per tensori con un singolo valore ripetuto;
  • tf.Variable() per tensori mutabili;
  • tf.zeros() / tf.ones() per tensori riempiti di zeri o uni;
  • tf.linspace() per tensori con valori equidistanti;
  • tf.random.normal() per tensori casuali;
  • Utilizzare tf.convert_to_tensor() per conversioni da array NumPy o DataFrame pandas;
  • Evitare di usare tf.constant() — utilizzare invece le funzioni specifiche sopra elencate.

Soluzione

Switch to desktopCambia al desktop per esercitarti nel mondo realeContinua da dove ti trovi utilizzando una delle opzioni seguenti
Tutto è chiaro?

Come possiamo migliorarlo?

Grazie per i tuoi commenti!

Sezione 1. Capitolo 6
single

single

some-alt