小编Nah*_*zas的帖子

如何在pytorch中测试一张图像

我在 pytorch 中创建了我的模型并且工作得非常好,但是当我只想测试一个图像时,batch_size=1总是返回第二类(在本例中是一只狗)。

我尝试使用批次 > 1 进行测试,在所有情况下这都有效!

架构:

model = models.densenet121(pretrained=True)

for param in model.parameters():
param.requires_grad = False
from collections import OrderedDict
classifier = nn.Sequential(OrderedDict([
                          ('fc1', nn.Linear(1024, 500)),
                          ('relu', nn.ReLU()),
                          ('fc2', nn.Linear(500, 2)),
                          ('output', nn.LogSoftmax(dim=1))
                          ]))

model.classifier = classifier
Run Code Online (Sandbox Code Playgroud)

所以我的张量是 [batch, 3, 224, 224]

我尝试过:

resize
reshape
unsqueeze(0)
Run Code Online (Sandbox Code Playgroud)

当是一张图像时的响应始终是 [[0.4741, 0.5259]]

我的测试代码

from PIL import *
msize = 256
loader = transforms.Compose([transforms.Scale(imsize), transforms.ToTensor()])

def image_loader(image_name):
    """load image, returns cuda tensor"""
    image = Image.open(image_name)
    image = loader(image).float()
    image = …
Run Code Online (Sandbox Code Playgroud)

python machine-learning deep-learning pytorch

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

标签 统计

deep-learning ×1

machine-learning ×1

python ×1

pytorch ×1