pytorch有一些基础函数需要了解,在本文章记录一下。
-
torch.utils.data.DataLoader
DataLoader是导入图片的操作,里面有一些参数,比如batch_size和shuffle等,默认load进去的图片类型是PIL.Image.open的类型 -
torchvision.transforms
torchvision.transforms里面的操作是对导入的图片做处理,比如可以随机取(50, 50)这样的窗框大小,或者随机翻转,或者去中间的(50, 50)的窗框大小部分等等,但是里面必须要用的是transforms.ToTensor(),这 -
torchvision.datasets
torchvision.datasets里面有很多数据类型,里面有官网处理好的数据,比如我们要使用的MNIST数据集,可以通过torchvision.datasets.MNIST()来得到 -
torh.cuda.is_available()
判断你的数据是否能在GPU上处理,如果能会返回Ture,此时,用model = model.cuda()或者model.cuda()就可以载入。
注意,.cuda()是一个函数,用在任何位置都表示载入GPU里计算 -
.CrossEntropyLoss()
一种十分常用的loss计算方法,交叉熵 -
transforms.ToTensor()
可以将PIL的图片类型转换成tensor,这样pytorch才可以对其做处理 -
.optimizer.zero_grad()
将梯度初始化为零
根据pytorch中的backward()函数的计算,当网络参量进行反馈时,梯度是被积累的而不是被替换掉;但是在每一个batch时毫无疑问并不需要将两个batch的梯度混合起来累积,因此这里就需要每个batch设置一遍zero_grad 了