google-deepmind/learning-to-learn
google-deepmind/learning-to-learn has 4,073 GitHub stars and 601 forks. GitHot measured 0 stars in 24 hours and +1 in 7 days. Last checked 2026-11-05 18:58 UTC. Last push 2021-06-29.
Learning to Learn in TensorFlow
Measured star growth
- in 24h
- 0
- in 7 days
- +1
- in 15 days
- Collecting history
- in 1 month
- Collecting history
Net star changes over overlapping periods, not daily totals. Missing measurements are left blank. Stars measure attention, not software quality.
README.md
OriginalLearning to Learn in TensorFlow
Dependencies
Training
python train.py --problem=mnist --save_path=./mnist
Command-line flags:
save_path: If present, the optimizer will be saved to the specified path every time the evaluation performance is improved.num_epochs: Number of training epochs.log_period: Epochs before mean performance and time is reported.evaluation_period: Epochs before the optimizer is evaluated.evaluation_epochs: Number of evaluation epochs.problem: Problem to train on. See Problems section below.num_steps: Number of optimization steps.unroll_length: Number of unroll steps for the optimizer.learning_rate: Learning rate.second_derivatives: Iftrue, the optimizer will try to compute second derivatives through the loss function specified by the problem.
Evaluation
python evaluate.py --problem=mnist --optimizer=L2L --path=./mnist
Command-line flags:
optimizer:AdamorL2L.path: Path to saved optimizer, only relevant if using theL2Loptimizer.learning_rate: Learning rate, only relevant if usingAdamoptimizer.num_epochs: Number of evaluation epochs.seed: Seed for random number generation.problem: Problem to evaluate on. See Problems section below.num_steps: Number of optimization steps.
Problems
The training and evaluation scripts support the following problems (see
util.py for more details):
simple: One-variable quadratic function.simple-multi: Two-variable quadratic function, where one of the variables is optimized using a learned optimizer and the other one using Adam.quadratic: Batched ten-variable quadratic function.mnist: Mnist classification using a two-layer fully connected network.cifar: Cifar10 classification using a convolutional neural network.cifar-multi: Cifar10 classification using a convolutional neural network, where two independent learned optimizers are used. One to optimize parameters from convolutional layers and the other one for parameters from fully connected layers.
New problems can be implemented very easily. You can see in train.py that
the meta_minimize method from the MetaOptimizer class is given a function
that returns the TensorFlow operation that generates the loss function we want
to minimize (see problems.py for an example).
It's important that all operations with Python side effects (e.g. queue
creation) must be done outside of the function passed to meta_minimize. The
cifar10 function in problems.py is a good example of a loss function that
uses TensorFlow queues.
Disclaimer: This is not an official Google product.
Explore related projects
tensorflow/tensorflow
An Open Source Machine Learning Framework for Everyone
201,314 starshuggingface/transformers
🤗 Transformers: the model-definition framework for state-of-the-art machine learning models in text, vision, audio, and multimodal models, for both inference and training.
168,559 starsAUTOMATIC1111/stable-diffusion-webui
Stable Diffusion web UI
165,250 starsComfy-Org/ComfyUI
The most powerful and modular diffusion model GUI, api and backend with a graph/nodes interface. The fastest local inference engine in the world.
145,137 stars