
Python-pytorch
吃葡萄不吐葡萄皮~
这个作者很懒,什么都没留下…
展开
-
使用GPU训练模型
方法一 在模型、损失函数和数据中使用cuda model1 = model() if torch.cuda.is_available(): model1 = model1.cuda() bloss = nn.CrossEntropyLoss() if torch.cuda.is_available(): bloss = bloss.cuda() for data in train_dataloader: imgs, targets = data if to原创 2022-01-27 23:19:28 · 2231 阅读 · 0 评论 -
完整的模型训练讨论
模型训练套路——以cifar10为例 1.加载数据集 dataset_transform_compose = transforms.Compose([transforms.ToTensor()]) train_set = torchvision.datasets.CIFAR10(root="./dataset", train=True, transform=dataset_transform_compose, download=True) test_set = torchvision.datasets.C原创 2022-01-27 22:56:12 · 438 阅读 · 0 评论 -
Pytorch——模型的保存与加载
1. 方法一(保存模型及参数) vgg16_false = torchvision.models.vgg16(pretrained=False)##加载初始模型,模型参数还没有训练 torch.save(vgg16_false, "method1.pth") torch.load("method1.pth") 2. 方法二(仅保存模型参数) torch.save(vgg16_false.state_dict(), "method2.pth") torch.load("method2.pth") 注:当原创 2022-01-25 01:51:22 · 1302 阅读 · 0 评论 -
Pytorch——加载并修改已有模型
1. 加载已有模型——以VGG为例 vgg16_true = torchvision.models.vgg16(pretrained=True)##加载参数已经训练好的模型 vgg16_false = torchvision.models.vgg16(pretrained=False)##加载初始模型,模型参数还没有训练 2 . 修改模型 2.1 在模型的基础上增加网络结构 vgg16_false.add_module("linear", nn.Linear(1000, 10)) print(vgg16_原创 2022-01-25 01:36:00 · 712 阅读 · 0 评论 -
Pytorch——优化器
优化器的使用 1.创建优化器 2.循环内梯度清零 3.计算梯度 4.根据梯度优化loss 例子: dataset_transform_compose = transforms.Compose([transforms.ToTensor()]) train_set = torchvision.datasets.CIFAR10(root="./dataset", train=True, transform=dataset_transform_compose, download=True) test_set = t原创 2022-01-25 01:01:51 · 197 阅读 · 0 评论 -
Pytorch——损失函数
1.常见损失函数 1.1 L1loss 例子: x = torch.Tensor([1, 2, 3]) y = torch.Tensor([1, 0, 6]) L1loss = nn.L1Loss() loss1 = L1loss(x, y) print(loss1) 输出: tensor(1.6667) 1.2 MSELoss 例子: x = torch.Tensor([1, 2, 3]) y = torch.Tensor([1, 0, 6]) mseloss = nn.MSELoss() los原创 2022-01-25 00:40:41 · 407 阅读 · 0 评论 -
Pytorch——深度神经网络
1.卷积层(以Conv2d为例) 注:输入的参数包括batchsize,通道数,图像宽度和高度,对于一般的图像通常只有宽度和高度两个参数,所以可以使用reshape函数改变尺寸。 例1:以张量为例 input = torch.Tensor([[1, 2, 3], [4, 5, 6], [7, 8, 9] ]) print(input.shape) input = torch.原创 2022-01-24 23:59:31 · 1197 阅读 · 0 评论 -
Pytorch数据集使用
写在最前:多看pytorch官方文档 1.官方文档中给出了数据的参数及使用方法 2.实战 dataset_transform_compose = transforms.Compose([transforms.ToTensor()]) #下载数据集 train_set = torchvision.datasets.CIFAR10(root="./dataset", train=True, transform=dataset_transform_compose, download=True) test_set原创 2022-01-24 02:20:49 · 901 阅读 · 0 评论 -
Transform使用方法
1.整体框架 例子:(以transforms.ToTensor()为例) from torchvision import transforms image_path = "IMG_1098.JPG" image = Image.open(image_path) trans_to_tensor = transforms.ToTensor() image_tensor = trans_to_tensor(image) print(image_tensor) 2.常见的transform (1)Normal原创 2022-01-24 00:03:52 · 2754 阅读 · 0 评论