Guide du tuner cloud TensorFlow

C'est quoi ce module ?

tuner est un module qui fait partie du tensorflow_cloud plus large. Ce module est une implémentation d'une bibliothèque de réglage des hyperparamètres qui s'appuie sur KerasTuner et crée une intégration transparente avec Cloud AI Platform Vizier en tant que backend pour obtenir des suggestions d'hyperparamètres et exécuter des essais.

Le module tuner crée une intégration transparente avec Cloud AI Platform Vizier en tant que backend pour obtenir des suggestions d'hyperparamètres et exécuter des essais.

from tensorflow_cloud import CloudTuner
import kerastuner
import tensorflow as tf

(x, y), (val_x, val_y) = tf.keras.datasets.mnist.load_data()
x = x.astype('float32') / 255.
val_x = val_x.astype('float32') / 255.

def build_model(hp):
    model = tf.keras.Sequential()
    model.add(tf.keras.layers.Flatten(input_shape=(28, 28)))
    for _ in range(hp.get('num_layers')):
        model.add(tf.keras.layers.Dense(units=64, activation='relu'))
    model.add(tf.keras.layers.Dense(10, activation='softmax'))
    model.compile(
        optimizer=tf.keras.optimizers.Adam(lr=hp.get('learning_rate')),
        loss='sparse_categorical_crossentropy',
        metrics=['accuracy'])
    return model

# Configure the search space
HPS = kerastuner.engine.hyperparameters.HyperParameters()
HPS.Float('learning_rate', min_value=1e-4, max_value=1e-2, sampling='log')
HPS.Int('num_layers', 2, 10)

# Instantiate CloudTuner
hptuner = CloudTuner(
    build_model,
    project_id=PROJECT_ID,
    region=REGION,
    objective='accuracy',
    hyperparameters=HPS,
    max_trials=5,
    directory='tmp_dir/1')

# Execute our search for the optimization study
hptuner.search(x=x, y=y, epochs=10, validation_data=(val_x, val_y))

# Get a summary of the trials from this optimization study
hptuner.results_summary()

Consultez ce notebook exécutable pour un exemple plus complet.