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.