Skip to content

Commit 7ae24f4

Browse files
authored
Merge pull request #71 from fschlatt/main
Return none for dataset len if no length can be inferred
2 parents 0d6cb9e + 6cac461 commit 7ae24f4

1 file changed

Lines changed: 4 additions & 6 deletions

File tree

lightning_ir/data/dataset.py

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -199,14 +199,14 @@ def __init__(self, query_dataset: str, num_queries: int | None = None) -> None:
199199
super(IRDataset, self).__init__()
200200
self.num_queries = num_queries
201201

202-
def __len__(self) -> int:
202+
def __len__(self) -> int | None:
203203
"""Number of queries in the dataset.
204204
205205
:return: Number of queries
206206
:rtype: int
207207
"""
208208
# TODO fix len for multi-gpu and multi-worker inference
209-
return self.num_queries or self.ir_dataset.queries_count()
209+
return self.num_queries or getattr(self.ir_dataset, "queries_count", lambda: None)() or None
210210

211211
def __iter__(self) -> Iterator[QuerySample]:
212212
"""Iterate over queries in the dataset.
@@ -253,7 +253,7 @@ def __init__(self, doc_dataset: str, num_docs: int | None = None, text_fields: S
253253
self.num_docs = num_docs
254254
self.text_fields = text_fields
255255

256-
def __len__(self) -> int:
256+
def __len__(self) -> int | None:
257257
"""Number of documents in the dataset.
258258
259259
:raises ValueError: If no `num_docs` was not provided in the constructor and the number of documents cannot
@@ -262,9 +262,7 @@ def __len__(self) -> int:
262262
:rtype: int
263263
"""
264264
# TODO fix len for multi-gpu and multi-worker inference
265-
num_docs = self.num_docs or self.ir_dataset.docs_count()
266-
if num_docs is None:
267-
raise TypeError("Unable to determine number of documents.")
265+
num_docs = self.num_docs or getattr(self.ir_dataset, "doc_count", lambda: None)() or None
268266
return num_docs
269267

270268
def __iter__(self) -> Iterator[DocSample]:

0 commit comments

Comments
 (0)