TensorFlow Hub és una biblioteca que permet reutilitzar models de machine learning preentrenats. Aquesta eina és molt útil per a l'aprenentatge per transferència, ja que permet aprofitar models ja entrenats per a tasques similars a les que volem resoldre, estalviant temps i recursos computacionals.
Continguts
Què és TensorFlow Hub?
TensorFlow Hub és una biblioteca que proporciona una col·lecció de models de machine learning preentrenats que es poden reutilitzar en diferents aplicacions. Aquests models es poden descarregar i integrar fàcilment en els nostres projectes de TensorFlow.
Avantatges de TensorFlow Hub
- Reutilització de models: Permet utilitzar models preentrenats per a tasques similars, estalviant temps i recursos.
- Facilitat d'ús: Els models es poden integrar fàcilment en els nostres projectes amb poques línies de codi.
- Varietat de models: Ofereix una àmplia gamma de models per a diferents tasques com classificació d'imatges, detecció d'objectes, processament de llenguatge natural, etc.
Instal·lació de TensorFlow Hub
Per utilitzar TensorFlow Hub, primer hem d'instal·lar la biblioteca. Podem fer-ho utilitzant pip:
També necessitarem TensorFlow si encara no el tenim instal·lat:
Com utilitzar models preentrenats
Un cop tenim instal·lada la biblioteca, podem començar a utilitzar models preentrenats. A continuació, es mostra un exemple de com carregar un model preentrenat des de TensorFlow Hub i utilitzar-lo per fer prediccions.
Exemple: Carregant un model preentrenat
import tensorflow as tf import tensorflow_hub as hub # Carreguem un model preentrenat des de TensorFlow Hub model_url = "https://tfhub.dev/google/imagenet/mobilenet_v2_100_224/classification/4" model = tf.keras.Sequential([ hub.KerasLayer(model_url, input_shape=(224, 224, 3)) ]) # Mostrem un resum del model model.summary()
En aquest exemple, hem carregat el model MobileNetV2 preentrenat per a la classificació d'imatges.
Exemple pràctic: Classificació d'imatges
A continuació, veurem un exemple complet de com utilitzar un model preentrenat de TensorFlow Hub per a la classificació d'imatges.
Pas 1: Carregar i preprocessar les dades
import numpy as np import tensorflow as tf import tensorflow_hub as hub import tensorflow_datasets as tfds import matplotlib.pyplot as plt # Carreguem el dataset de flors de TensorFlow Datasets dataset, info = tfds.load('tf_flowers', with_info=True, as_supervised=True) train_dataset = dataset['train'] # Funció de preprocessament def format_image(image, label): image = tf.image.resize(image, (224, 224)) / 255.0 return image, label # Preprocessar les imatges train_dataset = train_dataset.map(format_image) train_dataset = train_dataset.batch(32).prefetch(1)
Pas 2: Carregar el model preentrenat
# Carreguem el model preentrenat des de TensorFlow Hub model_url = "https://tfhub.dev/google/imagenet/mobilenet_v2_100_224/classification/4" model = tf.keras.Sequential([ hub.KerasLayer(model_url, input_shape=(224, 224, 3)) ])
Pas 3: Compilar i entrenar el model
# Compilar el model model.compile( optimizer='adam', loss='sparse_categorical_crossentropy', metrics=['accuracy'] ) # Entrenar el model history = model.fit(train_dataset, epochs=5)
Pas 4: Avaluar el model
# Avaluar el model loss, accuracy = model.evaluate(train_dataset) print(f'Loss: {loss}') print(f'Accuracy: {accuracy}')
Exercicis pràctics
- Carregar un altre model preentrenat: Prova de carregar un model diferent de TensorFlow Hub i utilitzar-lo per a una tasca de classificació d'imatges.
- Augmentació de dades: Implementa tècniques d'augmentació de dades per millorar el rendiment del model.
- Transfer learning: Utilitza un model preentrenat com a base i afegeix capes addicionals per adaptar-lo a una nova tasca.
Conclusió
En aquesta secció, hem après què és TensorFlow Hub i com podem utilitzar models preentrenats per a diferents tasques de machine learning. Hem vist un exemple pràctic de classificació d'imatges utilitzant un model preentrenat de TensorFlow Hub. A més, hem proposat alguns exercicis pràctics per reforçar els conceptes apresos.
TensorFlow Hub és una eina poderosa que ens permet aprofitar models preentrenats per estalviar temps i recursos en els nostres projectes de machine learning. Amb la seva facilitat d'ús i la seva àmplia col·lecció de models, és una eina essencial per a qualsevol desenvolupador de machine learning.
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