Guida al sintonizzatore cloud di TensorFlow

Cos'è questo modulo?

tuner è un modulo che fa parte del più ampio tensorflow_cloud . Questo modulo è un'implementazione di una libreria per l'ottimizzazione degli iperparametri basata su KerasTuner e crea un'integrazione perfetta con Cloud AI Platform Vizier come backend per ottenere suggerimenti sugli iperparametri ed eseguire prove.

Il modulo tuner crea un'integrazione perfetta con Cloud AI Platform Vizier come backend per ottenere suggerimenti sugli iperparametri ed eseguire prove.

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()

Vedi questo notebook eseguibile per un esempio più completo.