Introducció
En aquest tema, aprendrem sobre els tensors, que són les estructures de dades fonamentals en TensorFlow, i les operacions que es poden realitzar amb ells. Els tensors són similars als arrays de Numpy, però amb capacitats addicionals per a la computació distribuïda i l'optimització automàtica.
Què és un tensor?
Un tensor és una estructura de dades que representa una matriu multidimensional. Els tensors poden tenir diverses dimensions, des d'un escalar (0D) fins a matrius de dimensions superiors (nD).
Tipus de tensors
- Escalar (0D): Un sol valor.
- Vector (1D): Una llista de valors.
- Matriu (2D): Una taula de valors.
- Tensor de dimensions superiors (nD): Una matriu de matrius.
Exemples de tensors
import tensorflow as tf # Escalar escalar = tf.constant(3) print(escalar) # Vector vector = tf.constant([1, 2, 3]) print(vector) # Matriu matriu = tf.constant([[1, 2], [3, 4]]) print(matriu) # Tensor de dimensions superiors tensor_nd = tf.constant([[[1, 2], [3, 4]], [[5, 6], [7, 8]]]) print(tensor_nd)
Operacions amb tensors
TensorFlow proporciona una àmplia gamma d'operacions que es poden realitzar amb tensors. Algunes de les operacions més comunes inclouen:
- Operacions aritmètiques: suma, resta, multiplicació, divisió.
- Operacions lògiques: AND, OR, NOT.
- Operacions de reducció: suma, mitjana, màxim, mínim.
- Operacions de manipulació: reshape, transpose, slice.
Exemples d'operacions
Operacions aritmètiques
a = tf.constant([1, 2, 3]) b = tf.constant([4, 5, 6]) # Suma suma = tf.add(a, b) print(suma) # Resta resta = tf.subtract(a, b) print(resta) # Multiplicació multiplicacio = tf.multiply(a, b) print(multiplicacio) # Divisió divisio = tf.divide(a, b) print(divisio)
Operacions de reducció
c = tf.constant([[1, 2, 3], [4, 5, 6]]) # Suma de tots els elements suma_total = tf.reduce_sum(c) print(suma_total) # Mitjana de tots els elements mitjana = tf.reduce_mean(c) print(mitjana) # Màxim de tots els elements maxim = tf.reduce_max(c) print(maxim) # Mínim de tots els elements minim = tf.reduce_min(c) print(minim)
Operacions de manipulació
d = tf.constant([[1, 2, 3], [4, 5, 6]]) # Reshape reshape = tf.reshape(d, [3, 2]) print(reshape) # Transpose transpose = tf.transpose(d) print(transpose) # Slice slice = tf.slice(d, [0, 1], [2, 2]) print(slice)
Exercicis pràctics
Exercici 1: Crear tensors
Crea els següents tensors utilitzant tf.constant
:
- Un escalar amb el valor 10.
- Un vector amb els valors [10, 20, 30].
- Una matriu amb els valors [[1, 2], [3, 4], [5, 6]].
Solució
# Escalar escalar = tf.constant(10) print(escalar) # Vector vector = tf.constant([10, 20, 30]) print(vector) # Matriu matriu = tf.constant([[1, 2], [3, 4], [5, 6]]) print(matriu)
Exercici 2: Operacions amb tensors
Realitza les següents operacions amb tensors:
- Suma dels vectors [1, 2, 3] i [4, 5, 6].
- Multiplicació de les matrius [[1, 2], [3, 4]] i [[5, 6], [7, 8]].
- Transposició de la matriu [[1, 2, 3], [4, 5, 6]].
Solució
# Suma de vectors a = tf.constant([1, 2, 3]) b = tf.constant([4, 5, 6]) suma = tf.add(a, b) print(suma) # Multiplicació de matrius c = tf.constant([[1, 2], [3, 4]]) d = tf.constant([[5, 6], [7, 8]]) multiplicacio = tf.matmul(c, d) print(multiplicacio) # Transposició de matriu e = tf.constant([[1, 2, 3], [4, 5, 6]]) transpose = tf.transpose(e) print(transpose)
Conclusió
En aquest tema, hem après què són els tensors i com crear-los a TensorFlow. També hem explorat diverses operacions que es poden realitzar amb tensors, incloent operacions aritmètiques, de reducció i de manipulació. Aquests conceptes són fonamentals per treballar amb TensorFlow i seran la base per a temes més avançats en els següents mòduls.
Curs de TensorFlow
Mòdul 1: Introducció a TensorFlow
- Què és TensorFlow?
- Configuració de TensorFlow
- Conceptes bàsics de TensorFlow
- Hola món amb TensorFlow
Mòdul 2: Conceptes bàsics de TensorFlow
Mòdul 3: Gestió de dades a TensorFlow
Mòdul 4: Construcció de xarxes neuronals
- Introducció a les xarxes neuronals
- Creació d'una xarxa neuronal simple
- Funcions d'activació
- Funcions de pèrdua i optimitzadors
Mòdul 5: Xarxes neuronals convolucionals (CNNs)
Mòdul 6: Xarxes neuronals recurrents (RNNs)
- Introducció a les RNNs
- Construcció d'una RNN
- Memòria a llarg termini (LSTM)
- Unitats recurrents amb porta (GRUs)
Mòdul 7: Tècniques avançades de TensorFlow
- Capes i models personalitzats
- TensorFlow Hub
- Aprenentatge per transferència
- Ajust de hiperparàmetres