Sample Code
Sample Code
py
import tkinter
import matplotlib
import numpy as np
import json
import networkx as nx
import operator
import nltk
import re
import torch
import pickle
matplotlib.use( 'tkagg' )
main = tkinter.Tk()
main.geometry("1300x1200")
global filename
attributes = []
mytags = []
global existing_correct
global extension_correct
sorted_a7 = []
regex = re.compile(pattern)
image = Image.open(image_path)
image = transform(image).unsqueeze(0)
return image
def getUpper(word):
data = word[0:1]
data = data.upper();
data = data+word[1:len(word)]
return data
def RCNN(filename):
vocab = pickle.load(f)
# Build models
encoder = encoder.to(device)
decoder = decoder.to(device)
encoder.load_state_dict(torch.load('model/encoder-5-3000.pkl'))
decoder.load_state_dict(torch.load('model/decoder-5-3000.pkl'))
# Prepare an image
image_tensor = image.to(device)
feature = encoder(image_tensor)
sampled_ids = decoder.sample(feature)
sampled_caption = []
word = vocab.idx2word[word_id]
sampled_caption.append(word)
if word == '<end>':
break
sentence = sentence.replace('kite','umbrella')
sentence = sentence.replace('flying','with')
image = Image.open(filename)
plt.imshow(np.asarray(image))
if len(sentence) > 0:
length = len(sentence)-5
sentence = sentence[8:length]
print(sentence)
word = getUpper(word)
global filename
text.delete('1.0', END)
filename = filedialog.askopenfilename(initialdir="imgs")
text.delete('1.0', END)
text.insert(END,filename+" loaded\n");
def existing():
global existing_correct
attributes.clear()
mytags.clear()
G7 = nx.read_pajek('data/img7.net')
[annotators,tags] = nx.bipartite.sets(G7)
attributes.append(val)
text.delete('1.0', END)
text.insert(END,str(list(sorted(tags))))
existing_correct = 0
G7 = nx.DiGraph(G7)
[h7,a7] = nx.hits(G7)
text.delete('1.0', END)
text.insert(END,filename+" loaded\n");
for i in range(0,8):
data = sorted_a7[i];
if data[0] in tags:
existing_correct = existing_correct + 1
def extension():
global extension_correct
text.delete('1.0', END)
RCNN(filename)
temp = []
extension_correct = 0
for i in range(len(attributes)):
for l in syn.lemmas():
temp.append(l.name)
extension_correct = extension_correct + 1
if attributes[i] in mytags:
extension_correct = extension_correct + 1
def graph():
height = [existing_correct,extension_correct]
y_pos = np.arange(len(bars))
plt.bar(y_pos, height)
plt.xticks(y_pos, bars)
plt.show()
title.config(font=font)
title.config(height=3, width=120)
title.place(x=0,y=5)
text=Text(main,height=20,width=150)
scroll=Scrollbar(text)
text.configure(yscrollcommand=scroll.set)
text.place(x=50,y=120)
text.config(font=font1)
uploadButton.place(x=50,y=550)
uploadButton.config(font=font1)
modelButton = Button(main, text="Run Existing Technique & Get Annotate Rank", command=existing,
bg='#ffb3fe')
modelButton.place(x=250,y=550)
modelButton.config(font=font1)
runforest = Button(main, text="Run Extension Technique & Get Automatic Sentence & Annotation",
command=extension, bg='#ffb3fe')
runforest.place(x=50,y=600)
runforest.config(font=font1)
rundcnn.place(x=650,y=600)
rundcnn.config(font=font1)
main.config(bg='LightSalmon3')
main.mainloop()