TensorFlow 2.0, l'última versió de TensorFlow, combina les característiques de Keras i Eager Execution per proporcionar un marc d'aprenentatge profund més fàcil d'utilitzar i eficient. Keras és una API de xarxes neuronals d'alt nivell, mentre que Eager Execution permet una avaluació immediata de les operacions, fent que TensorFlow sigui més interactiu i intuïtiu. Aquesta combinació aporta diversos avantatges als desenvolupadors i investigadors, millorant l'experiència global de TensorFlow.
Una de les característiques clau de TensorFlow 2.0 és la integració de Keras com a API oficial d'alt nivell. Keras, desenvolupat originalment com una biblioteca separada, va guanyar popularitat a causa de la seva senzillesa i facilitat d'ús. Amb TensorFlow 2.0, Keras està estretament integrat a l'ecosistema TensorFlow, la qual cosa la converteix en l'API recomanada per a la majoria dels casos d'ús. Aquesta integració permet als usuaris aprofitar la simplicitat i la flexibilitat de Keras alhora que es beneficien de les àmplies capacitats de TensorFlow.
Un altre aspecte important de TensorFlow 2.0 és l'adopció d'Eager Execution com a mode d'operació predeterminat. Eager Execution permet als usuaris avaluar les operacions immediatament tal com se'ls crida, en lloc de definir un gràfic computacional i executar-lo més tard. Aquest mode d'execució dinàmic proporciona una experiència de programació més intuïtiva, permetent una depuració més fàcil i un prototipat més ràpid. A més, Eager Execution facilita l'ús de declaracions de flux de control com ara bucles i condicionals, que abans eren difícils d'implementar a TensorFlow.
En combinar Keras i Eager Execution, TensorFlow 2.0 simplifica el procés de creació, formació i desplegament de models d'aprenentatge profund. Els desenvolupadors poden utilitzar l'API Keras d'alt nivell per definir els seus models, aprofitant la seva sintaxi fàcil d'utilitzar i un ampli conjunt de capes i models preconstruïts. A continuació, poden integrar perfectament aquests models amb les operacions i funcionalitats de nivell inferior de TensorFlow. Aquesta integració permet una major flexibilitat i personalització, permetent als usuaris afinar els seus models i incorporar funcions avançades als seus fluxos de treball.
A més, TensorFlow 2.0 introdueix un concepte anomenat "tf.function", que permet als usuaris optimitzar el seu codi convertint automàticament les funcions de Python en gràfics de TensorFlow altament eficients. Aquesta característica aprofita els avantatges de Keras i Eager Execution, ja que els usuaris poden escriure el seu codi en un estil més Pythonic i imperatiu, alhora que es beneficien de les optimitzacions de rendiment proporcionades per l'execució de gràfics estàtics de TensorFlow.
Per il·lustrar com TensorFlow 2.0 combina les característiques de Keras i Eager Execution, considereu l'exemple següent:
python import tensorflow as tf from tensorflow import keras # Define a simple model using the Keras API model = keras.Sequential([ keras.layers.Dense(64, activation='relu', input_shape=(784,)), keras.layers.Dense(64, activation='relu'), keras.layers.Dense(10, activation='softmax') ]) # Enable Eager Execution tf.compat.v1.enable_eager_execution() # Create a sample input input_data = tf.random.normal((1, 784)) # Use the model to make predictions output = model(input_data) print(output)
En aquest exemple, primer importem TensorFlow i el mòdul Keras. Definim un model de xarxa neuronal senzill mitjançant l'API Keras Sequential, que consta de dues capes ocultes amb activació ReLU i una capa de sortida amb activació softmax. A continuació, habilitem Eager Execution mitjançant la funció `tf.compat.v1.enable_eager_execution()`.
A continuació, creem un tensor d'entrada de mostra mitjançant la funció normal aleatòria de TensorFlow. Finalment, passem l'entrada pel model per obtenir les prediccions de sortida. Com que estem utilitzant Eager Execution, les operacions s'executen immediatament i podem imprimir directament la sortida.
En executar aquest codi a TensorFlow 2.0, podem aprofitar la simplicitat i l'expressivitat de Keras per definir el nostre model, alhora que ens beneficiem de l'execució immediata i la naturalesa interactiva d'Eager Execution.
TensorFlow 2.0 combina les característiques de Keras i Eager Execution per proporcionar un marc d'aprenentatge profund potent i fàcil d'utilitzar. La integració de Keras com a API oficial d'alt nivell simplifica el procés de creació i formació de models, mentre que Eager Execution millora la interactivitat i la flexibilitat. Aquesta combinació permet als desenvolupadors i investigadors actualitzar de manera eficient el seu codi existent a TensorFlow 2.0 i aprofitar les seves capacitats avançades.
Altres preguntes i respostes recents sobre Fonaments de TensorFlow de l’EITC/AI/TFF:
- Com es pot utilitzar una capa d'incrustació per assignar automàticament eixos adequats per a una trama de representació de paraules com a vectors?
- Quin és l'objectiu de la agrupació màxima en una CNN?
- Com s'aplica el procés d'extracció de característiques en una xarxa neuronal convolucional (CNN) al reconeixement d'imatges?
- És necessari utilitzar una funció d'aprenentatge asíncrona per als models d'aprenentatge automàtic que s'executen a TensorFlow.js?
- Quin és el paràmetre del nombre màxim de paraules de l'API TensorFlow Keras Tokenizer?
- Es pot utilitzar l'API TensorFlow Keras Tokenizer per trobar les paraules més freqüents?
- Què és TOCO?
- Quina relació hi ha entre diverses èpoques en un model d'aprenentatge automàtic i la precisió de la predicció a partir de l'execució del model?
- L'API de pack neighbors a Neural Structured Learning de TensorFlow produeix un conjunt de dades d'entrenament augmentat basat en dades de gràfics naturals?
- Què és l'API pack neighbors en Neural Structured Learning de TensorFlow?
Vegeu més preguntes i respostes a EITC/AI/TFF TensorFlow Fundamentals