File size: 1,826 Bytes
632dae3
 
 
 
a5fe81c
 
632dae3
a5fe81c
1fefb78
a5fe81c
632dae3
 
 
 
 
 
a5fe81c
632dae3
 
 
 
a5fe81c
632dae3
 
 
 
 
 
a5fe81c
632dae3
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
703bc1b
632dae3
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
57
import os
import pandas as pd
import numpy as np
import torch
from transformers import DPTFeatureExtractor, DPTForSemanticSegmentation
from PIL import Image
from torch import nn
import requests
import streamlit as st

img_path = None
st.title('Semantic Segmentation using Beit')
file_upload = st.file_uploader('Raw Input Image')
image_path = st.selectbox(
     'Choose any one image for inference',
     ('Select image', 'image1.jpg', 'image2.jpg', 'image3.jpg'))

if file_upload is None:
	raw_image = image_path
else:
	raw_image = file_upload

if raw_image != 'Select image':
	df = pd.read_csv('class_dict_seg.csv')
	classes = df['name']
	palette = df[[' r', ' g', ' b']].values
	id2label = classes.to_dict()
	label2id = {v: k for k, v in id2label.items()}

	image = Image.open(raw_image)
	image = np.asarray(image)
	
	with st.spinner('Loading Model...'):
    feature_extractor = DPTFeatureExtractor.from_pretrained("Intel/dpt-large-ade")
		device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
    model = DPTForSemanticSegmentation.from_pretrained("Intel/dpt-large-ade",ignore_mismatched_sizes=True,num_labels=len(id2label), id2label=id2label, label2id=label2id,reshape_last_stage=True)
		model = model.to(device)
		model.eval()
	

st.success("Success")		

#url = "http://images.cocodataset.org/val2017/000000039769.jpg"
#image = Image.open(requests.get(url, stream=True).raw)
#st.success("Image open: Success")

#feature_extractor = DPTFeatureExtractor.from_pretrained("Intel/dpt-large-ade")
#model = DPTForSemanticSegmentation.from_pretrained("Intel/dpt-large-ade")
#st.success("Load model: Success")

#inputs = feature_extractor(images=image, return_tensors="pt")
#st.success("Feature extraction: Success")

#outputs = model(**inputs)
#logits = outputs.logits
#st.text(str(logits))
#st.success("Success")