enabled file sorting based on subject and match strength
This commit is contained in:
47
formatresult.py
Normal file
47
formatresult.py
Normal file
@@ -0,0 +1,47 @@
|
||||
import json, os, shutil
|
||||
|
||||
def format_result(src_path, json_path):
|
||||
insertions_by_label = {}
|
||||
|
||||
weak_results = 0
|
||||
total_count = 0
|
||||
|
||||
with open(json_path) as results:
|
||||
contents = json.load(results)
|
||||
|
||||
for qualifier in ['strong', 'moderate', 'fair', 'weak']:
|
||||
if not os.path.exists("./predictions/" + qualifier):
|
||||
os.makedirs('./predictions/' + qualifier)
|
||||
|
||||
for line in contents:
|
||||
img_path = src_path + line['path']
|
||||
prediction = line['prediction']
|
||||
for section in prediction:
|
||||
total_count += 1
|
||||
guess_label = section[0][1]
|
||||
match_strength = 'weak/'
|
||||
|
||||
if float(section[0][2]) > 0.9:
|
||||
match_strength = 'strong/'
|
||||
elif float(section[0][2]) > 0.75:
|
||||
match_strength = 'moderate/'
|
||||
elif float(section[0][2]) > 0.5:
|
||||
match_strength = 'fair/'
|
||||
elif match_strength == 'weak/':
|
||||
weak_results += 1
|
||||
|
||||
if not guess_label in insertions_by_label:
|
||||
insertions_by_label[guess_label] = 0
|
||||
|
||||
if (not os.path.exists("./predictions/" + match_strength + guess_label)):
|
||||
os.makedirs("./predictions/" + match_strength + guess_label)
|
||||
|
||||
if (not os.path.exists('./predictions/' + match_strength + guess_label + '/' + img_path)):
|
||||
shutil.copy(img_path, "./predictions/" + match_strength + guess_label)
|
||||
insertions_by_label[guess_label] = insertions_by_label[guess_label] + 1
|
||||
|
||||
print(str(weak_results) + " weak result(s) of a total " + str(total_count) + " input(s)\n")
|
||||
print("By subject:\n\n")
|
||||
|
||||
for k, v in insertions_by_label.items():
|
||||
print(k + ": " + str(v) + " file(s) found")
|
||||
Reference in New Issue
Block a user