pytorch学习笔记__TRAINING A CLASSIFIER

pytorch学习笔记__TRAINING A CLASSIFIER

https://pytorch.org/tutorials/beginner/blitz/cifar10_tutorial.html

主要是把官网模型训练精度提上去练练手。

2018年11月2号

官网模型跑通了,但是精度很低。
pytorch学习笔记__TRAINING A CLASSIFIER

然后低级的增加训练次数,五次,十次。
pytorch学习笔记__TRAINING A CLASSIFIER
看起来似乎提高了一些,但是误差已经趋于稳定了,这肯定不行,那么鬼大的训练误差。

首先更改了官网网络模型

结果
pytorch学习笔记__TRAINING A CLASSIFIER

然后尝试了两种方法改变学习率
1、使学习率呈指数衰减
官方代码

def adjust_learning_rate(optimizer, decay_rate=.9):
    for param_group in optimizer.param_groups:
        param_group['lr'] = param_group['lr'] * decay_rate

结果
pytorch学习笔记__TRAINING A CLASSIFIER
看起来似乎又好了许多

2、它大概在第七轮的时候就趋于稳定了,所以设定1-6轮的学习率为0.001,七轮以后的学习率为0.0001

代码

def adjust_learning_rate(optimizer, epoch):
	if epoch<7:
		lr = 0.001
	else:
		lr = 0.0001
		
    for param_group in optimizer.param_groups:
        param_group['lr'] = lr

结果
pytorch学习笔记__TRAINING A CLASSIFIER
似乎也不错。

2018年11月9号

尝试了将batchsize改成了128,学习率改成了0.032。
结果基本没有变化。
pytorch学习笔记__TRAINING A CLASSIFIER
骚操作告一段落。