Spaces:
Runtime error
Runtime error
integrate-new-concepts
#3
by
Xmaster6y
- opened
- src/constants.py +1 -1
- src/global_variables.py +3 -2
- src/label_interface.py +3 -3
- src/sample_interface.py +2 -2
src/constants.py
CHANGED
|
@@ -5,7 +5,7 @@ import os
|
|
| 5 |
import pathlib
|
| 6 |
|
| 7 |
|
| 8 |
-
DATASET_NAME = "
|
| 9 |
CONCEPTS = [
|
| 10 |
# Shapes
|
| 11 |
"sphere",
|
|
|
|
| 5 |
import pathlib
|
| 6 |
|
| 7 |
|
| 8 |
+
DATASET_NAME = "mulsi/fruit-vegetable-concepts"
|
| 9 |
CONCEPTS = [
|
| 10 |
# Shapes
|
| 11 |
"sphere",
|
src/global_variables.py
CHANGED
|
@@ -78,7 +78,8 @@ def update_votes(
|
|
| 78 |
all_votes[s_id] = {}
|
| 79 |
all_votes[s_id][username] = {c: c in voted_concepts for c in CONCEPTS}
|
| 80 |
new_concepts = compute_concepts(all_votes[s_id])
|
| 81 |
-
|
|
|
|
| 82 |
|
| 83 |
def compute_concepts(votes):
|
| 84 |
vote_sum = {c: 0 for c in CONCEPTS}
|
|
@@ -122,7 +123,7 @@ def save_current_work(
|
|
| 122 |
for row in reader:
|
| 123 |
s_id = row["id"]
|
| 124 |
if s_id in all_votes:
|
| 125 |
-
row
|
| 126 |
new_metadata[split].append(row)
|
| 127 |
with jsonlines.open(f"{ASSETS_FOLDER}/{DATASET_NAME}/data/{split}/metadata.jsonl", mode='w') as writer:
|
| 128 |
writer.write_all(new_metadata[split])
|
|
|
|
| 78 |
all_votes[s_id] = {}
|
| 79 |
all_votes[s_id][username] = {c: c in voted_concepts for c in CONCEPTS}
|
| 80 |
new_concepts = compute_concepts(all_votes[s_id])
|
| 81 |
+
for concept, concept_value in new_concepts.items():
|
| 82 |
+
all_metadata[current_split][idx][concept] = concept_value
|
| 83 |
|
| 84 |
def compute_concepts(votes):
|
| 85 |
vote_sum = {c: 0 for c in CONCEPTS}
|
|
|
|
| 123 |
for row in reader:
|
| 124 |
s_id = row["id"]
|
| 125 |
if s_id in all_votes:
|
| 126 |
+
row.update(compute_concepts(all_votes[s_id]))
|
| 127 |
new_metadata[split].append(row)
|
| 128 |
with jsonlines.open(f"{ASSETS_FOLDER}/{DATASET_NAME}/data/{split}/metadata.jsonl", mode='w') as writer:
|
| 129 |
writer.write_all(new_metadata[split])
|
src/label_interface.py
CHANGED
|
@@ -12,7 +12,7 @@ from src.constants import CONCEPTS, ASSETS_FOLDER, DATASET_NAME
|
|
| 12 |
|
| 13 |
|
| 14 |
def filter_sample(sample, concepts, username, sample_type):
|
| 15 |
-
has_concepts = all([sample[
|
| 16 |
if not has_concepts:
|
| 17 |
return False
|
| 18 |
if "votes" in sample and username in sample["votes"]:
|
|
@@ -53,14 +53,14 @@ def get_next_image(
|
|
| 53 |
except KeyError:
|
| 54 |
voted_concepts = []
|
| 55 |
unseen_concepts = []
|
| 56 |
-
tie_concepts = [c for c in
|
| 57 |
|
| 58 |
return (
|
| 59 |
image_path,
|
| 60 |
voted_concepts,
|
| 61 |
f"{split}:{sample_idx}",
|
| 62 |
sample["class"],
|
| 63 |
-
sample[
|
| 64 |
unseen_concepts,
|
| 65 |
tie_concepts,
|
| 66 |
filtered_indices,
|
|
|
|
| 12 |
|
| 13 |
|
| 14 |
def filter_sample(sample, concepts, username, sample_type):
|
| 15 |
+
has_concepts = all([sample[c] for c in concepts])
|
| 16 |
if not has_concepts:
|
| 17 |
return False
|
| 18 |
if "votes" in sample and username in sample["votes"]:
|
|
|
|
| 53 |
except KeyError:
|
| 54 |
voted_concepts = []
|
| 55 |
unseen_concepts = []
|
| 56 |
+
tie_concepts = [c for c in CONCEPTS if sample[c] is None]
|
| 57 |
|
| 58 |
return (
|
| 59 |
image_path,
|
| 60 |
voted_concepts,
|
| 61 |
f"{split}:{sample_idx}",
|
| 62 |
sample["class"],
|
| 63 |
+
{c: sample[c] for c in CONCEPTS},
|
| 64 |
unseen_concepts,
|
| 65 |
tie_concepts,
|
| 66 |
filtered_indices,
|
src/sample_interface.py
CHANGED
|
@@ -37,14 +37,14 @@ def get_image(
|
|
| 37 |
except KeyError:
|
| 38 |
voted_concepts = []
|
| 39 |
unseen_concepts = []
|
| 40 |
-
tie_concepts = [c for c in
|
| 41 |
|
| 42 |
return (
|
| 43 |
image_path,
|
| 44 |
voted_concepts,
|
| 45 |
f"{split}:{sample_idx}",
|
| 46 |
sample["class"],
|
| 47 |
-
sample[
|
| 48 |
str(sample_idx),
|
| 49 |
unseen_concepts,
|
| 50 |
tie_concepts,
|
|
|
|
| 37 |
except KeyError:
|
| 38 |
voted_concepts = []
|
| 39 |
unseen_concepts = []
|
| 40 |
+
tie_concepts = [c for c in CONCEPTS if sample[c] is None]
|
| 41 |
|
| 42 |
return (
|
| 43 |
image_path,
|
| 44 |
voted_concepts,
|
| 45 |
f"{split}:{sample_idx}",
|
| 46 |
sample["class"],
|
| 47 |
+
{c: sample[c] for c in CONCEPTS},
|
| 48 |
str(sample_idx),
|
| 49 |
unseen_concepts,
|
| 50 |
tie_concepts,
|