python train.py --problem=mnist --save_path=./mnist
Indicateurs de ligne de commande :
save_path
: S'il est présent, l'optimiseur sera enregistré dans le chemin spécifié à chaque fois que les performances d'évaluation sont améliorées.num_epochs
: Nombre d'époques d'entraînement.log_period
: Les époques avant que les performances moyennes et le temps ne soient signalés.evaluation_period
: Époques avant l’évaluation de l’optimiseur.evaluation_epochs
: Nombre d'époques d'évaluation.problem
: Problème sur lequel s'entraîner. Voir la section Problèmes ci-dessous.num_steps
: Nombre d'étapes d'optimisation.unroll_length
: Nombre d'étapes de déroulement pour l'optimiseur.learning_rate
: Taux d’apprentissage.second_derivatives
: Si true
, l'optimiseur tentera de calculer les dérivées secondes via la fonction de perte spécifiée par le problème. python evaluate.py --problem=mnist --optimizer=L2L --path=./mnist
Indicateurs de ligne de commande :
optimizer
: Adam
ou L2L
.path
: Chemin vers l'optimiseur enregistré, pertinent uniquement si vous utilisez l'optimiseur L2L
.learning_rate
: Taux d'apprentissage, pertinent uniquement si vous utilisez l'optimiseur Adam
.num_epochs
: Nombre d'époques d'évaluation.seed
: Seed pour la génération de nombres aléatoires.problem
: problème à évaluer. Voir la section Problèmes ci-dessous.num_steps
: Nombre d'étapes d'optimisation. Les scripts de formation et d'évaluation prennent en charge les problèmes suivants (voir util.py
pour plus de détails) :
simple
: Fonction quadratique à une variable.simple-multi
: Fonction quadratique à deux variables, où l'une des variables est optimisée à l'aide d'un optimiseur appris et l'autre à l'aide d'Adam.quadratic
: fonction quadratique par lots à dix variables.mnist
: classification Mnist utilisant un réseau à deux couches entièrement connecté.cifar
: Classification Cifar10 utilisant un réseau de neurones convolutifs.cifar-multi
: classification Cifar10 utilisant un réseau de neurones convolutifs, où deux optimiseurs appris indépendants sont utilisés. L’un pour optimiser les paramètres des couches convolutives et l’autre pour les paramètres des couches entièrement connectées. De nouveaux problèmes peuvent être mis en œuvre très facilement. Vous pouvez voir dans train.py
que la méthode meta_minimize
de la classe MetaOptimizer
reçoit une fonction qui renvoie l'opération TensorFlow qui génère la fonction de perte que nous voulons minimiser (voir problems.py
pour un exemple).
Il est important que toutes les opérations avec des effets secondaires Python (par exemple la création de file d'attente) soient effectuées en dehors de la fonction passée à meta_minimize
. La fonction cifar10
dans problems.py
est un bon exemple de fonction de perte qui utilise les files d'attente TensorFlow.
Avertissement : il ne s'agit pas d'un produit Google officiel.