为了更加方便地进行深度学习开发,我们将一些常用的操作,比如常用的优化器函数,编写成模块,更加方便我们进行开发。
TenorTool:我设计的Tensorflow工具箱
1 Adam优化器
Adam_optimizer(loss,variables,starter_learning_rate = 0.0002,end_learning_rate = 0.0,start_decay_step = 100000,decay_steps = 100000,beta1 = 0.5,name='Adam',summary=True)
- loss: 计算的损失函数的值
- varivables:需要修改的模型变量名字(通常使用tf.get_collection来收集成列表)
- starter_learning_rate:刚开始训练时候的学习率
- end_learning_rate:最后的学习率
- start_decay_step:开始衰减学习率的步数
- decay_steps:在多少步以内线性衰减学习率
- beta1:Adam优化器中的beta1
- name:优化器名字
- summary:是否将学习率大小summary,便于在tensorboard中查看
注意:上面参数的具体含义是,优化器在最开始start_decay_step步中学习率为starter_learning_rate,而在接下来decay_steps步中学习率线性衰减为end_learning_rate。下面函数同样也是。
1 BGD(mini-BGD)
BGD_optimizer(loss,variables,starter_learning_rate = 0.0002,end_learning_rate = 0.0,start_decay_step = 100000,decay_steps = 100000,name='Batch-GD',summary=True)
- loss: 计算的损失函数的值
- varivables:需要修改的模型变量名字(通常使用tf.get_collection来收集成列表)
- starter_learning_rate:刚开始训练时候的学习率
- end_learning_rate:最后的学习率
- start_decay_step:开始衰减学习率的步数
- decay_steps:在多少步以内线性衰减学习率
- name:优化器名字
- summary:是否将学习率大小summary,便于在tensorboard中查看