Browse Source

fixed some uuid type issues

Dimitri Korsch 6 năm trước cách đây
mục cha
commit
965c42238e
2 tập tin đã thay đổi với 5 bổ sung5 xóa
  1. 2 2
      nabirds/annotations/base.py
  2. 3 3
      nabirds/annotations/inat.py

+ 2 - 2
nabirds/annotations/base.py

@@ -166,8 +166,8 @@ class BaseAnnotations(abc.ABC):
 		uuid_to_parts = defaultdict(list)
 		for content in [i.split() for i in self._part_locs]:
 			uuid = content[0]
-			assert uuid in self.uuids, \
-				"Could not find UUID \"\" from part annotations in image annotations!".format(uuid)
+			# assert uuid in self.uuids, \
+			# 	"Could not find UUID \"\" from part annotations in image annotations!".format(uuid)
 			uuid_to_parts[uuid].append([float(c) for c in content[1:]])
 
 		uuid_to_parts = dict(uuid_to_parts)

+ 3 - 3
nabirds/annotations/inat.py

@@ -67,7 +67,7 @@ class INAT19_Annotations(BaseAnnotations):
 
 	def _load_split(self):
 		self.train_split = np.ones(len(self.uuids), dtype=bool)
-		val_uuids = [im["id"] for im in self._val_content["images"]]
+		val_uuids = [str(im["id"]) for im in self._val_content["images"]]
 		for v_uuid in val_uuids:
 			self.train_split[self.uuid_to_idx[v_uuid]] = False
 
@@ -75,11 +75,11 @@ class INAT19_Annotations(BaseAnnotations):
 
 	def _load_labels(self):
 		self.labels = np.zeros(len(self.uuids), dtype=np.int32)
-		labs = {annot["image_id"]: annot["category_id"] for annot in self._content["annotations"]}
+		labs = {str(annot["image_id"]): annot["category_id"] for annot in self._content["annotations"]}
 		for uuid in self.uuids:
 			self.labels[self.uuid_to_idx[uuid]] = labs[uuid]
 
 	def _load_uuids(self):
-		uuid_fnames = [(im["id"], im["file_name"]) for im in self._content["images"]]
+		uuid_fnames = [(str(im["id"]), im["file_name"]) for im in self._content["images"]]
 		self.uuids, self.images = map(np.array, zip(*uuid_fnames))
 		self.uuid_to_idx = {uuid: i for i, uuid in enumerate(self.uuids)}