常见的Transforms
使用不同的方法转换输入输出。
1 | from torchvision import tranforms |
按住ctrl键可以打开transforms的源码,然后可以在pycharm的左边structure处看见结构,里面包含了所有的类。注意是类,要构造一个对象。
常用的一些类包括:
- Compose
- ToTensor
- Normalize
- Resize
常见的层
- convolution layer:能够考虑空间信息
- maxpool layer:类似于马赛克,训练的数据量大大的减小
- dropout layer:随机地把一些元素变成零,主要为了防止过拟合
- non linear layer:非线性越多,才能训练出符合各种曲线的函数
- flatten layer:该层用于将数据平铺,之后可以输入给全连接层,平铺时batch_size并不会改变
- linear layer:全连接层,两个全连接层可以拟合任何函数,在输入时需要将各个维度展开
- batch normalization layer:批归一化,能够加快收敛速度,但是不能提升模型精度
GPU训练
先指定device:
1 | device = torch.device('cuda') |
然后需要迁移模型、损失函数、样本
1 | model.to(device) |