小编Aer*_*yes的帖子

如何使用 Pytorch 中保存的模型来预测从未见过的图像的标签?

我一直在尝试使用我的预训练模型来预测从未见过的图像上的标签。我已经训练了一个 CNN 来使用 Kaggle 花卉识别数据集对 5 种类型的花卉进行分类。到目前为止,我已经将我的模型训练到 97% 的准确率并将模型保存到一个目录中。我现在想从这些类型中下载任何一朵花的图像,并能够使用这个预训练模型来预测标签。到目前为止,这是我的代码:(所有这些的代码审查将非常有帮助,因为这是我的第一个项目)

这是我训练的 CNN 模型:

from multiprocessing import freeze_support

import torch
from torch import nn
from torch.autograd import Variable
from torch.utils.data import DataLoader, Sampler
from torchvision import datasets
from torchvision.transforms import transforms
from torch.optim import Adam

import matplotlib.pyplot as plt
import numpy as np

# Hyperparameters.
num_epochs = 20
num_classes = 5
batch_size = 100
learning_rate = 0.001
num_of_workers = 5

DATA_PATH_TRAIN = 'C:\\Users\Aeryes\PycharmProjects\simplecnn\images\\train\\'
DATA_PATH_TEST = 'C:\\Users\Aeryes\PycharmProjects\simplecnn\images\\test\\'
MODEL_STORE_PATH = 'C:\\Users\Aeryes\PycharmProjects\simplecnn\model'

trans = transforms.Compose([ …
Run Code Online (Sandbox Code Playgroud)

python-3.x conv-neural-network pytorch

5
推荐指数
1
解决办法
2万
查看次数

如何将基于自定义图像的数据集加载到Pytorch中以用于CNN?

我在互联网上搜索了数小时,以找到解决我问题的好方法。以下是一些相关的背景信息,可帮助您回答我的问题。

这是我的第一个深度学习项目,我不知道自己在做什么。我知道理论但不了解实际要素。

我正在使用的数据可以在以下链接的kaggle上找到:(https://www.kaggle.com/alxmamaev/flowers-recognition

我的目标是使用CNN根据数据集中提供的图像对花朵进行分类。

到目前为止,这是我尝试用来加载数据的一些示例代码,这是我的最佳尝试,但是正如我提到的那样,我一无所知,Pytorch文档并没有提供我可以理解的很多帮助。(https://pastebin.com/fNLVW1UW

    # Loads the images for use with the CNN.
def load_images(image_size=32, batch_size=64, root="../images"):
    transform = transforms.Compose([
        transforms.Resize(32),
        transforms.ToTensor(),
        transforms.Normalize((0.5, 0.5, 0.5), (0.5, 0.5, 0.5))])

    train_set = datasets.ImageFolder(root=root, train=True, transform=transform)
    train_loader = torch.utils.data.DataLoader(train_set, batch_size=batch_size, shuffle=True, num_workers=2)

    return train_loader


# Defining variables for use with the CNN.
classes = ('daisy', 'dandelion', 'rose', 'sunflower', 'tulip')
train_loader_data = load_images()

# Training samples.
n_training_samples = 3394
train_sampler = SubsetRandomSampler(np.arange(n_training_samples, dtype=np.int64))

# Validation samples.
n_val_samples = 424 …
Run Code Online (Sandbox Code Playgroud)

machine-learning python-3.x conv-neural-network pytorch

3
推荐指数
1
解决办法
5898
查看次数

如何将Pytorch数据加载器转换为numpy数组以使用matplotlib显示图像数据?

我是Pytorch的新手。在开始使用CNN进行训练之前,我一直在尝试学习如何查看输入的图像。我很难将图像更改为可与matplotlib一起使用的形式。

到目前为止,我已经尝试过了:

from multiprocessing import freeze_support

import torch
from torch import nn
import torchvision
from torch.autograd import Variable
from torch.utils.data import DataLoader, Sampler
from torchvision import datasets
from torchvision.transforms import transforms
from torch.optim import Adam

import matplotlib.pyplot as plt
import numpy as np
import PIL

num_classes = 5
batch_size = 100
num_of_workers = 5

DATA_PATH_TRAIN = 'C:\\Users\Aeryes\PycharmProjects\simplecnn\images\\train'
DATA_PATH_TEST = 'C:\\Users\Aeryes\PycharmProjects\simplecnn\images\\test'

trans = transforms.Compose([
    transforms.RandomHorizontalFlip(),
    transforms.Resize(32),
    transforms.CenterCrop(32),
    transforms.ToPImage(),
    transforms.Normalize((0.5, 0.5, 0.5),(0.5, 0.5, 0.5))
    ])

train_dataset = datasets.ImageFolder(root=DATA_PATH_TRAIN, transform=trans)
train_loader = DataLoader(dataset=train_dataset, …
Run Code Online (Sandbox Code Playgroud)

python numpy machine-learning conv-neural-network pytorch

3
推荐指数
1
解决办法
2283
查看次数