Spaces:
Running
Running
File size: 953 Bytes
85e3d20 |
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 |
import sys
import sys
import os
sys.path.append(os.path.join(os.path.dirname(__file__), "../env"))
import pandas as pd
from encode import rle_decode
import numpy as np
def dice_score(y_p, y_t, smooth=1e-6):
i = np.sum(y_p * y_t)
u = np.sum(y_p) + np.sum(y_t)
score = (2 * i + smooth)/(u + smooth)
return score
def get_score(submission_folder = "../env"):
submission_path = os.path.join(submission_folder, "submission.csv")
submission = pd.read_csv(submission_path, index_col='record_id')
ids = os.listdir(os.path.join(os.path.dirname(__file__), "test_answer"))
total_score = 0
for id in ids:
pred = submission.loc[int(id), 'encoded_pixels']
pred = rle_decode(pred)
score = dice_score(pred, np.load(f"{os.path.dirname(__file__)}/test_answer/{id}/human_pixel_masks.npy")[:,:,0])
total_score += score
return total_score/len(ids)
if __name__ == "__main__":
print(get_score()) |