python train.py --problem=mnist --save_path=./mnist
Sinalizadores de linha de comando:
save_path
: se presente, o otimizador será salvo no caminho especificado sempre que o desempenho da avaliação for melhorado.num_epochs
: Número de épocas de treinamento.log_period
: Épocas antes do desempenho médio e do tempo serem relatados.evaluation_period
: Épocas antes da avaliação do otimizador.evaluation_epochs
: Número de épocas de avaliação.problem
: Problema para treinar. Consulte a seção Problemas abaixo.num_steps
: Número de etapas de otimização.unroll_length
: número de etapas de desenrolamento para o otimizador.learning_rate
: taxa de aprendizagem.second_derivatives
: Se true
, o otimizador tentará calcular as segundas derivadas por meio da função de perda especificada pelo problema. python evaluate.py --problem=mnist --optimizer=L2L --path=./mnist
Sinalizadores de linha de comando:
optimizer
: Adam
ou L2L
.path
: Caminho para o otimizador salvo, relevante apenas se estiver usando o otimizador L2L
.learning_rate
: taxa de aprendizagem, relevante apenas se estiver usando o otimizador Adam
.num_epochs
: Número de épocas de avaliação.seed
: Semente para geração de números aleatórios.problem
: Problema para avaliar. Consulte a seção Problemas abaixo.num_steps
: Número de etapas de otimização. Os scripts de treinamento e avaliação suportam os seguintes problemas (consulte util.py
para obter mais detalhes):
simple
: função quadrática de uma variável.simple-multi
: Função quadrática de duas variáveis, onde uma das variáveis é otimizada usando um otimizador aprendido e a outra usando Adam.quadratic
: função quadrática de dez variáveis em lote.mnist
: Classificação Mnist usando uma rede totalmente conectada de duas camadas.cifar
: Classificação Cifar10 usando uma rede neural convolucional.cifar-multi
: Classificação Cifar10 usando uma rede neural convolucional, onde são usados dois otimizadores aprendidos independentes. Um para otimizar parâmetros de camadas convolucionais e outro para parâmetros de camadas totalmente conectadas. Novos problemas podem ser implementados com muita facilidade. Você pode ver em train.py
que o método meta_minimize
da classe MetaOptimizer
recebe uma função que retorna a operação do TensorFlow que gera a função de perda que queremos minimizar (veja problems.py
para ver um exemplo).
É importante que todas as operações com efeitos colaterais do Python (por exemplo, criação de fila) sejam feitas fora da função passada para meta_minimize
. A função cifar10
em problems.py
é um bom exemplo de função de perda que usa filas do TensorFlow.
Isenção de responsabilidade: este não é um produto oficial do Google.