vit-pytorch icon indicating copy to clipboard operation
vit-pytorch copied to clipboard

How can I evaluate pre-trained model?

Open vietvo89 opened this issue 4 years ago • 0 comments

Hello guys

How can I evaluate pre-trained model? I am trying to follow Cat and Dog notebook to load "pre-trained" model as below

import torch
from vit_pytorch.efficient import ViT
from linformer import Linformer

efficient_transformer = Linformer(
    dim=128,
    seq_len=49+1,  # 7x7 patches + 1 cls-token
    depth=12,
    heads=8,
    k=64
)

# load model
model = ViT(
    dim=128,
    image_size=224,
    patch_size=32,
    num_classes=2,
    transformer=efficient_transformer,
    channels=3,
).cuda()
model.eval()
...
testiter = iter(testloader)
x_test, y_test = testiter.next()
output = model(x_test.cuda())

I also followed another code in readme to load "pre-trained" model as below

import torch
from vit_pytorch import ViT

v = ViT(
    image_size = 224,
    patch_size = 32,
    num_classes = 1000,
    dim = 1024,
    depth = 6,
    heads = 16,
    mlp_dim = 2048,
    dropout = 0.1,
    emb_dropout = 0.1
).cuda()
model.eval()
...
testiter = iter(testloader)
x_test, y_test = testiter.next()
output = model(x_test.cuda())

Data (testloader) I used for this is ImageNet2012, size = 224x224 But it seems it does not work and totally fails to classify. Do you have any idea?

Thanks

vietvo89 avatar May 12 '21 05:05 vietvo89