Què és TensorFlow?
TensorFlow és una biblioteca de codi obert desenvolupada per Google per a la computació numèrica i l'aprenentatge automàtic. És àmpliament utilitzada per a la creació i l'entrenament de models de deep learning gràcies a la seva flexibilitat i capacitat per a l'execució en diferents plataformes, com CPU, GPU i TPU.
Característiques Clau de TensorFlow
- Flexibilitat: Permet construir i entrenar models des de zero o utilitzar models preentrenats.
- Portabilitat: Pot executar-se en diverses plataformes, incloent-hi dispositius mòbils.
- Ecosistema: Inclou una sèrie d'eines i biblioteques complementàries, com TensorBoard per a la visualització i TensorFlow Lite per a dispositius mòbils.
- Codi Obert: És gratuït i té una gran comunitat de desenvolupadors que contribueixen al seu desenvolupament.
Instal·lació de TensorFlow
Requisits Previs
Abans d'instal·lar TensorFlow, assegura't de tenir instal·lat Python (versió 3.6 o superior) i pip, el gestor de paquets de Python.
Instal·lació amb pip
Per instal·lar TensorFlow, pots utilitzar el següent comandament:
Verificació de la Instal·lació
Després d'instal·lar TensorFlow, pots verificar la instal·lació executant el següent codi en un entorn Python:
Si la instal·lació ha estat exitosa, veuràs la versió de TensorFlow instal·lada.
Conceptes Bàsics de TensorFlow
Tensores
Els tensores són la unitat bàsica de dades en TensorFlow. Són estructures de dades multidimensionals que generalitzen els vectors i les matrius.
Exemple de Tensores
import tensorflow as tf # Crear un tensor constant tensor_constant = tf.constant([[1, 2], [3, 4]]) print(tensor_constant) # Crear un tensor de zeros tensor_zeros = tf.zeros([3, 3]) print(tensor_zeros)
Operacions amb Tensores
TensorFlow permet realitzar diverses operacions matemàtiques amb tensores.
Exemple d'Operacions
import tensorflow as tf # Crear dos tensores constants a = tf.constant([[1, 2], [3, 4]]) b = tf.constant([[5, 6], [7, 8]]) # Suma de tensores tensor_sum = tf.add(a, b) print(tensor_sum) # Multiplicació de tensores tensor_mul = tf.matmul(a, b) print(tensor_mul)
Models i Capes
TensorFlow proporciona una API d'alt nivell anomenada tf.keras
per a la construcció i l'entrenament de models de deep learning.
Exemple de Model Simple
import tensorflow as tf from tensorflow.keras import layers # Crear un model seqüencial model = tf.keras.Sequential([ layers.Dense(64, activation='relu', input_shape=(784,)), layers.Dense(10, activation='softmax') ]) # Compilar el model model.compile(optimizer='adam', loss='sparse_categorical_crossentropy', metrics=['accuracy']) print(model.summary())
Exercici Pràctic
Objectiu
Construir i entrenar un model simple de classificació d'imatges utilitzant el conjunt de dades MNIST.
Passos
- Carregar el conjunt de dades MNIST.
- Preprocessar les dades.
- Construir el model.
- Compilar el model.
- Entrenar el model.
- Avaluar el model.
Codi de l'Exercici
import tensorflow as tf from tensorflow.keras import layers, models # Carregar el conjunt de dades MNIST mnist = tf.keras.datasets.mnist (x_train, y_train), (x_test, y_test) = mnist.load_data() # Preprocessar les dades x_train, x_test = x_train / 255.0, x_test / 255.0 # Construir el model model = models.Sequential([ layers.Flatten(input_shape=(28, 28)), layers.Dense(128, activation='relu'), layers.Dropout(0.2), layers.Dense(10, activation='softmax') ]) # Compilar el model model.compile(optimizer='adam', loss='sparse_categorical_crossentropy', metrics=['accuracy']) # Entrenar el model model.fit(x_train, y_train, epochs=5) # Avaluar el model model.evaluate(x_test, y_test)
Solució
El codi anterior carrega el conjunt de dades MNIST, el preprocessa, construeix un model de xarxa neuronal simple, l'entrena i l'avalua. Aquest és un bon punt de partida per a comprendre com utilitzar TensorFlow per a tasques de classificació d'imatges.
Resum
En aquesta secció, hem introduït TensorFlow, una poderosa biblioteca per a la computació numèrica i l'aprenentatge automàtic. Hem cobert els conceptes bàsics, incloent-hi la instal·lació, els tensores i les operacions bàsiques, així com la construcció i l'entrenament de models simples. A més, hem proporcionat un exercici pràctic per a reforçar els conceptes apresos. En la següent secció, explorarem PyTorch, una altra popular biblioteca per a deep learning.
Curs de Deep Learning
Mòdul 1: Introducció a Deep Learning
- Què és Deep Learning?
- Història i evolució del Deep Learning
- Aplicacions de Deep Learning
- Conceptes bàsics de xarxes neuronals
Mòdul 2: Fonaments de Xarxes Neuronals
- Perceptró i Perceptró Multicapa
- Funció d'activació
- Propagació cap endavant i cap enrere
- Optimització i funció de pèrdua
Mòdul 3: Xarxes Neuronals Convolucionals (CNN)
- Introducció a les CNN
- Capes convolutionals i de pooling
- Arquitectures populars de CNN
- Aplicacions de CNN en reconeixement d'imatges
Mòdul 4: Xarxes Neuronals Recurrentes (RNN)
- Introducció a les RNN
- LSTM i GRU
- Aplicacions de RNN en processament del llenguatge natural
- Seqüències i sèries temporals
Mòdul 5: Tècniques Avançades en Deep Learning
- Xarxes Generatives Adversarials (GAN)
- Autoencoders
- Transfer Learning
- Regularització i tècniques de millora
Mòdul 6: Eines i Frameworks
- Introducció a TensorFlow
- Introducció a PyTorch
- Comparació de frameworks
- Entorns de desenvolupament i recursos addicionals
Mòdul 7: Projectes Pràctics
- Classificació d'imatges amb CNN
- Generació de text amb RNN
- Detecció d'anomalies amb Autoencoders
- Creació d'una GAN per generació d'imatges