Ja tens la base conceptual del deep learning; ara toca preparar el taller. En aquesta lliçó muntaràs l'entorn on executaràs tot el codi del curs: veurem les dues opcions principals —Google Colab (recomanada per començar, amb GPU gratuïta) i la instal·lació local amb Python—, aprendràs el més bàsic dels Jupyter Notebooks, verificaràs que la instal·lació i la GPU funcionen amb un script concret, i crearàs l'estructura de carpetes del projecte TecnoMarket que farem servir a la resta del curs. Un entorn ben muntat des del principi t'estalviarà hores de frustració: la majoria dels problemes dels principiants no són de xarxes neuronals, sinó d'instal·lació.
Contingut
- Les dues opcions: Colab vs instal·lació local
- Opció A: Google Colab, pas a pas
- Opció B: instal·lació local amb Python
- Jupyter Notebooks: el més bàsic
- Script de verificació de l'entorn i la GPU
- Estructura de carpetes del projecte TecnoMarket
- Bones pràctiques: entorns aïllats i versions
Les dues opcions: Colab vs instal·lació local
Per entrenar xarxes neuronals necessites Python, unes quantes biblioteques i, si pot ser, una GPU (recorda de la lliçó 01-02: les GPU van ser una de les claus del ressorgiment del deep learning; acceleren l'entrenament de 10 a 50 vegades). Hi ha dues maneres d'aconseguir-ho:
| Aspecte | Google Colab (núvol) | Instal·lació local |
|---|---|---|
| Cost inicial | Gratis | Gratis (però una GPU NVIDIA costa diners) |
| GPU | Inclosa gratis (amb límits d'ús) | Només si el teu equip en té |
| Instal·lació | Cap: s'obre al navegador | Python + biblioteques + (controladors de GPU) |
| Requereix internet | Sí, sempre | No |
| Persistència | Les sessions es reinicien; cal desar a Google Drive | Tot queda al teu disc |
| Privacitat de les dades | Les dades pugen a Google | Les dades no surten de la teva màquina |
| Ideal per a | Aprendre, prototipar, aquest curs | Treball continuat, dades sensibles, projectes seriosos |
Recomanació per al curs: comença amb Google Colab. Zero instal·lació, GPU gratuïta i tots els notebooks del curs funcionaran tal qual. Munta l'entorn local a més (no en lloc de) quan vulguis: és l'escenari realista d'un lloc de treball, i a TecnoMarket, amb dades internes de clients i pagaments, l'equip treballaria en local o en servidors propis precisament per privacitat.
Opció A: Google Colab, pas a pas
Google Colab (colab.research.google.com) és un servei gratuït que executa notebooks de Python en servidors de Google.
- Entra a
https://colab.research.google.comamb un compte de Google. - Crea un notebook: menú
Archivo → Nuevo notebook(oFile → New notebook, segons l'idioma de la interfície). Ja pots executar Python: no cal instal·lar res, les biblioteques principals (TensorFlow, PyTorch, NumPy, pandas, matplotlib) venen preinstal·lades. - Activa la GPU: menú
Entorno de ejecución → Cambiar tipo de entorno de ejecución → Acelerador por hardware: GPU → Guardar. Aquest pas és fàcil d'oblidar i és la causa número 1 de "el meu entrenament va lentíssim" a Colab. - Executa la teva primera cel·la: escriu el codi i prem
Shift+Enter.
# Primera cel·la a Colab: comprovar que hi ha Python i quina GPU ens ha tocat
import sys
print("Versió de Python:", sys.version)
# Ordre del sistema (el signe ! executa ordres de terminal des del notebook)
!nvidia-smiSi has activat la GPU, nvidia-smi mostrarà una taula amb el model de targeta assignada (T4, per exemple) i la seva memòria. Si dona error, revisa el pas 3.
Limitacions que cal conèixer: les sessions gratuïtes es desconnecten després d'un temps d'inactivitat (i tenen un màxim d'hores), i el disc de la sessió s'esborra en desconnectar. Desa sempre els teus notebooks (es desen sols a Google Drive) i munta Drive per conservar dades i models:
# Muntar Google Drive per desar dades i models de manera persistent
from google.colab import drive
drive.mount('/content/drive')
# A partir d'aquí, tot el que es desi a /content/drive/MyDrive/ sobreviu a la sessióOpció B: instal·lació local amb Python
Per treballar a la teva pròpia màquina necessites quatre passos: Python, un entorn aïllat, les biblioteques i Jupyter.
Pas 1: instal·lar Python 3
Necessites Python 3.10 o superior (comprova la versió amb python3 --version).
- Linux: acostuma a venir instal·lat. Si no:
sudo apt install python3 python3-pip python3-venv(Debian/Ubuntu). - Windows: descarrega l'instal·lador de
https://www.python.org/downloads/i marca la casella "Add Python to PATH" durant la instal·lació. - macOS:
brew install python3(amb Homebrew) o l'instal·lador de python.org.
Pas 2: crear un entorn aïllat
No instal·lis mai biblioteques directament sobre el Python del sistema. Un entorn aïllat és una carpeta amb la seva pròpia còpia de Python i les seves pròpies biblioteques; si alguna cosa es trenca, esborres la carpeta i comences de nou sense afectar res més. Hi ha dues eines equivalents; fes servir l'una o l'altra:
Amb venv (inclòs a Python):
# Crear la carpeta del projecte i l'entorn
mkdir tecnomarket-dl
cd tecnomarket-dl
python3 -m venv .venv
# Activar l'entorn (cal fer-ho a cada sessió de terminal)
source .venv/bin/activate # Linux / macOS
# .venv\Scripts\activate # Windows (PowerShell o CMD)
# Veuràs (.venv) al principi del prompt: l'entorn està actiuAmb conda (si prefereixes la distribució Miniconda/Anaconda):
Pas 3: instal·lar les biblioteques
Amb l'entorn activat:
# Actualitzar pip (el gestor de paquets de Python)
pip install --upgrade pip
# Frameworks de deep learning: instal·lem els dos que fa servir el curs
pip install tensorflow torch torchvision
# Eines d'acompanyament
pip install numpy pandas matplotlib scikit-learn jupyterQuè és cada cosa:
- tensorflow: framework de deep learning de Google; el farem servir des de la seva API Keras (mòdul 6, lliçó 06-01).
- torch / torchvision: PyTorch, el framework de Meta, i les seves utilitats de visió (lliçó 06-02). Instal·lem tots dos frameworks perquè el curs ensenya els dos; la comparació en profunditat arribarà a la lliçó 06-03.
- numpy / pandas: càlcul numèric i maneig de taules de dades.
- matplotlib: gràfiques (corbes d'entrenament, visualització d'imatges).
- scikit-learn: utilitats de ML clàssic (divisions train/test, mètriques).
- jupyter: els notebooks en local.
Nota sobre GPU en local: a Windows/Linux, PyTorch i TensorFlow només acceleren amb GPU NVIDIA (mitjançant CUDA); la instal·lació estàndard de dalt funciona en CPU en qualsevol màquina, que és suficient per als exemples petits del curs. Si tens GPU NVIDIA i la vols aprofitar, segueix la guia oficial d'instal·lació de cada framework per al teu sistema (les combinacions de controladors/CUDA canvien sovint i convé mirar la pàgina oficial: pytorch.org/get-started i tensorflow.org/install). Si no tens GPU, no et preocupis: per a això hi ha Colab.
Pas 4: engegar Jupyter
Jupyter Notebooks: el més bàsic
Tant Colab com Jupyter local fan servir el mateix concepte: el notebook, un document interactiu que barreja cel·les de codi executables amb cel·les de text (Markdown). És el format estàndard per experimentar en deep learning perquè permet executar la feina per passos, veure resultats (taules, gràfiques) al costat del codi i documentar el que fas.
El mínim que has de saber:
| Acció | Com |
|---|---|
| Executar una cel·la | Shift+Enter (executa i passa a la següent) |
| Inserir cel·la a sota | Tecla B (amb la cel·la seleccionada, sense estar editant-la) |
| Inserir cel·la a sobre | Tecla A |
| Esborrar cel·la | D, D (dues vegades) |
| Convertir cel·la a text/Markdown | Tecla M (i Y per tornar a codi) |
| Reiniciar el kernel | Menú Kernel → Restart (esborra totes les variables) |
Dos conceptes importants:
- El kernel és el procés de Python que executa les teves cel·les. Les variables perviuen entre cel·les mentre el kernel visqui.
- L'ordre d'execució importa: pots executar cel·les en qualsevol ordre, i això és una font clàssica d'errors (fer servir una variable definida en una cel·la que encara no has executat, o resultats "fantasma" d'execucions anteriors). Davant d'un comportament estrany, el remei universal és
Kernel → Restart & Run All: reinicia i ho executa tot de dalt a baix. Si així funciona, el teu notebook és reproduïble.
Script de verificació de l'entorn i la GPU
Crea un notebook (a Colab o en local) anomenat 00_verificacio.ipynb i executa aquest script complet. És la "revisió mèdica" de l'entorn: comprova versions, frameworks i GPU.
# === Script de verificació de l'entorn TecnoMarket-DL ===
import sys
print(f"Python: {sys.version.split()[0]}")
# --- Biblioteques de dades ---
import numpy as np
import pandas as pd
import matplotlib
print(f"NumPy: {np.__version__} | pandas: {pd.__version__} | matplotlib: {matplotlib.__version__}")
# --- TensorFlow ---
import tensorflow as tf
print(f"\nTensorFlow: {tf.__version__}")
gpus_tf = tf.config.list_physical_devices('GPU')
print(f"GPU visible per a TensorFlow: {'SÍ -> ' + str(gpus_tf) if gpus_tf else 'NO (farà servir CPU)'}")
# --- PyTorch ---
import torch
print(f"\nPyTorch: {torch.__version__}")
if torch.cuda.is_available():
print(f"GPU visible per a PyTorch: SÍ -> {torch.cuda.get_device_name(0)}")
else:
print("GPU visible per a PyTorch: NO (farà servir CPU)")
# --- Miniprova de càlcul real ---
# Multipliquem dues matrius grans: si això funciona, l'entorn està operatiu
a = torch.rand(1000, 1000) # matriu 1000x1000 de números aleatoris
b = torch.rand(1000, 1000)
device = "cuda" if torch.cuda.is_available() else "cpu"
resultat = (a.to(device) @ b.to(device)) # @ = multiplicació de matrius
print(f"\nMultiplicació de matrius 1000x1000 en '{device}': OK, suma = {resultat.sum():.2f}")
print("\n=== Entorn verificat: a punt per al curs ===")Interpretació de la sortida:
- Hi han d'aparèixer les versions de totes les biblioteques sense cap
ImportError. Si alguna falla, revisa que l'entorn estigui activat i reinstal·la-la amb pip. - Les línies de GPU diran SÍ o NO. A Colab amb la GPU activada han de dir SÍ; en un portàtil sense NVIDIA diran NO, i és normal: el curs es pot seguir en CPU (els exemples estan dimensionats per a això) i fer servir Colab per als entrenaments pesats.
- La miniprova executa una operació real del tipus que fan les xarxes neuronals (multiplicar matrius, exactament l'
entrades × pesosde la lliçó 01-04, a l'engròs). Si imprimeix OK, tot funciona de debò, no només s'importa.
Estructura de carpetes del projecte TecnoMarket
Durant el curs anirem generant notebooks, dades i models del projecte TecnoMarket. Crear una estructura ordenada ara evitarà el caos després. Executa al terminal (o crea les carpetes a mà; a Colab, crea-les dins de MyDrive):
tecnomarket-dl/
├── .venv/ # l'entorn virtual (només en local; no es toca)
├── dades/
│ ├── brutes/ # dades tal com arriben (fotos, CSV de ressenyes...)
│ └── processades/ # dades ja netes i a punt per entrenar
├── notebooks/ # un notebook per lliçó/experiment: 02-05-primera-xarxa.ipynb...
├── models/ # models entrenats que desem (mòdul 6)
├── figures/ # gràfiques exportades (corbes d'entrenament, etc.)
└── requirements.txt # les versions exactes de les biblioteques (vegeu més avall)# Ordres per crear-la en local (Linux/macOS; a Windows, mkdir equivalents)
cd tecnomarket-dl
mkdir -p dades/brutes dades/processades notebooks models figuresRegles d'ús que seguirem tot el curs:
dades/brutesés només de lectura: no modifiquis mai les dades originals; tota transformació es desa adades/processades. Així sempre pots tornar a començar.- Un notebook per lliçó o experiment, amb nom numerat (
03-02-cnn-cifar10.ipynb): l'ordre del curs serà l'ordre dels teus fitxers. - Els models entrenats van a
models/amb nom i data: aprendrem a desar-los i carregar-los a la lliçó 06-05.
Bones pràctiques: entorns aïllats i versions
Tres hàbits professionals que t'evitaran problemes seriosos:
-
Un entorn aïllat per projecte. El projecte TecnoMarket té el seu
.venv; un altre projecte tindrà el seu. Així, actualitzar una biblioteca per a un projecte no trenca els altres. No instal·lis mai amb pip fora d'un entorn. -
Congela les versions. Les biblioteques de deep learning canvien de pressa i el codi que avui funciona pot fallar amb la versió de l'any que ve. Desa les versions exactes del teu entorn:
# Desar l'estat de l'entorn a requirements.txt
pip freeze > requirements.txt
# Recrear l'entorn en una altra màquina (o després de trencar-lo)
pip install -r requirements.txtEn el context de TecnoMarket això és crític: si el classificador de fotos passa a producció, l'equip ha de poder reconstruir l'entorn exacte on es va entrenar.
- Verifica abans de treballar. Quan alguna cosa falli a mig curs, torna al notebook
00_verificacio.ipynbi executa'l: distingiràs en segons si el problema és de l'entorn o del teu codi.
Més endavant, a la lliçó 06-04, veurem entorns i recursos més avançats (IDE, gestió d'experiments, alternatives de núvol); per ara, amb Colab o el teu entorn local verificat tens tot el que cal.
Errors Comuns i Consells
- Error: entrenar a Colab sense activar la GPU. Colab arrenca per defecte sense accelerador. Si un entrenament va sospitosament lent, el primer que has de mirar és
Entorno de ejecución → Cambiar tipo de entorno de ejecución. - Error: instal·lar paquets sense activar l'entorn. Si
pip installfunciona però desprésimportfalla al notebook, gairebé segur que has instal·lat en un Python diferent del que fa servir Jupyter. Activa l'entorn abans d'instal·lar i abans d'engegar Jupyter. - Error: perdre la feina a Colab. El disc de la sessió és efímer. Dades i models que vulguis conservar, sempre a Google Drive muntat.
- Error: fer servir
pythonquan el sistema tépython3. A Linux/macOS l'ordre es pot dirpython3; dins d'un entorn activat,pythonja apunta a la versió correcta. - Error: executar les cel·les del notebook en desordre. Si apareixen resultats incoherents,
Kernel → Restart & Run Alli revisa-ho de dalt a baix. - Consell: no persegueixis l'última versió de cada biblioteca; persegueix un entorn estable i congelat a
requirements.txt. La reproduïbilitat val més que la novetat.
Exercicis
Exercici 1: Posada en marxa a Colab
Crea un notebook a Google Colab anomenat 00_verificacio, activa la GPU, executa l'script de verificació complet d'aquesta lliçó i comprova que tots dos frameworks detecten la GPU. Després, desactiva la GPU (torna a CPU), reinicia l'entorn i executa'l una altra vegada. Compara les dues sortides: quines línies canvien?
Exercici 2: Entorn local reproduïble
A la teva màquina: crea la carpeta tecnomarket-dl amb l'estructura de carpetes de la lliçó, crea i activa un entorn virtual, instal·la les biblioteques del curs, genera el requirements.txt i executa l'script de verificació en un Jupyter local. Anota quina versió de Python, TensorFlow i PyTorch t'ha quedat instal·lada.
Exercici 3: Diagnòstic d'una fallada
Un company de l'equip de dades de TecnoMarket t'escriu: "He instal·lat torch amb pip i m'ha dit que tot correcte, però en fer import torch al meu notebook em dona ModuleNotFoundError". Enumera, per ordre de probabilitat, les causes possibles i quina ordre o comprovació faries per descartar cadascuna.
Solucions
Solució 1:
Amb la GPU activada, nvidia-smi mostra la targeta assignada, i les línies de verificació diuen GPU visible per a TensorFlow: SÍ i GPU visible per a PyTorch: SÍ -> Tesla T4 (o un altre model); la miniprova indica device 'cuda'. En tornar a CPU, totes dues línies passen a NO (farà servir CPU), la miniprova indica 'cpu' i nvidia-smi dona error ("command not found" o similar, perquè la màquina assignada no té GPU). Les versions de Python i biblioteques no canvien: només canvia el maquinari disponible, no el programari.
Solució 2:
Seqüència esperada (Linux/macOS):
mkdir tecnomarket-dl && cd tecnomarket-dl
mkdir -p dades/brutes dades/processades notebooks models figures
python3 -m venv .venv
source .venv/bin/activate
pip install --upgrade pip
pip install tensorflow torch torchvision numpy pandas matplotlib scikit-learn jupyter
pip freeze > requirements.txt
jupyter notebookLes versions concretes dependran del moment de la instal·lació (per exemple, Python 3.11.x, TensorFlow 2.x, PyTorch 2.x); l'important és que l'script de verificació s'executi sense errors d'importació i que requirements.txt reculli les versions exactes per poder reproduir l'entorn.
Solució 3:
Per ordre de probabilitat:
- Va instal·lar en un Python diferent del que fa servir el notebook (el cas més comú): va instal·lar amb l'entorn desactivat, o Jupyter corre sobre un altre entorn. Comprovació: en una cel·la,
import sys; print(sys.executable)i comparar amb la ruta on va instal·lar pip (which pip/pip -Val terminal). Solució: activar l'entorn correcte i instal·lar-hi, o engegar Jupyter des de l'entorn. - El kernel del notebook no és el de l'entorn: a Jupyter hi pot haver diversos kernels registrats. Comprovació: menú
Kernel → Change kernel. - No va reiniciar el kernel després d'instal·lar: si el notebook ja estava obert en instal·lar, de vegades cal
Kernel → Restart. - La instal·lació va fallar en realitat (quedar-se sense espai, error de xarxa que no va veure). Comprovació:
pip show torchal terminal amb l'entorn activat.
Conclusió
El teu taller està muntat: saps treballar amb Google Colab i la seva GPU gratuïta, tens (o saps crear) un entorn local aïllat amb TensorFlow i PyTorch, domines els moviments bàsics de Jupyter, comptes amb un script de verificació per diagnosticar l'entorn en qualsevol moment, i l'estructura de carpetes del projecte TecnoMarket està a punt per rebre els notebooks, les dades i els models de tot el curs. Recorda les tres regles d'or: entorns aïllats, versions congelades i dades brutes intocables.
Amb això s'acaba el mòdul d'introducció: saps què és el deep learning, d'on ve, per a què serveix, de què estan fetes les xarxes i on les construiràs. Al mòdul 2 comencem la part pràctica de debò: del perceptró al perceptró multicapa, funcions d'activació, propagació i optimització... fins a entrenar la teva primera xarxa neuronal completa amb dades reals.
Curs de Deep Learning
Mòdul 1: Introducció al Deep Learning
- Què és el Deep Learning?
- Història i evolució del Deep Learning
- Aplicacions del Deep Learning
- Conceptes bàsics de xarxes neuronals
- Preparació de l'entorn de treball
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
- La teva primera xarxa neuronal completa
Mòdul 3: Xarxes Neuronals Convolucionals (CNN)
- Introducció a les CNN
- Capes convolucionals i de pooling
- Arquitectures populars de CNN
- Aplicacions de CNN en reconeixement d'imatges
Mòdul 4: Xarxes Neuronals Recurrents (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 Adversàries (GAN)
- Autoencoders
- Transfer Learning
- Regularització i tècniques de millora
- Mecanismes d'atenció i Transformers
Mòdul 6: Eines i Frameworks
- Introducció a TensorFlow
- Introducció a PyTorch
- Comparació de frameworks
- Entorns de desenvolupament i recursos addicionals
- Desar, carregar i desplegar models
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 a generació d'imatges
- Fine-tuning d'un model preentrenat
