diff --git a/.gitattributes b/.gitattributes
index a6344aac8c09253b3b630fb776ae94478aa0275b..72279b3eaa9d6f2f18fa3160fc8fe035257abdd2 100644
--- a/.gitattributes
+++ b/.gitattributes
@@ -33,3 +33,4 @@ saved_model/**/* filter=lfs diff=lfs merge=lfs -text
*.zip filter=lfs diff=lfs merge=lfs -text
*.zst filter=lfs diff=lfs merge=lfs -text
*tfevents* filter=lfs diff=lfs merge=lfs -text
+images/intro.jpg filter=lfs diff=lfs merge=lfs -text
diff --git a/README.md b/README.md
index 0b7e01f5fef742636871abdad24818631edced2f..62faa56023f304c020874b21b0e962c29a89b80f 100644
--- a/README.md
+++ b/README.md
@@ -1,10 +1,10 @@
---
-title: HumanStudy Dogs
-emoji: 🏢
-colorFrom: pink
-colorTo: yellow
+title: PCNN-StanfordDogs-HumanStudy
+emoji: 🐕
+colorFrom: green
+colorTo: red
sdk: gradio
-sdk_version: 4.31.1
+sdk_version: 4.29.0
app_file: app.py
pinned: false
---
diff --git a/app.py b/app.py
new file mode 100644
index 0000000000000000000000000000000000000000..1c9afbc39b421c8e172b368b0d2729af4ab53dde
--- /dev/null
+++ b/app.py
@@ -0,0 +1,426 @@
+import json
+import gradio as gr
+import numpy as np
+import time
+import csv
+import json
+import os
+import random
+import string
+import sys
+import time
+import gradio as gr
+import numpy as np
+import pandas as pd
+from huggingface_hub import (
+ CommitScheduler,
+ HfApi,
+ InferenceClient,
+ login,
+ snapshot_download,
+ hf_hub_download,
+)
+from PIL import Image
+from utils import string_to_image
+import matplotlib.backends.backend_agg as agg
+import math
+from pathlib import Path
+import zipfile
+import gdown
+
+random.seed(int(time.time()))
+np.random.seed(int(time.time()))
+csv.field_size_limit(sys.maxsize)
+
+
+###############################################################################################################
+session_token = os.environ.get("SessionToken")
+login(token=session_token, add_to_git_credential=True)
+
+NUMBER_OF_IMAGES = 30
+intro_screen = Image.open("./images/intro.jpg")
+
+
+meta_top1 = json.load(open("./dogs/top1/metadata.json"))
+meta_topk = json.load(open("./dogs/topk/metadata.json"))
+
+all_data = {}
+all_data["top1"] = meta_top1
+all_data["topk"] = meta_topk
+
+
+# for data in all_data["top1"] and all_data["topk"] add a key to show which type they are
+for k in all_data["top1"].keys():
+ all_data["top1"][k]["type"] = "top1"
+
+for k in all_data["topk"].keys():
+ all_data["topk"][k]["type"] = "topk"
+
+
+REPO_URL = "xairesearch2023-advnet/HumanStudyData-Dogs"
+JSON_DATASET_DIR = Path("responses")
+
+################################################################################################################
+
+scheduler = CommitScheduler(
+ repo_id=REPO_URL,
+ repo_type="dataset",
+ folder_path=JSON_DATASET_DIR,
+ path_in_repo="./data",
+ every=1,
+ private=True,
+)
+
+
+if not JSON_DATASET_DIR.exists():
+ JSON_DATASET_DIR.mkdir()
+
+
+def generate_data(type_of_nns, seed):
+ global NUMBER_OF_IMAGES
+ random.seed(int(seed)) # Set the random seed
+ keys = list(all_data[type_of_nns].keys())
+ sample_data = random.sample(keys, NUMBER_OF_IMAGES)
+
+ data = []
+ for k in sample_data:
+ new_datapoint = all_data[type_of_nns][k]
+ new_datapoint["image-path"] = f"./dogs/{type_of_nns}/{k}.jpeg"
+ data.append(new_datapoint)
+
+ return data
+
+
+def load_sample(data, current_index):
+ current_datapoint = data[current_index]
+
+ image_path = current_datapoint["image-path"]
+ image = Image.open(image_path)
+ top_1 = current_datapoint["top1-label"]
+ top_1_score = current_datapoint["top1-score"]
+
+ q_template = (
+ "
Sam guessed the Input image is "
+ "{} "
+ "with {}% "
+ "confidence. Is this dog a {}?"
+ "
"
+ )
+
+ q_template = (
+ "Sam guessed the Input image is "
+ "{} "
+ "with {}% "
+ "confidence.
Is this dog a {}?"
+ "
"
+ )
+
+ top_1_score = top_1_score * 100
+ top_1_score = round(top_1_score, 2)
+
+ rounded_up_score = math.ceil(top_1_score)
+ rounded_up_score = int(rounded_up_score)
+ question = q_template.format(
+ top_1.replace("_", " "), str(rounded_up_score), top_1.replace("_", " ")
+ )
+
+ accept_reject = current_datapoint["Accept/Reject"]
+
+ return image, top_1, rounded_up_score, question, accept_reject
+
+
+def preprocessing(data, type_of_nns, current_index, history, username, seed):
+ print("preprocessing")
+ data = generate_data(type_of_nns, seed) # Pass the seed here
+ print("data generated")
+
+ # set random seed to time
+ random.seed(int(time.time()))
+ # append a random text to the username
+ random_text = "".join(
+ random.choice(string.ascii_lowercase + string.digits) for _ in range(8)
+ )
+
+ if username == "":
+ username = "username"
+
+ username = f"{username}-{random_text}"
+
+ current_index = 0
+ print("loading sample ....")
+ qimage, top_1, top_1_score, question, accept_reject = load_sample(
+ data, current_index
+ )
+
+ return (
+ qimage,
+ top_1,
+ top_1_score,
+ question,
+ accept_reject,
+ current_index,
+ history,
+ data,
+ username,
+ )
+
+
+def update_app(decision, data, current_index, history, username):
+ global NUMBER_OF_IMAGES
+ if current_index == -1:
+ gr.Error("Please Enter your username and load samples")
+
+ fake_plot = string_to_image("Please Enter your username and load samples")
+ canvas = agg.FigureCanvasAgg(fake_plot)
+ canvas.draw()
+ empty_image = Image.frombytes(
+ "RGBA", canvas.get_width_height(), canvas.tostring_argb()
+ )
+
+ return (
+ empty_image,
+ "",
+ "",
+ "",
+ "",
+ current_index,
+ history,
+ data,
+ 0,
+ gr.update(interactive=False),
+ gr.update(interactive=False),
+ "",
+ )
+
+ # Done, let's save and upload
+ if current_index == NUMBER_OF_IMAGES - 1:
+ time_stamp = int(time.time())
+
+ # Add decision to the history
+ current_dicitonary = data[current_index].copy()
+ current_dicitonary["user_decision"] = decision
+ current_dicitonary["user_id"] = username
+ accept_reject_string = "Accept" if decision == "YES" else "Reject"
+ current_dicitonary["is_user_correct"] = (
+ current_dicitonary["Accept/Reject"] == accept_reject_string
+ )
+ history.append(current_dicitonary)
+
+ # convert to percentage
+ final_decision_data = {
+ "user_id": username,
+ "time": time_stamp,
+ "history": history,
+ }
+
+ # upload the decision to the server
+ temp_filename = f"./responses/results_{username}.json"
+ # convert decision_dict to json and save it on the disk
+ with open(temp_filename, "w") as f:
+ json.dump(final_decision_data, f)
+
+ fake_plot = string_to_image("Thank you for your time!")
+ canvas = agg.FigureCanvasAgg(fake_plot)
+ canvas.draw()
+ empty_image = Image.frombytes(
+ "RGBA", canvas.get_width_height(), canvas.tostring_argb()
+ )
+
+ # TODO, Call the accuracy and show it to the user
+ # calcualte the mean of is_user_correct
+ all_is_user_correct = [d["is_user_correct"] for d in history]
+ accuracy = np.mean(all_is_user_correct) * 100
+ accuracy = round(accuracy, 2)
+
+ return (
+ empty_image,
+ "",
+ "",
+ "",
+ "",
+ current_index,
+ history,
+ data,
+ current_index + 1,
+ gr.update(interactive=False),
+ gr.update(interactive=False),
+ f"User Accuracy: {accuracy}",
+ )
+
+ if current_index >= 0 and current_index < NUMBER_OF_IMAGES - 1:
+ current_dicitonary = data[current_index].copy()
+ current_dicitonary["user_decision"] = decision
+ current_dicitonary["user_id"] = username
+ accept_reject_string = True if decision == "YES" else False
+ current_dicitonary["is_user_correct"] = (
+ current_dicitonary["Accept/Reject"] == accept_reject_string
+ )
+
+ print(f" accept/reject : {current_dicitonary['Accept/Reject'] }")
+ print(
+ f" accept/reject status: {current_dicitonary['Accept/Reject'] == accept_reject_string}"
+ )
+
+ history.append(current_dicitonary)
+
+ current_index += 1
+ qimage, top_1, top_1_score, question, accept_reject = load_sample(
+ data, current_index
+ )
+
+ return (
+ qimage,
+ top_1,
+ top_1_score,
+ question,
+ accept_reject,
+ current_index,
+ history,
+ data,
+ current_index,
+ gr.update(interactive=True),
+ gr.update(interactive=True),
+ "",
+ )
+
+
+def disable_component():
+ return gr.update(interactive=False)
+
+
+def enable_component():
+ return gr.update(interactive=True)
+
+
+def hide_component():
+ return gr.update(visible=False)
+
+
+with gr.Blocks(theme=gr.themes.Soft()) as demo:
+ data_state = gr.State({})
+ current_index = gr.State(-1)
+ history = gr.State([])
+
+ gr.Markdown("# Advising Networks")
+ gr.Markdown("## Accept/Reject AI predicted label using Explanations")
+
+ with gr.Column():
+ with gr.Row():
+ username_textbox = gr.Textbox(label="Username", value=f"username")
+ labeled_images_textbox = gr.Textbox(label="Labeled Images", value="0")
+ total_images_textbox = gr.Textbox(
+ label="Total Images", value=NUMBER_OF_IMAGES
+ )
+ type_of_nns_dropdown = gr.Dropdown(
+ label="Type of NNs",
+ choices=["top1", "topk"],
+ value="top1",
+ )
+ random_seed_textbox = gr.Number(label="Random Seed", value="0")
+
+ prepare_btn = gr.Button(value="Start The Experiment")
+
+ with gr.Column():
+ with gr.Row():
+ question_textbox = gr.HTML("")
+ # question_textbox = gr.Markdown("")
+
+ with gr.Column(elem_id="parent_row"):
+ query_image = gr.Image(
+ type="pil", label="Query", show_label=False, value="./images/intro.jpg"
+ )
+
+ with gr.Row():
+ accept_btn = gr.Button(value="YES", interactive=False)
+ reject_btn = gr.Button(value="NO", interactive=False)
+
+ with gr.Column(elem_id="parent_row"):
+ top_1_textbox = gr.Textbox(label="Top 1", value="", visible=False)
+ top_1_score_textbox = gr.Textbox(
+ label="Top 1 Score", value="", visible=False
+ )
+ accept_reject_textbox = gr.Textbox(
+ label="Accept/Reject", value="", visible=False
+ )
+
+ with gr.Column():
+ with gr.Row():
+ final_results = gr.HTML("")
+
+ # data, type_of_nns, current_index, history
+ prepare_btn.click(
+ preprocessing,
+ inputs=[
+ data_state,
+ type_of_nns_dropdown,
+ current_index,
+ history,
+ username_textbox,
+ random_seed_textbox,
+ ],
+ outputs=[
+ query_image,
+ top_1_textbox,
+ top_1_score_textbox,
+ question_textbox,
+ accept_reject_textbox,
+ current_index,
+ history,
+ data_state,
+ username_textbox,
+ ],
+ ).then(fn=disable_component, outputs=[prepare_btn]).then(
+ fn=disable_component, outputs=[type_of_nns_dropdown]
+ ).then(
+ fn=disable_component, outputs=[username_textbox]
+ ).then(
+ fn=disable_component, outputs=[prepare_btn]
+ ).then(
+ fn=enable_component, outputs=[accept_btn]
+ ).then(
+ fn=enable_component, outputs=[reject_btn]
+ ).then(
+ fn=hide_component, outputs=[prepare_btn]
+ )
+
+ accept_btn.click(
+ update_app,
+ inputs=[accept_btn, data_state, current_index, history, username_textbox],
+ outputs=[
+ query_image,
+ top_1_textbox,
+ top_1_score_textbox,
+ question_textbox,
+ accept_reject_textbox,
+ current_index,
+ history,
+ data_state,
+ labeled_images_textbox,
+ accept_btn,
+ reject_btn,
+ final_results,
+ ],
+ )
+
+ reject_btn.click(
+ update_app,
+ inputs=[reject_btn, data_state, current_index, history, username_textbox],
+ outputs=[
+ query_image,
+ top_1_textbox,
+ top_1_score_textbox,
+ question_textbox,
+ accept_reject_textbox,
+ current_index,
+ history,
+ data_state,
+ labeled_images_textbox,
+ accept_btn,
+ reject_btn,
+ final_results,
+ ],
+ )
+
+
+demo.launch(debug=False, server_name="0.0.0.0")
+# demo.launch(debug=False)
diff --git a/dogs/top1/n02085936-Maltese_dog_67_3.jpeg b/dogs/top1/n02085936-Maltese_dog_67_3.jpeg
new file mode 100644
index 0000000000000000000000000000000000000000..f0afacbe858b2a009d2cbf609973ea6d135e4a18
Binary files /dev/null and b/dogs/top1/n02085936-Maltese_dog_67_3.jpeg differ
diff --git a/dogs/top1/n02086079-Pekinese_68_2.jpeg b/dogs/top1/n02086079-Pekinese_68_2.jpeg
new file mode 100644
index 0000000000000000000000000000000000000000..79ef546c39ae1ee878e35b47ee7be2167505d3cf
Binary files /dev/null and b/dogs/top1/n02086079-Pekinese_68_2.jpeg differ
diff --git a/dogs/top1/n02086240-Shih-Tzu_332_1.jpeg b/dogs/top1/n02086240-Shih-Tzu_332_1.jpeg
new file mode 100644
index 0000000000000000000000000000000000000000..17555ab13de499bc7c6a42f95718e6cd48993292
Binary files /dev/null and b/dogs/top1/n02086240-Shih-Tzu_332_1.jpeg differ
diff --git a/dogs/top1/n02086240-Shih-Tzu_74_3.jpeg b/dogs/top1/n02086240-Shih-Tzu_74_3.jpeg
new file mode 100644
index 0000000000000000000000000000000000000000..059e4fa695ea1dc849f5b722ea8b6f1e08971c38
Binary files /dev/null and b/dogs/top1/n02086240-Shih-Tzu_74_3.jpeg differ
diff --git a/dogs/top1/n02086646-Blenheim_spaniel_53_1.jpeg b/dogs/top1/n02086646-Blenheim_spaniel_53_1.jpeg
new file mode 100644
index 0000000000000000000000000000000000000000..fcb6e4700482f895805035efd9458146bce343af
Binary files /dev/null and b/dogs/top1/n02086646-Blenheim_spaniel_53_1.jpeg differ
diff --git a/dogs/top1/n02086910-papillon_337_2.jpeg b/dogs/top1/n02086910-papillon_337_2.jpeg
new file mode 100644
index 0000000000000000000000000000000000000000..6869cabecc6fa7ae5c3e290e68e1c5561f25eece
Binary files /dev/null and b/dogs/top1/n02086910-papillon_337_2.jpeg differ
diff --git a/dogs/top1/n02086910-papillon_56_0.jpeg b/dogs/top1/n02086910-papillon_56_0.jpeg
new file mode 100644
index 0000000000000000000000000000000000000000..03dbfdb3dbc7e9b6fa795989c432de5aaef853ae
Binary files /dev/null and b/dogs/top1/n02086910-papillon_56_0.jpeg differ
diff --git a/dogs/top1/n02087394-Rhodesian_ridgeback_431_2.jpeg b/dogs/top1/n02087394-Rhodesian_ridgeback_431_2.jpeg
new file mode 100644
index 0000000000000000000000000000000000000000..2bdb449439f08c2a2d0cd1aa80cffa5dfd4b694e
Binary files /dev/null and b/dogs/top1/n02087394-Rhodesian_ridgeback_431_2.jpeg differ
diff --git a/dogs/top1/n02088094-Afghan_hound_42_2.jpeg b/dogs/top1/n02088094-Afghan_hound_42_2.jpeg
new file mode 100644
index 0000000000000000000000000000000000000000..974e1b5027f9790def27ef485de94ddce65398b3
Binary files /dev/null and b/dogs/top1/n02088094-Afghan_hound_42_2.jpeg differ
diff --git a/dogs/top1/n02088364-beagle_170_0.jpeg b/dogs/top1/n02088364-beagle_170_0.jpeg
new file mode 100644
index 0000000000000000000000000000000000000000..68ed13da10249ecfbfa364d226c81b4a51f34cda
Binary files /dev/null and b/dogs/top1/n02088364-beagle_170_0.jpeg differ
diff --git a/dogs/top1/n02088364-beagle_215_2.jpeg b/dogs/top1/n02088364-beagle_215_2.jpeg
new file mode 100644
index 0000000000000000000000000000000000000000..21f0e460314566d3be616223a8281405c3c1c341
Binary files /dev/null and b/dogs/top1/n02088364-beagle_215_2.jpeg differ
diff --git a/dogs/top1/n02088364-beagle_226_1.jpeg b/dogs/top1/n02088364-beagle_226_1.jpeg
new file mode 100644
index 0000000000000000000000000000000000000000..22e3832fce5734c82534c1857493c8c22452b610
Binary files /dev/null and b/dogs/top1/n02088364-beagle_226_1.jpeg differ
diff --git a/dogs/top1/n02088632-bluetick_253_1.jpeg b/dogs/top1/n02088632-bluetick_253_1.jpeg
new file mode 100644
index 0000000000000000000000000000000000000000..0ba764e680a1c62c1a70ab20851a017eb48e57c1
Binary files /dev/null and b/dogs/top1/n02088632-bluetick_253_1.jpeg differ
diff --git a/dogs/top1/n02089078-black-and-tan_coonhound_285_2.jpeg b/dogs/top1/n02089078-black-and-tan_coonhound_285_2.jpeg
new file mode 100644
index 0000000000000000000000000000000000000000..0de4555f7b1de07fc4c2ef54a7b5f8625a225d92
Binary files /dev/null and b/dogs/top1/n02089078-black-and-tan_coonhound_285_2.jpeg differ
diff --git a/dogs/top1/n02089078-black-and-tan_coonhound_55_3.jpeg b/dogs/top1/n02089078-black-and-tan_coonhound_55_3.jpeg
new file mode 100644
index 0000000000000000000000000000000000000000..8e9bc7a2320dc1a869553424166bc4c16e673dec
Binary files /dev/null and b/dogs/top1/n02089078-black-and-tan_coonhound_55_3.jpeg differ
diff --git a/dogs/top1/n02089867-Walker_hound_0_1.jpeg b/dogs/top1/n02089867-Walker_hound_0_1.jpeg
new file mode 100644
index 0000000000000000000000000000000000000000..a9f56d6632d6943e9f4bbb92319970d13f654444
Binary files /dev/null and b/dogs/top1/n02089867-Walker_hound_0_1.jpeg differ
diff --git a/dogs/top1/n02089867-Walker_hound_429_1.jpeg b/dogs/top1/n02089867-Walker_hound_429_1.jpeg
new file mode 100644
index 0000000000000000000000000000000000000000..0cf2e45a1e666b59b78b6e251ee806f8c8086822
Binary files /dev/null and b/dogs/top1/n02089867-Walker_hound_429_1.jpeg differ
diff --git a/dogs/top1/n02090379-redbone_42_3.jpeg b/dogs/top1/n02090379-redbone_42_3.jpeg
new file mode 100644
index 0000000000000000000000000000000000000000..eab6473c02d3b3097d570939bb7cf6aea02353bf
Binary files /dev/null and b/dogs/top1/n02090379-redbone_42_3.jpeg differ
diff --git a/dogs/top1/n02091032-Italian_greyhound_225_1.jpeg b/dogs/top1/n02091032-Italian_greyhound_225_1.jpeg
new file mode 100644
index 0000000000000000000000000000000000000000..80b80fa9d84a37d6eb4acf7f32cd8195aeba3e1a
Binary files /dev/null and b/dogs/top1/n02091032-Italian_greyhound_225_1.jpeg differ
diff --git a/dogs/top1/n02091032-Italian_greyhound_24_3.jpeg b/dogs/top1/n02091032-Italian_greyhound_24_3.jpeg
new file mode 100644
index 0000000000000000000000000000000000000000..b9d3eb56631c6446ecf1cc3d2c57e4452e43f3e4
Binary files /dev/null and b/dogs/top1/n02091032-Italian_greyhound_24_3.jpeg differ
diff --git a/dogs/top1/n02091032-Italian_greyhound_2_0.jpeg b/dogs/top1/n02091032-Italian_greyhound_2_0.jpeg
new file mode 100644
index 0000000000000000000000000000000000000000..6e7877301724fd0e56b01907bb3b9be7afe50a2f
Binary files /dev/null and b/dogs/top1/n02091032-Italian_greyhound_2_0.jpeg differ
diff --git a/dogs/top1/n02091134-whippet_17_1.jpeg b/dogs/top1/n02091134-whippet_17_1.jpeg
new file mode 100644
index 0000000000000000000000000000000000000000..a041c4669a789d5f85f3b9fb5a744160261ed9da
Binary files /dev/null and b/dogs/top1/n02091134-whippet_17_1.jpeg differ
diff --git a/dogs/top1/n02091134-whippet_264_3.jpeg b/dogs/top1/n02091134-whippet_264_3.jpeg
new file mode 100644
index 0000000000000000000000000000000000000000..08842432591dd1a4f18a87dbbfcaee2c422ef5df
Binary files /dev/null and b/dogs/top1/n02091134-whippet_264_3.jpeg differ
diff --git a/dogs/top1/n02091134-whippet_64_1.jpeg b/dogs/top1/n02091134-whippet_64_1.jpeg
new file mode 100644
index 0000000000000000000000000000000000000000..e924b35245efc06dbfd4e9c14322ef6bdb9c6fcb
Binary files /dev/null and b/dogs/top1/n02091134-whippet_64_1.jpeg differ
diff --git a/dogs/top1/n02093256-Staffordshire_bullterrier_15_0.jpeg b/dogs/top1/n02093256-Staffordshire_bullterrier_15_0.jpeg
new file mode 100644
index 0000000000000000000000000000000000000000..24581ed722067de551bc27f01879a0179f249a1c
Binary files /dev/null and b/dogs/top1/n02093256-Staffordshire_bullterrier_15_0.jpeg differ
diff --git a/dogs/top1/n02093256-Staffordshire_bullterrier_340_0.jpeg b/dogs/top1/n02093256-Staffordshire_bullterrier_340_0.jpeg
new file mode 100644
index 0000000000000000000000000000000000000000..79d50141fef4a14b571341a2bb31cec9fa76d039
Binary files /dev/null and b/dogs/top1/n02093256-Staffordshire_bullterrier_340_0.jpeg differ
diff --git a/dogs/top1/n02093428-American_Staffordshire_terrier_438_3.jpeg b/dogs/top1/n02093428-American_Staffordshire_terrier_438_3.jpeg
new file mode 100644
index 0000000000000000000000000000000000000000..237c13b11f944ca05a3b3f254a2bb89045295130
Binary files /dev/null and b/dogs/top1/n02093428-American_Staffordshire_terrier_438_3.jpeg differ
diff --git a/dogs/top1/n02093859-Kerry_blue_terrier_33_3.jpeg b/dogs/top1/n02093859-Kerry_blue_terrier_33_3.jpeg
new file mode 100644
index 0000000000000000000000000000000000000000..ea76fcbc5f07dad1e522ee2d5c7d4ec30a8da89d
Binary files /dev/null and b/dogs/top1/n02093859-Kerry_blue_terrier_33_3.jpeg differ
diff --git a/dogs/top1/n02094114-Norfolk_terrier_19_3.jpeg b/dogs/top1/n02094114-Norfolk_terrier_19_3.jpeg
new file mode 100644
index 0000000000000000000000000000000000000000..322bc33e496b228fb92381547611fa0dc8724d47
Binary files /dev/null and b/dogs/top1/n02094114-Norfolk_terrier_19_3.jpeg differ
diff --git a/dogs/top1/n02094258-Norwich_terrier_109_0.jpeg b/dogs/top1/n02094258-Norwich_terrier_109_0.jpeg
new file mode 100644
index 0000000000000000000000000000000000000000..a371cbb91117b8395f0d0f319e2046869c26ddb8
Binary files /dev/null and b/dogs/top1/n02094258-Norwich_terrier_109_0.jpeg differ
diff --git a/dogs/top1/n02094258-Norwich_terrier_147_3.jpeg b/dogs/top1/n02094258-Norwich_terrier_147_3.jpeg
new file mode 100644
index 0000000000000000000000000000000000000000..67538b2f48c2148f9787c2f439856c77b8f6608b
Binary files /dev/null and b/dogs/top1/n02094258-Norwich_terrier_147_3.jpeg differ
diff --git a/dogs/top1/n02094258-Norwich_terrier_327_2.jpeg b/dogs/top1/n02094258-Norwich_terrier_327_2.jpeg
new file mode 100644
index 0000000000000000000000000000000000000000..36d9cca2b73c778bb2ef0cbf841334a9b896f102
Binary files /dev/null and b/dogs/top1/n02094258-Norwich_terrier_327_2.jpeg differ
diff --git a/dogs/top1/n02094433-Yorkshire_terrier_33_0.jpeg b/dogs/top1/n02094433-Yorkshire_terrier_33_0.jpeg
new file mode 100644
index 0000000000000000000000000000000000000000..b3ee0910567dc721c7f7a2766c4e38b1f7d89c07
Binary files /dev/null and b/dogs/top1/n02094433-Yorkshire_terrier_33_0.jpeg differ
diff --git a/dogs/top1/n02095314-wire-haired_fox_terrier_56_2.jpeg b/dogs/top1/n02095314-wire-haired_fox_terrier_56_2.jpeg
new file mode 100644
index 0000000000000000000000000000000000000000..75b64bb0ea42eb002db3fa18d2b68861d5b1c7d7
Binary files /dev/null and b/dogs/top1/n02095314-wire-haired_fox_terrier_56_2.jpeg differ
diff --git a/dogs/top1/n02095570-Lakeland_terrier_74_2.jpeg b/dogs/top1/n02095570-Lakeland_terrier_74_2.jpeg
new file mode 100644
index 0000000000000000000000000000000000000000..30b15f374278907d84ec1bc78b70e1da892cf05c
Binary files /dev/null and b/dogs/top1/n02095570-Lakeland_terrier_74_2.jpeg differ
diff --git a/dogs/top1/n02095889-Sealyham_terrier_276_1.jpeg b/dogs/top1/n02095889-Sealyham_terrier_276_1.jpeg
new file mode 100644
index 0000000000000000000000000000000000000000..6cffa6a3acba5d1d604e865d413abc45f2e58018
Binary files /dev/null and b/dogs/top1/n02095889-Sealyham_terrier_276_1.jpeg differ
diff --git a/dogs/top1/n02096051-Airedale_22_3.jpeg b/dogs/top1/n02096051-Airedale_22_3.jpeg
new file mode 100644
index 0000000000000000000000000000000000000000..877e1d0cc7264caa902030aaedbaf0c0a61f8243
Binary files /dev/null and b/dogs/top1/n02096051-Airedale_22_3.jpeg differ
diff --git a/dogs/top1/n02096177-cairn_244_3.jpeg b/dogs/top1/n02096177-cairn_244_3.jpeg
new file mode 100644
index 0000000000000000000000000000000000000000..1c9a6d8f5aec4c76893f065fc4180e8652d356fb
Binary files /dev/null and b/dogs/top1/n02096177-cairn_244_3.jpeg differ
diff --git a/dogs/top1/n02096177-cairn_70_2.jpeg b/dogs/top1/n02096177-cairn_70_2.jpeg
new file mode 100644
index 0000000000000000000000000000000000000000..485cc2c0f586d495220529163c6a595fab1929d0
Binary files /dev/null and b/dogs/top1/n02096177-cairn_70_2.jpeg differ
diff --git a/dogs/top1/n02096177-cairn_84_0.jpeg b/dogs/top1/n02096177-cairn_84_0.jpeg
new file mode 100644
index 0000000000000000000000000000000000000000..b958818899c64347c1b87350f8dd227d3e147e58
Binary files /dev/null and b/dogs/top1/n02096177-cairn_84_0.jpeg differ
diff --git a/dogs/top1/n02096294-Australian_terrier_292_1.jpeg b/dogs/top1/n02096294-Australian_terrier_292_1.jpeg
new file mode 100644
index 0000000000000000000000000000000000000000..8f753343c729d9ca729e0ea2a070ceec9a504b11
Binary files /dev/null and b/dogs/top1/n02096294-Australian_terrier_292_1.jpeg differ
diff --git a/dogs/top1/n02096294-Australian_terrier_413_2.jpeg b/dogs/top1/n02096294-Australian_terrier_413_2.jpeg
new file mode 100644
index 0000000000000000000000000000000000000000..eb91695b59cdffa3e8deebc097c421c283c5f39d
Binary files /dev/null and b/dogs/top1/n02096294-Australian_terrier_413_2.jpeg differ
diff --git a/dogs/top1/n02096585-Boston_bull_1_0.jpeg b/dogs/top1/n02096585-Boston_bull_1_0.jpeg
new file mode 100644
index 0000000000000000000000000000000000000000..6553875900f1cb87585ac1b578b8665987ec8d9c
Binary files /dev/null and b/dogs/top1/n02096585-Boston_bull_1_0.jpeg differ
diff --git a/dogs/top1/n02096585-Boston_bull_24_1.jpeg b/dogs/top1/n02096585-Boston_bull_24_1.jpeg
new file mode 100644
index 0000000000000000000000000000000000000000..663c46e9af9dfbd61baf9ef0356542fe501faca1
Binary files /dev/null and b/dogs/top1/n02096585-Boston_bull_24_1.jpeg differ
diff --git a/dogs/top1/n02097047-miniature_schnauzer_83_1.jpeg b/dogs/top1/n02097047-miniature_schnauzer_83_1.jpeg
new file mode 100644
index 0000000000000000000000000000000000000000..77126522425075e1de4277cdd566b2e614150b4d
Binary files /dev/null and b/dogs/top1/n02097047-miniature_schnauzer_83_1.jpeg differ
diff --git a/dogs/top1/n02097474-Tibetan_terrier_135_3.jpeg b/dogs/top1/n02097474-Tibetan_terrier_135_3.jpeg
new file mode 100644
index 0000000000000000000000000000000000000000..e9bc9640cd6c7a31b955b95bb9325f391f7fe3c0
Binary files /dev/null and b/dogs/top1/n02097474-Tibetan_terrier_135_3.jpeg differ
diff --git a/dogs/top1/n02097474-Tibetan_terrier_36_0.jpeg b/dogs/top1/n02097474-Tibetan_terrier_36_0.jpeg
new file mode 100644
index 0000000000000000000000000000000000000000..17e2135c41aed9f243d5accee5c9f29ec47a5bf8
Binary files /dev/null and b/dogs/top1/n02097474-Tibetan_terrier_36_0.jpeg differ
diff --git a/dogs/top1/n02097658-silky_terrier_69_0.jpeg b/dogs/top1/n02097658-silky_terrier_69_0.jpeg
new file mode 100644
index 0000000000000000000000000000000000000000..42b5f46dffd7aa533e808fd7e704732d52cd42b1
Binary files /dev/null and b/dogs/top1/n02097658-silky_terrier_69_0.jpeg differ
diff --git a/dogs/top1/n02098286-West_Highland_white_terrier_63_1.jpeg b/dogs/top1/n02098286-West_Highland_white_terrier_63_1.jpeg
new file mode 100644
index 0000000000000000000000000000000000000000..9dd018dca1e1dc8fae4335f7b56c2b6241151d99
Binary files /dev/null and b/dogs/top1/n02098286-West_Highland_white_terrier_63_1.jpeg differ
diff --git a/dogs/top1/n02098286-West_Highland_white_terrier_78_2.jpeg b/dogs/top1/n02098286-West_Highland_white_terrier_78_2.jpeg
new file mode 100644
index 0000000000000000000000000000000000000000..35773c4214d5741a4d13584337f1c34318b54722
Binary files /dev/null and b/dogs/top1/n02098286-West_Highland_white_terrier_78_2.jpeg differ
diff --git a/dogs/top1/n02098413-Lhasa_263_1.jpeg b/dogs/top1/n02098413-Lhasa_263_1.jpeg
new file mode 100644
index 0000000000000000000000000000000000000000..b98c696837ca7f4227116611c88c843657253f94
Binary files /dev/null and b/dogs/top1/n02098413-Lhasa_263_1.jpeg differ
diff --git a/dogs/top1/n02099267-flat-coated_retriever_282_2.jpeg b/dogs/top1/n02099267-flat-coated_retriever_282_2.jpeg
new file mode 100644
index 0000000000000000000000000000000000000000..0f74cba74e7c719aec4a229c314940a1d5dcc82c
Binary files /dev/null and b/dogs/top1/n02099267-flat-coated_retriever_282_2.jpeg differ
diff --git a/dogs/top1/n02099267-flat-coated_retriever_46_3.jpeg b/dogs/top1/n02099267-flat-coated_retriever_46_3.jpeg
new file mode 100644
index 0000000000000000000000000000000000000000..545bd42c60466dc151e79af61042cf10baf0b1cd
Binary files /dev/null and b/dogs/top1/n02099267-flat-coated_retriever_46_3.jpeg differ
diff --git a/dogs/top1/n02099267-flat-coated_retriever_77_1.jpeg b/dogs/top1/n02099267-flat-coated_retriever_77_1.jpeg
new file mode 100644
index 0000000000000000000000000000000000000000..60907f7a2b1e57af2cb6bc0016d404e0f06535d6
Binary files /dev/null and b/dogs/top1/n02099267-flat-coated_retriever_77_1.jpeg differ
diff --git a/dogs/top1/n02099601-golden_retriever_92_2.jpeg b/dogs/top1/n02099601-golden_retriever_92_2.jpeg
new file mode 100644
index 0000000000000000000000000000000000000000..e7fa62e392fa3ee0eb1f0d012f637b2503c817b7
Binary files /dev/null and b/dogs/top1/n02099601-golden_retriever_92_2.jpeg differ
diff --git a/dogs/top1/n02100236-German_short-haired_pointer_29_0.jpeg b/dogs/top1/n02100236-German_short-haired_pointer_29_0.jpeg
new file mode 100644
index 0000000000000000000000000000000000000000..a25da97da9cb4272eea6400bc68f7a07f503f3a9
Binary files /dev/null and b/dogs/top1/n02100236-German_short-haired_pointer_29_0.jpeg differ
diff --git a/dogs/top1/n02101006-Gordon_setter_62_1.jpeg b/dogs/top1/n02101006-Gordon_setter_62_1.jpeg
new file mode 100644
index 0000000000000000000000000000000000000000..a7103e24488b251fda00a163a870c0b94a22c1c2
Binary files /dev/null and b/dogs/top1/n02101006-Gordon_setter_62_1.jpeg differ
diff --git a/dogs/top1/n02101388-Brittany_spaniel_299_1.jpeg b/dogs/top1/n02101388-Brittany_spaniel_299_1.jpeg
new file mode 100644
index 0000000000000000000000000000000000000000..0d9d66c36c86cfd966b574931815b801fbddea31
Binary files /dev/null and b/dogs/top1/n02101388-Brittany_spaniel_299_1.jpeg differ
diff --git a/dogs/top1/n02101556-clumber_464_3.jpeg b/dogs/top1/n02101556-clumber_464_3.jpeg
new file mode 100644
index 0000000000000000000000000000000000000000..9b1d884af7c024989eafe79f635269ed15155145
Binary files /dev/null and b/dogs/top1/n02101556-clumber_464_3.jpeg differ
diff --git a/dogs/top1/n02104029-kuvasz_44_0.jpeg b/dogs/top1/n02104029-kuvasz_44_0.jpeg
new file mode 100644
index 0000000000000000000000000000000000000000..7e81a5fed02433704bf0384b20aa8e2c20428c25
Binary files /dev/null and b/dogs/top1/n02104029-kuvasz_44_0.jpeg differ
diff --git a/dogs/top1/n02104365-schipperke_288_2.jpeg b/dogs/top1/n02104365-schipperke_288_2.jpeg
new file mode 100644
index 0000000000000000000000000000000000000000..65cda57ec5e8c89e87c42e7ebc7cd211068c9b31
Binary files /dev/null and b/dogs/top1/n02104365-schipperke_288_2.jpeg differ
diff --git a/dogs/top1/n02105251-briard_245_2.jpeg b/dogs/top1/n02105251-briard_245_2.jpeg
new file mode 100644
index 0000000000000000000000000000000000000000..bf68c2e1b9adf986d5b13209085d135474918a2d
Binary files /dev/null and b/dogs/top1/n02105251-briard_245_2.jpeg differ
diff --git a/dogs/top1/n02105251-briard_65_1.jpeg b/dogs/top1/n02105251-briard_65_1.jpeg
new file mode 100644
index 0000000000000000000000000000000000000000..e6c36cb4295bcf1a5fc9ed0aaf29fd14bc8b5570
Binary files /dev/null and b/dogs/top1/n02105251-briard_65_1.jpeg differ
diff --git a/dogs/top1/n02105855-Shetland_sheepdog_304_2.jpeg b/dogs/top1/n02105855-Shetland_sheepdog_304_2.jpeg
new file mode 100644
index 0000000000000000000000000000000000000000..6aefef2da890051d1eef296d5ec19a672c20481c
Binary files /dev/null and b/dogs/top1/n02105855-Shetland_sheepdog_304_2.jpeg differ
diff --git a/dogs/top1/n02105855-Shetland_sheepdog_354_1.jpeg b/dogs/top1/n02105855-Shetland_sheepdog_354_1.jpeg
new file mode 100644
index 0000000000000000000000000000000000000000..fa6131eb575bdd94396e84630b618ccfa8fb1978
Binary files /dev/null and b/dogs/top1/n02105855-Shetland_sheepdog_354_1.jpeg differ
diff --git a/dogs/top1/n02106030-collie_145_3.jpeg b/dogs/top1/n02106030-collie_145_3.jpeg
new file mode 100644
index 0000000000000000000000000000000000000000..7261fe9f044fb0fc445c27fd6764bcf82fb5da08
Binary files /dev/null and b/dogs/top1/n02106030-collie_145_3.jpeg differ
diff --git a/dogs/top1/n02106382-Bouvier_des_Flandres_25_1.jpeg b/dogs/top1/n02106382-Bouvier_des_Flandres_25_1.jpeg
new file mode 100644
index 0000000000000000000000000000000000000000..f0d460d979ae1b2c8dc13cc87a91a4a4c6f22521
Binary files /dev/null and b/dogs/top1/n02106382-Bouvier_des_Flandres_25_1.jpeg differ
diff --git a/dogs/top1/n02107683-Bernese_mountain_dog_113_1.jpeg b/dogs/top1/n02107683-Bernese_mountain_dog_113_1.jpeg
new file mode 100644
index 0000000000000000000000000000000000000000..0bf23e395739c49f153941e6571f8f4b32b2a5c8
Binary files /dev/null and b/dogs/top1/n02107683-Bernese_mountain_dog_113_1.jpeg differ
diff --git a/dogs/top1/n02107683-Bernese_mountain_dog_36_2.jpeg b/dogs/top1/n02107683-Bernese_mountain_dog_36_2.jpeg
new file mode 100644
index 0000000000000000000000000000000000000000..43f2970e1b6f02649fe7ddb2c32c0c9c6300bfd9
Binary files /dev/null and b/dogs/top1/n02107683-Bernese_mountain_dog_36_2.jpeg differ
diff --git a/dogs/top1/n02107908-Appenzeller_295_1.jpeg b/dogs/top1/n02107908-Appenzeller_295_1.jpeg
new file mode 100644
index 0000000000000000000000000000000000000000..d460754290951ed314f9cb36c9d59fb300968d1d
Binary files /dev/null and b/dogs/top1/n02107908-Appenzeller_295_1.jpeg differ
diff --git a/dogs/top1/n02108000-EntleBucher_27_2.jpeg b/dogs/top1/n02108000-EntleBucher_27_2.jpeg
new file mode 100644
index 0000000000000000000000000000000000000000..7913a1c0ab1696b08f5af6544808f12a6ad826cd
Binary files /dev/null and b/dogs/top1/n02108000-EntleBucher_27_2.jpeg differ
diff --git a/dogs/top1/n02108000-EntleBucher_29_3.jpeg b/dogs/top1/n02108000-EntleBucher_29_3.jpeg
new file mode 100644
index 0000000000000000000000000000000000000000..9cb8a1d20a87df7ab50a4f40d1cfab7286d83ea5
Binary files /dev/null and b/dogs/top1/n02108000-EntleBucher_29_3.jpeg differ
diff --git a/dogs/top1/n02108089-boxer_77_2.jpeg b/dogs/top1/n02108089-boxer_77_2.jpeg
new file mode 100644
index 0000000000000000000000000000000000000000..85dc7338b5071428a789a5713aab197467c502cb
Binary files /dev/null and b/dogs/top1/n02108089-boxer_77_2.jpeg differ
diff --git a/dogs/top1/n02109047-Great_Dane_49_1.jpeg b/dogs/top1/n02109047-Great_Dane_49_1.jpeg
new file mode 100644
index 0000000000000000000000000000000000000000..2561933e0d02d12896451d7c00a7081211c837d2
Binary files /dev/null and b/dogs/top1/n02109047-Great_Dane_49_1.jpeg differ
diff --git a/dogs/top1/n02109961-Eskimo_dog_461_0.jpeg b/dogs/top1/n02109961-Eskimo_dog_461_0.jpeg
new file mode 100644
index 0000000000000000000000000000000000000000..cff885e032ecc913306827bfea4a04a010b6e7c7
Binary files /dev/null and b/dogs/top1/n02109961-Eskimo_dog_461_0.jpeg differ
diff --git a/dogs/top1/n02109961-Eskimo_dog_53_3.jpeg b/dogs/top1/n02109961-Eskimo_dog_53_3.jpeg
new file mode 100644
index 0000000000000000000000000000000000000000..388eb4860383b336be8ea67b418a66095f025373
Binary files /dev/null and b/dogs/top1/n02109961-Eskimo_dog_53_3.jpeg differ
diff --git a/dogs/top1/n02109961-Eskimo_dog_91_0.jpeg b/dogs/top1/n02109961-Eskimo_dog_91_0.jpeg
new file mode 100644
index 0000000000000000000000000000000000000000..08c8deb7697ea4792e5874f7dbfe7a661b6fed92
Binary files /dev/null and b/dogs/top1/n02109961-Eskimo_dog_91_0.jpeg differ
diff --git a/dogs/top1/n02110063-malamute_177_3.jpeg b/dogs/top1/n02110063-malamute_177_3.jpeg
new file mode 100644
index 0000000000000000000000000000000000000000..e1408ce3abf3376b25394f7bce2997babe581dc1
Binary files /dev/null and b/dogs/top1/n02110063-malamute_177_3.jpeg differ
diff --git a/dogs/top1/n02110185-Siberian_husky_98_0.jpeg b/dogs/top1/n02110185-Siberian_husky_98_0.jpeg
new file mode 100644
index 0000000000000000000000000000000000000000..951b7d36f7f37f771956f9f2db2348e76efc60b2
Binary files /dev/null and b/dogs/top1/n02110185-Siberian_husky_98_0.jpeg differ
diff --git a/dogs/top1/n02110627-affenpinscher_52_0.jpeg b/dogs/top1/n02110627-affenpinscher_52_0.jpeg
new file mode 100644
index 0000000000000000000000000000000000000000..27ab683bde7227c7a5337804e4e3ff91fa0ef389
Binary files /dev/null and b/dogs/top1/n02110627-affenpinscher_52_0.jpeg differ
diff --git a/dogs/top1/n02110806-basenji_276_2.jpeg b/dogs/top1/n02110806-basenji_276_2.jpeg
new file mode 100644
index 0000000000000000000000000000000000000000..896d0e5dacaa2458b4d59ffab0f380f4bdf235ef
Binary files /dev/null and b/dogs/top1/n02110806-basenji_276_2.jpeg differ
diff --git a/dogs/top1/n02111129-Leonberg_434_0.jpeg b/dogs/top1/n02111129-Leonberg_434_0.jpeg
new file mode 100644
index 0000000000000000000000000000000000000000..b402b946251018533562e811ae84c6dea5092580
Binary files /dev/null and b/dogs/top1/n02111129-Leonberg_434_0.jpeg differ
diff --git a/dogs/top1/n02111277-Newfoundland_35_2.jpeg b/dogs/top1/n02111277-Newfoundland_35_2.jpeg
new file mode 100644
index 0000000000000000000000000000000000000000..96943b3205bd845985965ff683587367ebf7e3be
Binary files /dev/null and b/dogs/top1/n02111277-Newfoundland_35_2.jpeg differ
diff --git a/dogs/top1/n02111277-Newfoundland_43_0.jpeg b/dogs/top1/n02111277-Newfoundland_43_0.jpeg
new file mode 100644
index 0000000000000000000000000000000000000000..a3ff0cedbf4f31e87e8cbf5d63ce0bc6b553a6ed
Binary files /dev/null and b/dogs/top1/n02111277-Newfoundland_43_0.jpeg differ
diff --git a/dogs/top1/n02111277-Newfoundland_46_2.jpeg b/dogs/top1/n02111277-Newfoundland_46_2.jpeg
new file mode 100644
index 0000000000000000000000000000000000000000..414dd1ef0ba746442fed28d00361e2b1cd8273b1
Binary files /dev/null and b/dogs/top1/n02111277-Newfoundland_46_2.jpeg differ
diff --git a/dogs/top1/n02111500-Great_Pyrenees_301_3.jpeg b/dogs/top1/n02111500-Great_Pyrenees_301_3.jpeg
new file mode 100644
index 0000000000000000000000000000000000000000..f7588d183a431c2a581213bf035687278beec7af
Binary files /dev/null and b/dogs/top1/n02111500-Great_Pyrenees_301_3.jpeg differ
diff --git a/dogs/top1/n02111889-Samoyed_85_3.jpeg b/dogs/top1/n02111889-Samoyed_85_3.jpeg
new file mode 100644
index 0000000000000000000000000000000000000000..5a452716195f4084419ce7d9604090bdbdda486c
Binary files /dev/null and b/dogs/top1/n02111889-Samoyed_85_3.jpeg differ
diff --git a/dogs/top1/n02111889-Samoyed_8_0.jpeg b/dogs/top1/n02111889-Samoyed_8_0.jpeg
new file mode 100644
index 0000000000000000000000000000000000000000..f3478e46f1658ec0102353128e688a0cf28f8e93
Binary files /dev/null and b/dogs/top1/n02111889-Samoyed_8_0.jpeg differ
diff --git a/dogs/top1/n02112018-Pomeranian_182_1.jpeg b/dogs/top1/n02112018-Pomeranian_182_1.jpeg
new file mode 100644
index 0000000000000000000000000000000000000000..9efe1b78d7abc3b320328b1762288c29638bde37
Binary files /dev/null and b/dogs/top1/n02112018-Pomeranian_182_1.jpeg differ
diff --git a/dogs/top1/n02112018-Pomeranian_60_2.jpeg b/dogs/top1/n02112018-Pomeranian_60_2.jpeg
new file mode 100644
index 0000000000000000000000000000000000000000..39fed3287c623bbe4b31b8be62c566fb03266f34
Binary files /dev/null and b/dogs/top1/n02112018-Pomeranian_60_2.jpeg differ
diff --git a/dogs/top1/n02112137-chow_41_0.jpeg b/dogs/top1/n02112137-chow_41_0.jpeg
new file mode 100644
index 0000000000000000000000000000000000000000..5fbd541d6507d3a224c579ce46f91ba4bdd573a6
Binary files /dev/null and b/dogs/top1/n02112137-chow_41_0.jpeg differ
diff --git a/dogs/top1/n02112137-chow_75_1.jpeg b/dogs/top1/n02112137-chow_75_1.jpeg
new file mode 100644
index 0000000000000000000000000000000000000000..8f00bcbcae3c97f9ab421170dfcd61ca696a201e
Binary files /dev/null and b/dogs/top1/n02112137-chow_75_1.jpeg differ
diff --git a/dogs/top1/n02113186-Cardigan_199_0.jpeg b/dogs/top1/n02113186-Cardigan_199_0.jpeg
new file mode 100644
index 0000000000000000000000000000000000000000..9221eaea8b315ad83aa89b40dfacd770385ecb44
Binary files /dev/null and b/dogs/top1/n02113186-Cardigan_199_0.jpeg differ
diff --git a/dogs/top1/n02113186-Cardigan_248_3.jpeg b/dogs/top1/n02113186-Cardigan_248_3.jpeg
new file mode 100644
index 0000000000000000000000000000000000000000..72365cb02b1b0339741567aac0aa9330812cf009
Binary files /dev/null and b/dogs/top1/n02113186-Cardigan_248_3.jpeg differ
diff --git a/dogs/top1/n02113624-toy_poodle_204_1.jpeg b/dogs/top1/n02113624-toy_poodle_204_1.jpeg
new file mode 100644
index 0000000000000000000000000000000000000000..24ed4daf143d5affe7569d7fd2ebe27fe6fe6d8c
Binary files /dev/null and b/dogs/top1/n02113624-toy_poodle_204_1.jpeg differ
diff --git a/dogs/top1/n02113712-miniature_poodle_214_1.jpeg b/dogs/top1/n02113712-miniature_poodle_214_1.jpeg
new file mode 100644
index 0000000000000000000000000000000000000000..9b91ec4ff5286dab539ebcd73861cc1a506306ba
Binary files /dev/null and b/dogs/top1/n02113712-miniature_poodle_214_1.jpeg differ
diff --git a/dogs/top1/n02113712-miniature_poodle_23_3.jpeg b/dogs/top1/n02113712-miniature_poodle_23_3.jpeg
new file mode 100644
index 0000000000000000000000000000000000000000..4a11b21ea064f575cf4a5fcc7bf9965db8e96e62
Binary files /dev/null and b/dogs/top1/n02113712-miniature_poodle_23_3.jpeg differ
diff --git a/dogs/top1/n02113799-standard_poodle_24_2.jpeg b/dogs/top1/n02113799-standard_poodle_24_2.jpeg
new file mode 100644
index 0000000000000000000000000000000000000000..c3b953bfcbb00e60def7e8315e5e6e45a34f5ad9
Binary files /dev/null and b/dogs/top1/n02113799-standard_poodle_24_2.jpeg differ
diff --git a/dogs/top1/n02113799-standard_poodle_410_3.jpeg b/dogs/top1/n02113799-standard_poodle_410_3.jpeg
new file mode 100644
index 0000000000000000000000000000000000000000..2d0c1faee812d0254cddd025a375af51b58e0ecb
Binary files /dev/null and b/dogs/top1/n02113799-standard_poodle_410_3.jpeg differ
diff --git a/dogs/top1/n02115641-dingo_30_1.jpeg b/dogs/top1/n02115641-dingo_30_1.jpeg
new file mode 100644
index 0000000000000000000000000000000000000000..51b4307dff222c47e8e9184e8962d95358637d89
Binary files /dev/null and b/dogs/top1/n02115641-dingo_30_1.jpeg differ
diff --git a/dogs/topk/n02085936-Maltese_dog_67_3.jpeg b/dogs/topk/n02085936-Maltese_dog_67_3.jpeg
new file mode 100644
index 0000000000000000000000000000000000000000..73cf4da00c7ab239ac275cf6da480acd4b09d048
Binary files /dev/null and b/dogs/topk/n02085936-Maltese_dog_67_3.jpeg differ
diff --git a/dogs/topk/n02086079-Pekinese_68_2.jpeg b/dogs/topk/n02086079-Pekinese_68_2.jpeg
new file mode 100644
index 0000000000000000000000000000000000000000..90da5207d5f25aa9d27b4b53242a5b060b9454cf
Binary files /dev/null and b/dogs/topk/n02086079-Pekinese_68_2.jpeg differ
diff --git a/dogs/topk/n02086240-Shih-Tzu_332_1.jpeg b/dogs/topk/n02086240-Shih-Tzu_332_1.jpeg
new file mode 100644
index 0000000000000000000000000000000000000000..a148461a7742b138d713691015a43321f77ee123
Binary files /dev/null and b/dogs/topk/n02086240-Shih-Tzu_332_1.jpeg differ
diff --git a/dogs/topk/n02086240-Shih-Tzu_74_3.jpeg b/dogs/topk/n02086240-Shih-Tzu_74_3.jpeg
new file mode 100644
index 0000000000000000000000000000000000000000..7be657d448c4521420f7608ccea02a7cd37d80d8
Binary files /dev/null and b/dogs/topk/n02086240-Shih-Tzu_74_3.jpeg differ
diff --git a/dogs/topk/n02086646-Blenheim_spaniel_53_1.jpeg b/dogs/topk/n02086646-Blenheim_spaniel_53_1.jpeg
new file mode 100644
index 0000000000000000000000000000000000000000..08df19b3e24843ecb6f47db08816365ece00687e
Binary files /dev/null and b/dogs/topk/n02086646-Blenheim_spaniel_53_1.jpeg differ
diff --git a/dogs/topk/n02086910-papillon_337_2.jpeg b/dogs/topk/n02086910-papillon_337_2.jpeg
new file mode 100644
index 0000000000000000000000000000000000000000..fa9f0792eca05340efa92dc34bd1250e29abf0a3
Binary files /dev/null and b/dogs/topk/n02086910-papillon_337_2.jpeg differ
diff --git a/dogs/topk/n02086910-papillon_56_0.jpeg b/dogs/topk/n02086910-papillon_56_0.jpeg
new file mode 100644
index 0000000000000000000000000000000000000000..ca789312d3882bc1d8ea29a60645c9364b87d5a4
Binary files /dev/null and b/dogs/topk/n02086910-papillon_56_0.jpeg differ
diff --git a/dogs/topk/n02087394-Rhodesian_ridgeback_431_2.jpeg b/dogs/topk/n02087394-Rhodesian_ridgeback_431_2.jpeg
new file mode 100644
index 0000000000000000000000000000000000000000..8dd06902288a7e98e725a818a391a2636a4e669e
Binary files /dev/null and b/dogs/topk/n02087394-Rhodesian_ridgeback_431_2.jpeg differ
diff --git a/dogs/topk/n02088094-Afghan_hound_42_2.jpeg b/dogs/topk/n02088094-Afghan_hound_42_2.jpeg
new file mode 100644
index 0000000000000000000000000000000000000000..01f65a688aff05b450fcf5c870ea66bf846f5eda
Binary files /dev/null and b/dogs/topk/n02088094-Afghan_hound_42_2.jpeg differ
diff --git a/dogs/topk/n02088364-beagle_170_0.jpeg b/dogs/topk/n02088364-beagle_170_0.jpeg
new file mode 100644
index 0000000000000000000000000000000000000000..f3e2881058ca2cf4fbd4b0c33fe6b1eeaae15b3f
Binary files /dev/null and b/dogs/topk/n02088364-beagle_170_0.jpeg differ
diff --git a/dogs/topk/n02088364-beagle_215_2.jpeg b/dogs/topk/n02088364-beagle_215_2.jpeg
new file mode 100644
index 0000000000000000000000000000000000000000..279b0b81dfab1039369eb8efe07708c194d7425c
Binary files /dev/null and b/dogs/topk/n02088364-beagle_215_2.jpeg differ
diff --git a/dogs/topk/n02088364-beagle_226_1.jpeg b/dogs/topk/n02088364-beagle_226_1.jpeg
new file mode 100644
index 0000000000000000000000000000000000000000..a3e6604464001b1be4a6243271748a8b021603b8
Binary files /dev/null and b/dogs/topk/n02088364-beagle_226_1.jpeg differ
diff --git a/dogs/topk/n02088632-bluetick_253_1.jpeg b/dogs/topk/n02088632-bluetick_253_1.jpeg
new file mode 100644
index 0000000000000000000000000000000000000000..4f2282568f45ad4eeec5922dacc1244ac34bb4c2
Binary files /dev/null and b/dogs/topk/n02088632-bluetick_253_1.jpeg differ
diff --git a/dogs/topk/n02089078-black-and-tan_coonhound_285_2.jpeg b/dogs/topk/n02089078-black-and-tan_coonhound_285_2.jpeg
new file mode 100644
index 0000000000000000000000000000000000000000..480cec705628e2ce4fcc93618ce0ba9fd3a59a16
Binary files /dev/null and b/dogs/topk/n02089078-black-and-tan_coonhound_285_2.jpeg differ
diff --git a/dogs/topk/n02089078-black-and-tan_coonhound_55_3.jpeg b/dogs/topk/n02089078-black-and-tan_coonhound_55_3.jpeg
new file mode 100644
index 0000000000000000000000000000000000000000..fe6040d83a47aaf4fd61442c5a1ddd88784cc99f
Binary files /dev/null and b/dogs/topk/n02089078-black-and-tan_coonhound_55_3.jpeg differ
diff --git a/dogs/topk/n02089867-Walker_hound_0_1.jpeg b/dogs/topk/n02089867-Walker_hound_0_1.jpeg
new file mode 100644
index 0000000000000000000000000000000000000000..0f50794d2eecdec7195e666b60a2d5d39fb7da91
Binary files /dev/null and b/dogs/topk/n02089867-Walker_hound_0_1.jpeg differ
diff --git a/dogs/topk/n02089867-Walker_hound_429_1.jpeg b/dogs/topk/n02089867-Walker_hound_429_1.jpeg
new file mode 100644
index 0000000000000000000000000000000000000000..7f81d45ebec8979aa463da290b69e468168ad747
Binary files /dev/null and b/dogs/topk/n02089867-Walker_hound_429_1.jpeg differ
diff --git a/dogs/topk/n02090379-redbone_42_3.jpeg b/dogs/topk/n02090379-redbone_42_3.jpeg
new file mode 100644
index 0000000000000000000000000000000000000000..c08648bb1bb81895e1d630fa6c325de95da86d24
Binary files /dev/null and b/dogs/topk/n02090379-redbone_42_3.jpeg differ
diff --git a/dogs/topk/n02091032-Italian_greyhound_225_1.jpeg b/dogs/topk/n02091032-Italian_greyhound_225_1.jpeg
new file mode 100644
index 0000000000000000000000000000000000000000..81248f5769f97d26860b60cff3497686a80ebdcd
Binary files /dev/null and b/dogs/topk/n02091032-Italian_greyhound_225_1.jpeg differ
diff --git a/dogs/topk/n02091032-Italian_greyhound_24_3.jpeg b/dogs/topk/n02091032-Italian_greyhound_24_3.jpeg
new file mode 100644
index 0000000000000000000000000000000000000000..6335308751e804164fa386dcaa3a3dd8a0142672
Binary files /dev/null and b/dogs/topk/n02091032-Italian_greyhound_24_3.jpeg differ
diff --git a/dogs/topk/n02091032-Italian_greyhound_2_0.jpeg b/dogs/topk/n02091032-Italian_greyhound_2_0.jpeg
new file mode 100644
index 0000000000000000000000000000000000000000..c6eb7c5569efe00ada01eb9f2ad43584aaec9044
Binary files /dev/null and b/dogs/topk/n02091032-Italian_greyhound_2_0.jpeg differ
diff --git a/dogs/topk/n02091134-whippet_17_1.jpeg b/dogs/topk/n02091134-whippet_17_1.jpeg
new file mode 100644
index 0000000000000000000000000000000000000000..5295aff4e82eec26e2334768a907b4338abc805d
Binary files /dev/null and b/dogs/topk/n02091134-whippet_17_1.jpeg differ
diff --git a/dogs/topk/n02091134-whippet_264_3.jpeg b/dogs/topk/n02091134-whippet_264_3.jpeg
new file mode 100644
index 0000000000000000000000000000000000000000..fa9bf7cdd7d2b64928341ab7745d6e399fd4d255
Binary files /dev/null and b/dogs/topk/n02091134-whippet_264_3.jpeg differ
diff --git a/dogs/topk/n02091134-whippet_64_1.jpeg b/dogs/topk/n02091134-whippet_64_1.jpeg
new file mode 100644
index 0000000000000000000000000000000000000000..54b5c15845f6e793f9ea8b96660b2056d1698ef8
Binary files /dev/null and b/dogs/topk/n02091134-whippet_64_1.jpeg differ
diff --git a/dogs/topk/n02093256-Staffordshire_bullterrier_15_0.jpeg b/dogs/topk/n02093256-Staffordshire_bullterrier_15_0.jpeg
new file mode 100644
index 0000000000000000000000000000000000000000..391ffc31fa237b58df1d6cacd50eb08a53ccb556
Binary files /dev/null and b/dogs/topk/n02093256-Staffordshire_bullterrier_15_0.jpeg differ
diff --git a/dogs/topk/n02093256-Staffordshire_bullterrier_340_0.jpeg b/dogs/topk/n02093256-Staffordshire_bullterrier_340_0.jpeg
new file mode 100644
index 0000000000000000000000000000000000000000..0836c9b08635a7cf00288db1a791bf0ef83c658d
Binary files /dev/null and b/dogs/topk/n02093256-Staffordshire_bullterrier_340_0.jpeg differ
diff --git a/dogs/topk/n02093428-American_Staffordshire_terrier_438_3.jpeg b/dogs/topk/n02093428-American_Staffordshire_terrier_438_3.jpeg
new file mode 100644
index 0000000000000000000000000000000000000000..90886fdd9bf5fa86b4c0297967d5b65d1ab563fa
Binary files /dev/null and b/dogs/topk/n02093428-American_Staffordshire_terrier_438_3.jpeg differ
diff --git a/dogs/topk/n02093859-Kerry_blue_terrier_33_3.jpeg b/dogs/topk/n02093859-Kerry_blue_terrier_33_3.jpeg
new file mode 100644
index 0000000000000000000000000000000000000000..6a8c506e4ee53483bc0325fa4bccdd3aed78f40e
Binary files /dev/null and b/dogs/topk/n02093859-Kerry_blue_terrier_33_3.jpeg differ
diff --git a/dogs/topk/n02094114-Norfolk_terrier_19_3.jpeg b/dogs/topk/n02094114-Norfolk_terrier_19_3.jpeg
new file mode 100644
index 0000000000000000000000000000000000000000..40af17e69c0d1d5cd500c6cd722f026a93f51ad6
Binary files /dev/null and b/dogs/topk/n02094114-Norfolk_terrier_19_3.jpeg differ
diff --git a/dogs/topk/n02094258-Norwich_terrier_109_0.jpeg b/dogs/topk/n02094258-Norwich_terrier_109_0.jpeg
new file mode 100644
index 0000000000000000000000000000000000000000..aacca2acfa7cdabf7b48da238a1c4613e8c2fc7d
Binary files /dev/null and b/dogs/topk/n02094258-Norwich_terrier_109_0.jpeg differ
diff --git a/dogs/topk/n02094258-Norwich_terrier_147_3.jpeg b/dogs/topk/n02094258-Norwich_terrier_147_3.jpeg
new file mode 100644
index 0000000000000000000000000000000000000000..f90752ca57dfbcf7e7f3280cce6ca3d495699fa0
Binary files /dev/null and b/dogs/topk/n02094258-Norwich_terrier_147_3.jpeg differ
diff --git a/dogs/topk/n02094258-Norwich_terrier_327_2.jpeg b/dogs/topk/n02094258-Norwich_terrier_327_2.jpeg
new file mode 100644
index 0000000000000000000000000000000000000000..df38ce6ac0495027249fb2108a05ed7eff628182
Binary files /dev/null and b/dogs/topk/n02094258-Norwich_terrier_327_2.jpeg differ
diff --git a/dogs/topk/n02094433-Yorkshire_terrier_33_0.jpeg b/dogs/topk/n02094433-Yorkshire_terrier_33_0.jpeg
new file mode 100644
index 0000000000000000000000000000000000000000..efd0765c756aee6986be1db422612b2b24d6276b
Binary files /dev/null and b/dogs/topk/n02094433-Yorkshire_terrier_33_0.jpeg differ
diff --git a/dogs/topk/n02095314-wire-haired_fox_terrier_56_2.jpeg b/dogs/topk/n02095314-wire-haired_fox_terrier_56_2.jpeg
new file mode 100644
index 0000000000000000000000000000000000000000..df207b24d95ce9670980571c0dea5714d421b726
Binary files /dev/null and b/dogs/topk/n02095314-wire-haired_fox_terrier_56_2.jpeg differ
diff --git a/dogs/topk/n02095570-Lakeland_terrier_74_2.jpeg b/dogs/topk/n02095570-Lakeland_terrier_74_2.jpeg
new file mode 100644
index 0000000000000000000000000000000000000000..7658ec585338222ced0f2e22789c344bb2e762be
Binary files /dev/null and b/dogs/topk/n02095570-Lakeland_terrier_74_2.jpeg differ
diff --git a/dogs/topk/n02095889-Sealyham_terrier_276_1.jpeg b/dogs/topk/n02095889-Sealyham_terrier_276_1.jpeg
new file mode 100644
index 0000000000000000000000000000000000000000..1c2d144fa0936dd6e0b91d5aeb83272dca117895
Binary files /dev/null and b/dogs/topk/n02095889-Sealyham_terrier_276_1.jpeg differ
diff --git a/dogs/topk/n02096051-Airedale_22_3.jpeg b/dogs/topk/n02096051-Airedale_22_3.jpeg
new file mode 100644
index 0000000000000000000000000000000000000000..5bb56407b22129bf9458ae78f8b8ce3acdb52f16
Binary files /dev/null and b/dogs/topk/n02096051-Airedale_22_3.jpeg differ
diff --git a/dogs/topk/n02096177-cairn_244_3.jpeg b/dogs/topk/n02096177-cairn_244_3.jpeg
new file mode 100644
index 0000000000000000000000000000000000000000..d3c3cc95455ff3c89bb1191a14fd3962447058b9
Binary files /dev/null and b/dogs/topk/n02096177-cairn_244_3.jpeg differ
diff --git a/dogs/topk/n02096177-cairn_70_2.jpeg b/dogs/topk/n02096177-cairn_70_2.jpeg
new file mode 100644
index 0000000000000000000000000000000000000000..7af01e47d019bedcf16bb9def5b57b3ea343305a
Binary files /dev/null and b/dogs/topk/n02096177-cairn_70_2.jpeg differ
diff --git a/dogs/topk/n02096177-cairn_84_0.jpeg b/dogs/topk/n02096177-cairn_84_0.jpeg
new file mode 100644
index 0000000000000000000000000000000000000000..e7df0e712486125d99b79ac16474604a9c6b3d4a
Binary files /dev/null and b/dogs/topk/n02096177-cairn_84_0.jpeg differ
diff --git a/dogs/topk/n02096294-Australian_terrier_292_1.jpeg b/dogs/topk/n02096294-Australian_terrier_292_1.jpeg
new file mode 100644
index 0000000000000000000000000000000000000000..c2ee1bd1e499b625b066a3f870c217b151caf375
Binary files /dev/null and b/dogs/topk/n02096294-Australian_terrier_292_1.jpeg differ
diff --git a/dogs/topk/n02096294-Australian_terrier_413_2.jpeg b/dogs/topk/n02096294-Australian_terrier_413_2.jpeg
new file mode 100644
index 0000000000000000000000000000000000000000..53dc2657302957db8c47605a437f4dbeeb45dcf1
Binary files /dev/null and b/dogs/topk/n02096294-Australian_terrier_413_2.jpeg differ
diff --git a/dogs/topk/n02096585-Boston_bull_1_0.jpeg b/dogs/topk/n02096585-Boston_bull_1_0.jpeg
new file mode 100644
index 0000000000000000000000000000000000000000..4499252982a1682a5a1f63b05b2d93f85aaff1e2
Binary files /dev/null and b/dogs/topk/n02096585-Boston_bull_1_0.jpeg differ
diff --git a/dogs/topk/n02096585-Boston_bull_24_1.jpeg b/dogs/topk/n02096585-Boston_bull_24_1.jpeg
new file mode 100644
index 0000000000000000000000000000000000000000..6c49e5ad83b7117f1a6099065e1d3b8dd380bb83
Binary files /dev/null and b/dogs/topk/n02096585-Boston_bull_24_1.jpeg differ
diff --git a/dogs/topk/n02097047-miniature_schnauzer_83_1.jpeg b/dogs/topk/n02097047-miniature_schnauzer_83_1.jpeg
new file mode 100644
index 0000000000000000000000000000000000000000..84b855b968390d3f7d61bf93760c3cad2d9072af
Binary files /dev/null and b/dogs/topk/n02097047-miniature_schnauzer_83_1.jpeg differ
diff --git a/dogs/topk/n02097474-Tibetan_terrier_135_3.jpeg b/dogs/topk/n02097474-Tibetan_terrier_135_3.jpeg
new file mode 100644
index 0000000000000000000000000000000000000000..17a4b911f8f1aac0e8a12a79d315ac102661d658
Binary files /dev/null and b/dogs/topk/n02097474-Tibetan_terrier_135_3.jpeg differ
diff --git a/dogs/topk/n02097474-Tibetan_terrier_36_0.jpeg b/dogs/topk/n02097474-Tibetan_terrier_36_0.jpeg
new file mode 100644
index 0000000000000000000000000000000000000000..c820fd35b671ceeda70122249d52feef3b374963
Binary files /dev/null and b/dogs/topk/n02097474-Tibetan_terrier_36_0.jpeg differ
diff --git a/dogs/topk/n02097658-silky_terrier_69_0.jpeg b/dogs/topk/n02097658-silky_terrier_69_0.jpeg
new file mode 100644
index 0000000000000000000000000000000000000000..08d12ba3ca67568deb776687978c0a8743f2f392
Binary files /dev/null and b/dogs/topk/n02097658-silky_terrier_69_0.jpeg differ
diff --git a/dogs/topk/n02098286-West_Highland_white_terrier_63_1.jpeg b/dogs/topk/n02098286-West_Highland_white_terrier_63_1.jpeg
new file mode 100644
index 0000000000000000000000000000000000000000..bec172edddebb2b9fb2605fe90a7c2f1eb759967
Binary files /dev/null and b/dogs/topk/n02098286-West_Highland_white_terrier_63_1.jpeg differ
diff --git a/dogs/topk/n02098286-West_Highland_white_terrier_78_2.jpeg b/dogs/topk/n02098286-West_Highland_white_terrier_78_2.jpeg
new file mode 100644
index 0000000000000000000000000000000000000000..e5da1ebbd3b6dfb9ad0e69e9fea31a8688e02954
Binary files /dev/null and b/dogs/topk/n02098286-West_Highland_white_terrier_78_2.jpeg differ
diff --git a/dogs/topk/n02098413-Lhasa_263_1.jpeg b/dogs/topk/n02098413-Lhasa_263_1.jpeg
new file mode 100644
index 0000000000000000000000000000000000000000..c7b6515f1a1b01a89bdb88d4dd67ac4723c1b5c8
Binary files /dev/null and b/dogs/topk/n02098413-Lhasa_263_1.jpeg differ
diff --git a/dogs/topk/n02099267-flat-coated_retriever_282_2.jpeg b/dogs/topk/n02099267-flat-coated_retriever_282_2.jpeg
new file mode 100644
index 0000000000000000000000000000000000000000..87fe3c884a7aa82d980344ecfde8ae71bfa61f40
Binary files /dev/null and b/dogs/topk/n02099267-flat-coated_retriever_282_2.jpeg differ
diff --git a/dogs/topk/n02099267-flat-coated_retriever_46_3.jpeg b/dogs/topk/n02099267-flat-coated_retriever_46_3.jpeg
new file mode 100644
index 0000000000000000000000000000000000000000..b0ceb1ee9ed50cd5a197840cd965932d822f03a2
Binary files /dev/null and b/dogs/topk/n02099267-flat-coated_retriever_46_3.jpeg differ
diff --git a/dogs/topk/n02099267-flat-coated_retriever_77_1.jpeg b/dogs/topk/n02099267-flat-coated_retriever_77_1.jpeg
new file mode 100644
index 0000000000000000000000000000000000000000..544e6d749556587603fa8b7a67a26c4ba693dd46
Binary files /dev/null and b/dogs/topk/n02099267-flat-coated_retriever_77_1.jpeg differ
diff --git a/dogs/topk/n02099601-golden_retriever_92_2.jpeg b/dogs/topk/n02099601-golden_retriever_92_2.jpeg
new file mode 100644
index 0000000000000000000000000000000000000000..cbc81a439d6efbda09f68d582b2a8c5e9c02b032
Binary files /dev/null and b/dogs/topk/n02099601-golden_retriever_92_2.jpeg differ
diff --git a/dogs/topk/n02100236-German_short-haired_pointer_29_0.jpeg b/dogs/topk/n02100236-German_short-haired_pointer_29_0.jpeg
new file mode 100644
index 0000000000000000000000000000000000000000..4b3d7c0fa60081c39682f12e6b4b3bbcd26017b4
Binary files /dev/null and b/dogs/topk/n02100236-German_short-haired_pointer_29_0.jpeg differ
diff --git a/dogs/topk/n02101006-Gordon_setter_62_1.jpeg b/dogs/topk/n02101006-Gordon_setter_62_1.jpeg
new file mode 100644
index 0000000000000000000000000000000000000000..0231eecd556743989da5b022f2ef390c31993171
Binary files /dev/null and b/dogs/topk/n02101006-Gordon_setter_62_1.jpeg differ
diff --git a/dogs/topk/n02101388-Brittany_spaniel_299_1.jpeg b/dogs/topk/n02101388-Brittany_spaniel_299_1.jpeg
new file mode 100644
index 0000000000000000000000000000000000000000..0130b5591bdfb577e21363fd8a4373d03d3a9543
Binary files /dev/null and b/dogs/topk/n02101388-Brittany_spaniel_299_1.jpeg differ
diff --git a/dogs/topk/n02101556-clumber_464_3.jpeg b/dogs/topk/n02101556-clumber_464_3.jpeg
new file mode 100644
index 0000000000000000000000000000000000000000..8c61beefe86b4e258478944c633c0d75cbad7d50
Binary files /dev/null and b/dogs/topk/n02101556-clumber_464_3.jpeg differ
diff --git a/dogs/topk/n02104029-kuvasz_44_0.jpeg b/dogs/topk/n02104029-kuvasz_44_0.jpeg
new file mode 100644
index 0000000000000000000000000000000000000000..84d581f18c0c70c18d48d315fce4b9815e788bc7
Binary files /dev/null and b/dogs/topk/n02104029-kuvasz_44_0.jpeg differ
diff --git a/dogs/topk/n02104365-schipperke_288_2.jpeg b/dogs/topk/n02104365-schipperke_288_2.jpeg
new file mode 100644
index 0000000000000000000000000000000000000000..1ebf3b903de4512b68500ff15223777c4c1a850e
Binary files /dev/null and b/dogs/topk/n02104365-schipperke_288_2.jpeg differ
diff --git a/dogs/topk/n02105251-briard_245_2.jpeg b/dogs/topk/n02105251-briard_245_2.jpeg
new file mode 100644
index 0000000000000000000000000000000000000000..1f0fd95d236e484f001ea82a497e47b4f4e5e3ce
Binary files /dev/null and b/dogs/topk/n02105251-briard_245_2.jpeg differ
diff --git a/dogs/topk/n02105251-briard_65_1.jpeg b/dogs/topk/n02105251-briard_65_1.jpeg
new file mode 100644
index 0000000000000000000000000000000000000000..f39cdd599738565d7ad46010316349edb11cc171
Binary files /dev/null and b/dogs/topk/n02105251-briard_65_1.jpeg differ
diff --git a/dogs/topk/n02105855-Shetland_sheepdog_304_2.jpeg b/dogs/topk/n02105855-Shetland_sheepdog_304_2.jpeg
new file mode 100644
index 0000000000000000000000000000000000000000..d50e6b4595fae93b649e486c5570a82b11980ecd
Binary files /dev/null and b/dogs/topk/n02105855-Shetland_sheepdog_304_2.jpeg differ
diff --git a/dogs/topk/n02105855-Shetland_sheepdog_354_1.jpeg b/dogs/topk/n02105855-Shetland_sheepdog_354_1.jpeg
new file mode 100644
index 0000000000000000000000000000000000000000..0e0e6367153e805e41a159789892dd8dd7bd19ef
Binary files /dev/null and b/dogs/topk/n02105855-Shetland_sheepdog_354_1.jpeg differ
diff --git a/dogs/topk/n02106030-collie_145_3.jpeg b/dogs/topk/n02106030-collie_145_3.jpeg
new file mode 100644
index 0000000000000000000000000000000000000000..54078c3f2549f07c4db8bdef74d878f5332226b0
Binary files /dev/null and b/dogs/topk/n02106030-collie_145_3.jpeg differ
diff --git a/dogs/topk/n02106382-Bouvier_des_Flandres_25_1.jpeg b/dogs/topk/n02106382-Bouvier_des_Flandres_25_1.jpeg
new file mode 100644
index 0000000000000000000000000000000000000000..9d67218e717f02be5be12a49bb3407d0f5aaf097
Binary files /dev/null and b/dogs/topk/n02106382-Bouvier_des_Flandres_25_1.jpeg differ
diff --git a/dogs/topk/n02107683-Bernese_mountain_dog_113_1.jpeg b/dogs/topk/n02107683-Bernese_mountain_dog_113_1.jpeg
new file mode 100644
index 0000000000000000000000000000000000000000..cc3fa9b884fcf0086f3a55b450920de55a77c0eb
Binary files /dev/null and b/dogs/topk/n02107683-Bernese_mountain_dog_113_1.jpeg differ
diff --git a/dogs/topk/n02107683-Bernese_mountain_dog_36_2.jpeg b/dogs/topk/n02107683-Bernese_mountain_dog_36_2.jpeg
new file mode 100644
index 0000000000000000000000000000000000000000..c3f91c19b3d12ddf508a4285bb37f3c170cac401
Binary files /dev/null and b/dogs/topk/n02107683-Bernese_mountain_dog_36_2.jpeg differ
diff --git a/dogs/topk/n02107908-Appenzeller_295_1.jpeg b/dogs/topk/n02107908-Appenzeller_295_1.jpeg
new file mode 100644
index 0000000000000000000000000000000000000000..6960483d5e5e6fb1c6617af9f72a95c13ef8f7d6
Binary files /dev/null and b/dogs/topk/n02107908-Appenzeller_295_1.jpeg differ
diff --git a/dogs/topk/n02108000-EntleBucher_27_2.jpeg b/dogs/topk/n02108000-EntleBucher_27_2.jpeg
new file mode 100644
index 0000000000000000000000000000000000000000..01b646473d7cbb3362f4b100e8ac07da77ef29b7
Binary files /dev/null and b/dogs/topk/n02108000-EntleBucher_27_2.jpeg differ
diff --git a/dogs/topk/n02108000-EntleBucher_29_3.jpeg b/dogs/topk/n02108000-EntleBucher_29_3.jpeg
new file mode 100644
index 0000000000000000000000000000000000000000..91adb3d254ce6f75a3b80bff13190c68718b7e18
Binary files /dev/null and b/dogs/topk/n02108000-EntleBucher_29_3.jpeg differ
diff --git a/dogs/topk/n02108089-boxer_77_2.jpeg b/dogs/topk/n02108089-boxer_77_2.jpeg
new file mode 100644
index 0000000000000000000000000000000000000000..18649f621fbede51e0b5437ebeea8253c40afef0
Binary files /dev/null and b/dogs/topk/n02108089-boxer_77_2.jpeg differ
diff --git a/dogs/topk/n02109047-Great_Dane_49_1.jpeg b/dogs/topk/n02109047-Great_Dane_49_1.jpeg
new file mode 100644
index 0000000000000000000000000000000000000000..b6ef1009dc40d9147e9acd1b262dae1256530af5
Binary files /dev/null and b/dogs/topk/n02109047-Great_Dane_49_1.jpeg differ
diff --git a/dogs/topk/n02109961-Eskimo_dog_461_0.jpeg b/dogs/topk/n02109961-Eskimo_dog_461_0.jpeg
new file mode 100644
index 0000000000000000000000000000000000000000..2f25d9b2ad1ddadbef82721e9d084c93523692bf
Binary files /dev/null and b/dogs/topk/n02109961-Eskimo_dog_461_0.jpeg differ
diff --git a/dogs/topk/n02109961-Eskimo_dog_53_3.jpeg b/dogs/topk/n02109961-Eskimo_dog_53_3.jpeg
new file mode 100644
index 0000000000000000000000000000000000000000..c3e0401d2c9f14f139b3479085bbf31805fe516a
Binary files /dev/null and b/dogs/topk/n02109961-Eskimo_dog_53_3.jpeg differ
diff --git a/dogs/topk/n02109961-Eskimo_dog_91_0.jpeg b/dogs/topk/n02109961-Eskimo_dog_91_0.jpeg
new file mode 100644
index 0000000000000000000000000000000000000000..fa789a261d4243e162cfdd5073394b2d6a5354e9
Binary files /dev/null and b/dogs/topk/n02109961-Eskimo_dog_91_0.jpeg differ
diff --git a/dogs/topk/n02110063-malamute_177_3.jpeg b/dogs/topk/n02110063-malamute_177_3.jpeg
new file mode 100644
index 0000000000000000000000000000000000000000..98491fd8e46b69a5cb965365ff1cd2c3cb76f857
Binary files /dev/null and b/dogs/topk/n02110063-malamute_177_3.jpeg differ
diff --git a/dogs/topk/n02110185-Siberian_husky_98_0.jpeg b/dogs/topk/n02110185-Siberian_husky_98_0.jpeg
new file mode 100644
index 0000000000000000000000000000000000000000..13f5e60ad7a8670f740d5122e299ef854471af61
Binary files /dev/null and b/dogs/topk/n02110185-Siberian_husky_98_0.jpeg differ
diff --git a/dogs/topk/n02110627-affenpinscher_52_0.jpeg b/dogs/topk/n02110627-affenpinscher_52_0.jpeg
new file mode 100644
index 0000000000000000000000000000000000000000..f7cfd2a7e8d7eca257e359a3aa9f338c8eb0803e
Binary files /dev/null and b/dogs/topk/n02110627-affenpinscher_52_0.jpeg differ
diff --git a/dogs/topk/n02110806-basenji_276_2.jpeg b/dogs/topk/n02110806-basenji_276_2.jpeg
new file mode 100644
index 0000000000000000000000000000000000000000..0ddea6660f35322ca1b18b9094ad73850078619c
Binary files /dev/null and b/dogs/topk/n02110806-basenji_276_2.jpeg differ
diff --git a/dogs/topk/n02111129-Leonberg_434_0.jpeg b/dogs/topk/n02111129-Leonberg_434_0.jpeg
new file mode 100644
index 0000000000000000000000000000000000000000..5a7defced4f437a34def7f775a37c4a37f136504
Binary files /dev/null and b/dogs/topk/n02111129-Leonberg_434_0.jpeg differ
diff --git a/dogs/topk/n02111277-Newfoundland_35_2.jpeg b/dogs/topk/n02111277-Newfoundland_35_2.jpeg
new file mode 100644
index 0000000000000000000000000000000000000000..6aec094b57442827ec40749d9839ccd79b8debf5
Binary files /dev/null and b/dogs/topk/n02111277-Newfoundland_35_2.jpeg differ
diff --git a/dogs/topk/n02111277-Newfoundland_43_0.jpeg b/dogs/topk/n02111277-Newfoundland_43_0.jpeg
new file mode 100644
index 0000000000000000000000000000000000000000..e95699fe8493d9095f0e7cbda8b69397ba81568c
Binary files /dev/null and b/dogs/topk/n02111277-Newfoundland_43_0.jpeg differ
diff --git a/dogs/topk/n02111277-Newfoundland_46_2.jpeg b/dogs/topk/n02111277-Newfoundland_46_2.jpeg
new file mode 100644
index 0000000000000000000000000000000000000000..03810b1932408903ab7bed79155be62a7a74c14d
Binary files /dev/null and b/dogs/topk/n02111277-Newfoundland_46_2.jpeg differ
diff --git a/dogs/topk/n02111500-Great_Pyrenees_301_3.jpeg b/dogs/topk/n02111500-Great_Pyrenees_301_3.jpeg
new file mode 100644
index 0000000000000000000000000000000000000000..f9a310fec40c588cb4d0e34d893c1ec7ba4458ac
Binary files /dev/null and b/dogs/topk/n02111500-Great_Pyrenees_301_3.jpeg differ
diff --git a/dogs/topk/n02111889-Samoyed_85_3.jpeg b/dogs/topk/n02111889-Samoyed_85_3.jpeg
new file mode 100644
index 0000000000000000000000000000000000000000..5b7b3f766d8f9c62e006dcfd66397cf62ac7dcbb
Binary files /dev/null and b/dogs/topk/n02111889-Samoyed_85_3.jpeg differ
diff --git a/dogs/topk/n02111889-Samoyed_8_0.jpeg b/dogs/topk/n02111889-Samoyed_8_0.jpeg
new file mode 100644
index 0000000000000000000000000000000000000000..3c8dc73459369f2012e562b4f005462a10497def
Binary files /dev/null and b/dogs/topk/n02111889-Samoyed_8_0.jpeg differ
diff --git a/dogs/topk/n02112018-Pomeranian_182_1.jpeg b/dogs/topk/n02112018-Pomeranian_182_1.jpeg
new file mode 100644
index 0000000000000000000000000000000000000000..b51e01ac41eebeddaf04763fa594f76aa023c0f8
Binary files /dev/null and b/dogs/topk/n02112018-Pomeranian_182_1.jpeg differ
diff --git a/dogs/topk/n02112018-Pomeranian_60_2.jpeg b/dogs/topk/n02112018-Pomeranian_60_2.jpeg
new file mode 100644
index 0000000000000000000000000000000000000000..ac63a1c06f0298075acf439530f83a6a5ccd9b3f
Binary files /dev/null and b/dogs/topk/n02112018-Pomeranian_60_2.jpeg differ
diff --git a/dogs/topk/n02112137-chow_41_0.jpeg b/dogs/topk/n02112137-chow_41_0.jpeg
new file mode 100644
index 0000000000000000000000000000000000000000..b2552db0d7064812051ba945c099336c43242c4f
Binary files /dev/null and b/dogs/topk/n02112137-chow_41_0.jpeg differ
diff --git a/dogs/topk/n02112137-chow_75_1.jpeg b/dogs/topk/n02112137-chow_75_1.jpeg
new file mode 100644
index 0000000000000000000000000000000000000000..0a1f48de1e808a707ed4039aabaa2ca8d82c6d2c
Binary files /dev/null and b/dogs/topk/n02112137-chow_75_1.jpeg differ
diff --git a/dogs/topk/n02113186-Cardigan_199_0.jpeg b/dogs/topk/n02113186-Cardigan_199_0.jpeg
new file mode 100644
index 0000000000000000000000000000000000000000..d410f4beeb5d565073790107d7cd5a63967425b4
Binary files /dev/null and b/dogs/topk/n02113186-Cardigan_199_0.jpeg differ
diff --git a/dogs/topk/n02113186-Cardigan_248_3.jpeg b/dogs/topk/n02113186-Cardigan_248_3.jpeg
new file mode 100644
index 0000000000000000000000000000000000000000..1b102faba84c44b305c2b0bc2d9c4de068d10b84
Binary files /dev/null and b/dogs/topk/n02113186-Cardigan_248_3.jpeg differ
diff --git a/dogs/topk/n02113624-toy_poodle_204_1.jpeg b/dogs/topk/n02113624-toy_poodle_204_1.jpeg
new file mode 100644
index 0000000000000000000000000000000000000000..74960ce1f40191776c410775c2562a965d6cc824
Binary files /dev/null and b/dogs/topk/n02113624-toy_poodle_204_1.jpeg differ
diff --git a/dogs/topk/n02113712-miniature_poodle_214_1.jpeg b/dogs/topk/n02113712-miniature_poodle_214_1.jpeg
new file mode 100644
index 0000000000000000000000000000000000000000..099c3e98d410a3e135d8eb3da5eea84e1bbc7984
Binary files /dev/null and b/dogs/topk/n02113712-miniature_poodle_214_1.jpeg differ
diff --git a/dogs/topk/n02113712-miniature_poodle_23_3.jpeg b/dogs/topk/n02113712-miniature_poodle_23_3.jpeg
new file mode 100644
index 0000000000000000000000000000000000000000..c4607ea9135ee570825c2eb92207c5677ff69c6a
Binary files /dev/null and b/dogs/topk/n02113712-miniature_poodle_23_3.jpeg differ
diff --git a/dogs/topk/n02113799-standard_poodle_24_2.jpeg b/dogs/topk/n02113799-standard_poodle_24_2.jpeg
new file mode 100644
index 0000000000000000000000000000000000000000..22e257d6b579be056309c2756cede902b2da52fb
Binary files /dev/null and b/dogs/topk/n02113799-standard_poodle_24_2.jpeg differ
diff --git a/dogs/topk/n02113799-standard_poodle_410_3.jpeg b/dogs/topk/n02113799-standard_poodle_410_3.jpeg
new file mode 100644
index 0000000000000000000000000000000000000000..9802e86b08772a5e34188658273b3ca0f3fd5f9e
Binary files /dev/null and b/dogs/topk/n02113799-standard_poodle_410_3.jpeg differ
diff --git a/dogs/topk/n02115641-dingo_30_1.jpeg b/dogs/topk/n02115641-dingo_30_1.jpeg
new file mode 100644
index 0000000000000000000000000000000000000000..5d21665d66457dd50e2bd824312b9acf2c35d020
Binary files /dev/null and b/dogs/topk/n02115641-dingo_30_1.jpeg differ
diff --git a/images/intro.jpg b/images/intro.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..1f35051d6365ce41bff54c54fd0ecb37847ae3e0
--- /dev/null
+++ b/images/intro.jpg
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:a0efed9b4f56baf5e445df7fbdcb87f89dc297e1f94c6f743f16c21e076aad3f
+size 1287488
diff --git a/requirements.txt b/requirements.txt
new file mode 100644
index 0000000000000000000000000000000000000000..023006cac135ec02ebedca1827410947fdc606a6
--- /dev/null
+++ b/requirements.txt
@@ -0,0 +1 @@
+gdown
\ No newline at end of file
diff --git a/showresults.py b/showresults.py
new file mode 100644
index 0000000000000000000000000000000000000000..30b052b6cf16851500b9464824dab066dec59ab7
--- /dev/null
+++ b/showresults.py
@@ -0,0 +1,98 @@
+from glob import glob
+import json
+import numpy as np
+import gradio as gr
+
+
+
+def calculate_the_results():
+ all_jsons_path = glob('./responses/*.json')
+ all_jsons = [json.load(open(path)) for path in all_jsons_path]
+
+ # count number of user corrects for each json and average and also calcaulte the type of NNs
+
+ top1_results = []
+ top1_acc = []
+ topK_results = []
+ topK_acc = []
+
+ for js in all_jsons:
+ # read one key and determine the type of NN
+ type_of_NNs = js['history'][0]['type']
+ if type_of_NNs == 'topK':
+ acc = np.mean([js['history'][x]['is_user_correct'] for x in range(len(js['history']))])
+ topK_acc.append((acc*100).round(2))
+ topK_results.append(js)
+
+ else:
+ top1_results.append(js)
+ acc = np.mean([js['history'][x]['is_user_correct'] for x in range(len(js['history']))])
+ top1_acc.append((acc*100).round(2))
+
+
+ print('# of top1: ', len(top1_results))
+ print('top1 Accuracy: ', top1_acc)
+ # print std and mean of top1_acc
+ std = np.std(top1_acc)
+ mean = np.mean(top1_acc)
+
+ print('top1 std: ', std)
+ print('top1 mean: ', mean)
+
+
+
+
+ print('----------------------------------')
+
+
+ print('# of topK: ', len(topK_results))
+ print('topK Accuracy: ', topK_acc)
+
+ std = np.std(topK_acc)
+ mean = np.mean(topK_acc)
+
+ print('topK std: ', std)
+ print('topK mean: ', mean)
+
+
+
+
+def calculate_the_results():
+ all_jsons_path = glob('./responses/*.json')
+ all_jsons = [json.load(open(path)) for path in all_jsons_path]
+
+ # count number of user corrects for each json and average and also calculate the type of NNs
+
+ top1_results = []
+ top1_acc = []
+ topK_results = []
+ topK_acc = []
+
+ for js in all_jsons:
+ # read one key and determine the type of NN
+ type_of_NNs = js['history'][0]['type']
+ if type_of_NNs == 'topK':
+ acc = np.mean([js['history'][x]['is_user_correct'] for x in range(len(js['history']))])
+ topK_acc.append((acc*100).round(2))
+ topK_results.append(js)
+ else:
+ top1_results.append(js)
+ acc = np.mean([js['history'][x]['is_user_correct'] for x in range(len(js['history']))])
+ top1_acc.append((acc*100).round(2))
+
+ top1_output = f"# of top1: {len(top1_results)}\ntop1 Accuracy: {top1_acc}\ntop1 std: {np.std(top1_acc)}\ntop1 mean: {np.mean(top1_acc)}\n----------------------------------\n"
+ topK_output = f"# of topK: {len(topK_results)}\ntopK Accuracy: {topK_acc}\ntopK std: {np.std(topK_acc)}\ntopK mean: {np.mean(topK_acc)}"
+
+ return top1_output + topK_output
+
+
+with gr.Blocks(theme=gr.themes.Soft()) as demo:
+ update_btn = gr.Button("Calculate the results")
+ results_textbox = gr.Textbox(lines=10, label="Results")
+
+
+
+ update_btn.click(fn=calculate_the_results, outputs=results_textbox)
+
+
+ demo.launch(debug=False, server_name="0.0.0.0", server_port=9911)
\ No newline at end of file
diff --git a/utils.py b/utils.py
new file mode 100644
index 0000000000000000000000000000000000000000..5c5b5b939e5d00d45cc28d75317c29c35fd82073
--- /dev/null
+++ b/utils.py
@@ -0,0 +1,20 @@
+import matplotlib.pyplot as plt
+import numpy as np
+
+
+def string_to_image(text):
+ text = text.replace("_", " ").lower().replace(", ", "\n")
+ # Create a blank white square image
+ img = np.ones((220, 75, 3))
+
+ fig, ax = plt.subplots(figsize=(6, 2.25))
+ ax.imshow(img, extent=[0, 1, 0, 1])
+ ax.text(0.5, 0.75, text, fontsize=18, ha="center", va="center")
+ ax.set_xticks([])
+ ax.set_yticks([])
+ ax.set_xticklabels([])
+ ax.set_yticklabels([])
+ for spine in ax.spines.values():
+ spine.set_visible(False)
+
+ return fig