对于Tensorflow中的优化器(Optimizer),目前已有的有以下:
- tf.train.GradientDescentOptimizer() 常用的梯度下降法
- tf.train.Adadeltatimizer()
- tf.train.Adagradoptimizer()
- tf.train.AdagradDAOptimizer()
- tf.train.MomentumOptimizer()
- tf.train.AdamOptimizer()
- tf.train.Ftrloptimizer()
- tf.train.ProximalGradientDescentOptimizer()
- tf.train.ProximalAdgradOptimizer()
- tf.train.Rmspropoptimizer()
不同的优化器有各自的特点,不能说谁好谁坏,有的收敛速度慢,有的收敛速度快。
此处以MNIST数据集识别分类为例进行不同优化器的测试
1、梯度下降法:tf.train.GradientDescentOptimizer()
import tensorflow as tf
from tensorflow.examples.tutorials.mnist import input_data
#载入数据集
mnist = input_data.read_data_sets("MNIST_data",one_hot=True)
#每个批次的大小
batch_size = 100
#计算一共需要多少个批次
n_batch = mnist.train.num_examples // batch_size
#定义两个占位符&#x