Desar i Carregar Models de TensorFlow

Aprèn com desar, carregar i restaurar models a TensorFlow utilitzant tf.keras i tf.train.Checkpoint. Descobreix els formats SavedModel i HDF5, tècniques de desat automàtic i manual, seguiment d'objectes i estratègies per inspeccionar checkpoints.

miércoles, 13 de agosto de 2025 • 4 min de lectura • Equip Q2BSTUDIO

Intel·ligència-Artificial-

Introducció a la desada i càrrega de models a TensorFlow: Aquest article explica de manera pràctica com desar, restaurar i inspeccionar models a TensorFlow utilitzant les API de tf.keras i tf.train.Checkpoint, a més dels formats SavedModel i HDF5. Aprendràs els modes automàtics i manuals de desat, la mecànica de càrrega, restauracions diferides de variables, seguiment d'objectes i tècniques per inspeccionar checkpoints a baix nivell.

Formats de desat comuns: TensorFlow suporta el format SavedModel recomanat per a desplegament i recuperació completa del model i les seves signatures, i el format HDF5 per a interoperabilitat amb models Keras. Per a pesos només existeixen mètodes com model.save_weights i model.load_weights, útils quan l'arquitectura es recrea manualment abans de carregar pesos.

Desat automàtic amb tf.keras: La forma més senzilla és utilitzar el callback ModelCheckpoint durant l'entrenament. Un exemple d'ús habitual consisteix a passar la ruta de destinació, monitor, save_best_only i save_weights_only segons si es desen pesos o model complet. Això permet mantenir historials amb les millors versions i recuperar entrenaments interromputs.

Desat manual amb tf.train.Checkpoint: Per a més control i traçabilitat convé utilitzar tf.train.Checkpoint. Es crea un objecte vinculant model, optimizer i altres objectes clau. Després es poden fer desats manuals amb checkpoint.save(ruta) o gestionar cicles amb tf.train.CheckpointManager que manté un nombre limitat de checkpoints i simplifica neteges.

Exemple de flux amb CheckpointManager: Crear checkpoint = tf.train.Checkpoint(model=model, optimizer=opt). Crear manager = tf.train.CheckpointManager(checkpoint, directori, max_to_keep=5). Desar amb manager.save() i restaurar amb checkpoint.restore(manager.latest_checkpoint). Aquest enfocament permet recuperar l'estat complet d'entrenament incloent l'optimitzador i el pas global.

Càrrega i mecànica de restauració: Per a models desats amb model.save utilitzar tf.keras.models.load_model per recuperar l'arquitectura, pesos i signatures SavedModel. Per a pesos utilitzar model.load_weights. Amb checkpoints basats en tf.train.Checkpoint es fa servir checkpoint.restore(ruta) i opcionalment mètodes com expect_partial per permetre variables faltants o assert_consumed per exigir que tot coincideixi. Quan hi ha diferències en l'arquitectura convé utilitzar expect_partial i després inicialitzar noves variables.

Restauracions diferides de variables: TensorFlow permet restaurar checkpoints abans de crear totes les variables, cosa que es denomina restauració diferida. En cridar checkpoint.restore(ruta) es registren els tensors i quan les variables es creen posteriorment es completen els valors des del checkpoint. Això facilita càrregues parcials o fluxos dinàmics en què alguns mòduls es creen segons la configuració en temps d'execució.

Seguiment d'objectes i tf.Module: tf.train.Checkpoint basa el seu mapatge en el graf d'objectes de Python. Utilitzar tf.Module o subclasses de tf.keras.Model garanteix que els submòduls i variables siguin rastrejats automàticament. Evitar crear variables fora del constructor o sense registrar-les pot ocasionar que no es desin o restaurin correctament. Per a objectes personalitzats es pot passar una referència explícita al Checkpoint.

Inspecció de checkpoints a baix nivell: Per auditar un checkpoint s'utilitzen utilitats com tf.train.list_variables(ruta) que llista noms i formes, i tf.train.load_checkpoint(ruta).get_tensor(nom) per obtenir tensors concrets. Aquestes funcions són útils per depurar incompatibilitats, comparar pesos entre checkpoints o migrar paràmetres entre models amb noms diferents.

Compatibilitat i bones pràctiques: Mantenir versions de TensorFlow compatibles entre desat i càrrega evita problemes. Preferir SavedModel per a desplegament, utilitzar CheckpointManager per a producció, versionar models i emmagatzemar metadades com hiperparàmetres. Documentar les dependències i utilitzar proves de restauració automàtiques en pipelines CI/CD millora la fiabilitat.

Casos d'ús avançats: Per a transfer learning i agents IA és freqüent carregar només subconjunts de pesos, reassignar capes o aplicar mapatges de nom. Per a entorns distribuïts és possible utilitzar estratègies de distribució i checkpoints agnòstics al dispositiu. Per a desplegament en serveis cloud aws i azure exportar SavedModel facilita la integració amb serveis administrats.

Monitorització i recuperació davant fallades: Integrar desats periòdics i gestionar checkpoints incrementals redueix la pèrdua de treball. Els CheckpointManager permeten rotar i netejar versions antigues mentre es conserva un historial per tornar a punts segurs. En producció convé emmagatzemar en magatzems duradors al núvol com S3 o Azure Blob Storage.

Inspecció ràpida amb eines: Complementa els mètodes natius amb scripts que llisten variables i generen informes llegibles per a equips de ML. Això és útil per a auditories de ciberseguretat i compliment en revisar quins paràmetres i capes existeixen en els artefactes de models.

Q2BSTUDIO i serveis relacionats: Q2BSTUDIO és una empresa de desenvolupament de programari i aplicacions a mida especialitzada en intel·ligència artificial, ciberseguretat i solucions cloud. Oferim desenvolupament de programari a mida i aplicacions a mida per a projectes d'IA per a empreses, integració d'agents IA, serveis d'intel·ligència de negoci i dashboards amb power bi. També proporcionem serveis cloud aws i azure, arquitectures segures i consultoria en intel·ligència artificial i ciberseguretat per protegir models i dades.

Com Q2BSTUDIO pot ajudar en el teu projecte TensorFlow: Podem dissenyar pipelines d'entrenament robustos que incloguin estratègies de desat i restauració automàtiques, gestionar checkpoints en serveis cloud aws i azure, implementar monitorització i recuperació davant fallades, i assegurar el desplegament mitjançant pràctiques de ciberseguretat. A més desenvolupem programari a mida i integracions amb Power BI per a reporting i serveis d'intel·ligència de negoci que acceleren la presa de decisions.

Conclusió i passos recomanats: Per a la majoria de projectes utilitzar SavedModel per a desplegament i tf.train.Checkpoint amb CheckpointManager per a entrenament i recuperació. Documentar i versionar checkpoints, provar restauracions en entorns nets i aprofitar la inspecció a baix nivell amb tf.train.list_variables. Si necessites ajuda professional per implantar aquestes pràctiques o desenvolupar solucions a mida contacta amb Q2BSTUDIO per a serveis de programari a mida, intel·ligència artificial, ciberseguretat, serveis cloud aws i azure, serveis d'intel·ligència de negoci, agents IA i power bi.

UNA PAUSA?

Juga una estona abans de marxar

ELS NOSTRES SERVEIS

Com et podem ajudar

Tens un projecte en ment?

Explica'ns la teva visió i la convertim en una solució de programari. Sigui quin sigui l'abast, fem realitat la teva idea.