File size: 1,639 Bytes
31e192b
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
import os
import re
import cv2
import numpy as np
import io
import sys
import numpy as np
import timm
import pyiqa
import torch
from transformers import DonutProcessor, VisionEncoderDecoderModel


device = "cuda" if torch.cuda.is_available() else "cpu"

licence_model = torch.hub.load(
    "ultralytics/yolov5", "custom", path="Licenseplate_model.pt", device="cpu", force_reload=True
)
licence_model.cpu()

detector = cv2.dnn.DetectionModel("res10_300x300_ssd_iter_140000_fp16.caffemodel", "deploy.prototxt")

processor = DonutProcessor.from_pretrained("naver-clova-ix/donut-base-finetuned-docvqa")
doc_qa_model = VisionEncoderDecoderModel.from_pretrained("naver-clova-ix/donut-base-finetuned-docvqa")

device = "cuda" if torch.cuda.is_available() else "cpu"
doc_qa_model.to(device)

model = torch.hub.load(
    "ultralytics/yolov5", "custom", path="best.pt", device="cpu", force_reload=True
)
model.cpu()

classes = [
"gas-distribution-meter",
"gas-distribution-piping",
"gas-distribution-regulator",
"gas-distribution-valve"
]

class_to_idx = {'gas-distribution-meter': 0,
 'gas-distribution-piping': 1,
 'gas-distribution-regulator': 2,
 'gas-distribution-valve': 3}

idx_to_classes = {v:k for k,v in class_to_idx.items()}
modelname = "resnet50d"
model_weights = "best_classifer_model.pt"
num_classes = len(classes)

classifier_model = timm.create_model(
        "resnet50d", pretrained=True, num_classes=num_classes, drop_path_rate=0.05
    )
classifier_model.load_state_dict(torch.load(model_weights, map_location=torch.device('cpu'))["model_state_dict"])

musiq_metric = pyiqa.create_metric('musiq-koniq', device=torch.device('cpu'))