TensorFlow 2.0 és un marc de codi obert popular i àmpliament utilitzat per a l'aprenentatge automàtic i l'aprenentatge profund desenvolupat per Google. Ofereix una sèrie de funcions clau que la fan fàcil d'utilitzar i potent per a diverses aplicacions en el camp de la intel·ligència artificial. En aquesta resposta, explorarem amb detall aquestes característiques clau, destacant-ne el valor didàctic i aportant coneixements fets que avalen la seva importància.
1. Eager Execution: una de les millores principals de TensorFlow 2.0 és l'adopció de l'execució ansiosa com a mode predeterminat. L'execució ràpida permet una avaluació immediata de les operacions, facilitant la depuració i la comprensió del comportament del codi. Elimina la necessitat d'una sessió separada i simplifica el model de programació general. Aquesta funció és especialment valuosa per als principiants, ja que ofereix una experiència més intuïtiva i interactiva mentre escriuen models d'aprenentatge automàtic.
Exemple:
python import tensorflow as tf # Enable eager execution tf.compat.v1.enable_eager_execution() # Define a simple computation x = tf.constant([1, 2, 3]) y = tf.constant([4, 5, 6]) z = tf.multiply(x, y) print(z)
sortida:
tf.Tensor([ 4 10 18], shape=(3,), dtype=int32)
2. Integració de Keras: TensorFlow 2.0 s'integra estretament amb Keras, una API de xarxes neuronals d'alt nivell. Keras ofereix una interfície modular i fàcil d'utilitzar per crear models d'aprenentatge profund. Amb TensorFlow 2.0, Keras és ara l'API oficial d'alt nivell per a TensorFlow, que ofereix una manera simplificada i coherent de definir, entrenar i desplegar models. Aquesta integració millora la facilitat d'ús i permet una ràpida creació de prototips i experimentació.
Exemple:
python import tensorflow as tf from tensorflow.keras import layers # Define a simple sequential model using Keras model = tf.keras.Sequential() model.add(layers.Dense(64, activation='relu', input_shape=(784,))) model.add(layers.Dense(10, activation='softmax')) # Compile the model model.compile(optimizer=tf.keras.optimizers.Adam(), loss=tf.keras.losses.SparseCategoricalCrossentropy(), metrics=['accuracy']) # Train the model model.fit(x_train, y_train, epochs=10, validation_data=(x_val, y_val))
3. API simplificada: TensorFlow 2.0 proporciona una API simplificada que redueix la complexitat i millora la llegibilitat. L'API s'ha redissenyat per ser més intuïtiu i coherent, cosa que fa que sigui més fàcil d'aprendre i utilitzar. La nova API elimina la necessitat de dependències de control explícites i col·leccions de gràfics, simplificant el codi i reduint el boilerplate. Aquesta simplificació és beneficiosa per als principiants, ja que redueix la corba d'aprenentatge i permet un desenvolupament més ràpid de models d'aprenentatge automàtic.
Exemple:
python import tensorflow as tf # Define a simple computation using the simplified API x = tf.constant([1, 2, 3]) y = tf.constant([4, 5, 6]) z = tf.multiply(x, y) print(z)
sortida:
tf.Tensor([ 4 10 18], shape=(3,), dtype=int32)
4. Implementació de models millorada: TensorFlow 2.0 introdueix TensorFlow SavedModel, un format de serialització per als models TensorFlow. SavedModel facilita desar, carregar i desplegar models a diferents plataformes i entorns. Encapsula l'arquitectura, les variables i el gràfic de càlcul del model, cosa que permet compartir i servir fàcilment el model. Aquesta característica és valuosa tant per a principiants com per a professionals experimentats, ja que simplifica el procés de desplegament de models en entorns de producció.
Exemple:
python import tensorflow as tf # Save the model model.save('my_model') # Load the model loaded_model = tf.keras.models.load_model('my_model') # Use the loaded model for inference result = loaded_model.predict(input_data)
5. Conjunts de dades de TensorFlow: TensorFlow 2.0 proporciona el mòdul de conjunts de dades de TensorFlow (TFDS), que simplifica el procés de càrrega i preprocessament de conjunts de dades. TFDS ofereix una col·lecció de conjunts de dades d'ús habitual, juntament amb API estandarditzades per accedir-hi i manipular-los. Aquesta característica és especialment útil per als principiants, ja que elimina la necessitat de preprocessament manual de dades i permet experimentar ràpidament amb diferents conjunts de dades.
Exemple:
python import tensorflow as tf import tensorflow_datasets as tfds # Load a dataset from TensorFlow Datasets dataset = tfds.load('mnist', split='train', shuffle_files=True) # Preprocess the dataset dataset = dataset.map(lambda x: (tf.cast(x['image'], tf.float32)/255.0, x['label'])) dataset = dataset.batch(32) # Train a model using the preprocessed dataset model.fit(dataset, epochs=10)
TensorFlow 2.0 ofereix diverses funcions clau que el converteixen en un marc potent i fàcil d'utilitzar per a l'aprenentatge automàtic. L'adopció de l'execució entusiasta, la integració amb Keras, l'API simplificada, el desplegament de models millorat i els conjunts de dades TensorFlow proporcionen un entorn més intuïtiu i eficient per desenvolupar models d'aprenentatge automàtic. Aquestes funcions milloren el valor didàctic de TensorFlow 2.0, fent-lo accessible per als principiants i alhora satisfer les necessitats dels professionals experimentats.
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