मैं पूर्व-प्रशिक्षित एलेक्सनेट नेटवर्क का उपयोग कुछ पूर्व कार्यों को मान्य करने के लिए कर रहा हूं।

कोड इस प्रकार है:

import os
import torch

import torchvision
import torchvision.datasets as datasets
import torchvision.models as models
import torchvision.transforms as transforms


model = torch.hub.load('pytorch/vision:v0.6.0', 'alexnet', pretrained=True)
model.eval()

batchsize = 50000
workers = 1
dataset_path = 'data/imagenet_2012/'
normalize = transforms.Normalize(mean=[0.485, 0.456, 0.406], std=[0.229, 0.224, 0.225])
val_data = datasets.ImageFolder(root=os.path.join(dataset_path, 'val'), transform=transforms.Compose( [transforms.Resize(256), transforms.CenterCrop(224), transforms.ToTensor(), normalize,]))
val_loader = torch.utils.data.DataLoader(val_data, batch_size=batchsize, num_workers=workers)


batch = next(iter(val_loader))
images, labels = batch

with torch.no_grad():
    output = model(images)


for i in output:
    out_soft = torch.nn.functional.softmax(i, dim=0)
    print(int(torch.argmax(out_soft)))

जब मैं इसे निष्पादित करता हूं और ILSVRC2012_validation_ground_truth.txt से तुलना करता हूं, तो मुझे केवल 5% की शीर्ष -1 सटीकता मिलती है।

मुझसे यहां क्या गलत हो रहा है?

धन्यवाद।

1
algoProg 10 सितंबर 2020, 21:35

1 उत्तर

सबसे बढ़िया उत्तर

तो, Pytorch/Caffe की अपनी "जमीनी सच्चाई" फाइलें हैं, जिन्हें यहां से प्राप्त किया जा सकता है: https://gist.github.com/ksimonyan/fd8800eeb36e276cd6f9#note

मैंने ऑर्डर को सत्यापित करने के लिए उपरोक्त लिंक पर प्रदान की गई टैर फ़ाइल में val.txt फ़ाइल के विरुद्ध इमेजनेट डेटासेट के सत्यापन फ़ोल्डर में छवियों का मैन्युअल रूप से परीक्षण किया।

अद्यतन: लिंक में ज़िप फ़ाइल में जमीनी सच्चाई के आधार पर नई सत्यापन सटीकता:

टॉप_1 = 56.522%

Top_5 = 79.066%

0
algoProg 15 सितंबर 2020, 17:31