|
import spaces |
|
import pyiqa |
|
import torch |
|
|
|
class IQA: |
|
def __init__(self, model_name="nima"): |
|
device = torch.device("cuda") if torch.cuda.is_available() else torch.device("cpu") |
|
self.model = pyiqa.create_metric(model_name, device=device) |
|
print(self.model) |
|
def __call__(self, image_path): |
|
return self.model(image_path) |
|
|
|
if __name__ == "__main__": |
|
import requests |
|
from PIL import Image |
|
import glob |
|
image_files = glob.glob("samples/*") |
|
iqa_metric = IQA(model_name="nima-vgg16-ava") |
|
for image_file in image_files: |
|
print(image_file) |
|
image = Image.open(image_file) |
|
score = iqa_metric(image) |
|
print(score) |