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:

pip install tensorflow

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:

import tensorflow as tf
print(tf.__version__)

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

  1. Carregar el conjunt de dades MNIST.
  2. Preprocessar les dades.
  3. Construir el model.
  4. Compilar el model.
  5. Entrenar el model.
  6. 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.

© Copyright 2024. Tots els drets reservats