MCPcopy Create free account
hub / github.com/Project-MONAI/MONAI / ValDataLoaderIter

Class ValDataLoaderIter

monai/optimizers/lr_finder.py:97–131  ·  view source on GitHub ↗

This iterator will reset itself **only** when it is acquired by the syntax of normal `iterator`. That is, this iterator just works like a `torch.data.DataLoader`. If you want to restart it, you should use it like: ``` loader_iter = ValDataLoaderIter(data_loader)

Source from the content-addressed store, hash-verified

95
96
97class ValDataLoaderIter(DataLoaderIter):
98 """This iterator will reset itself **only** when it is acquired by
99 the syntax of normal `iterator`. That is, this iterator just works
100 like a `torch.data.DataLoader`. If you want to restart it, you
101 should use it like:
102
103 ```
104 loader_iter = ValDataLoaderIter(data_loader)
105 for batch in loader_iter:
106 ...
107
108 # `loader_iter` should run out of values now, you can restart it by:
109 # 1. the way we use a `torch.data.DataLoader`
110 for batch in loader_iter: # __iter__ is called implicitly
111 ...
112
113 # 2. passing it into `iter()` manually
114 loader_iter = iter(loader_iter) # __iter__ is called by `iter()`
115 ```
116 """
117
118 def __init__(self, data_loader: DataLoader, image_extractor: Callable, label_extractor: Callable) -> None:
119 super().__init__(data_loader, image_extractor, label_extractor)
120 self.run_limit = len(self.data_loader)
121 self.run_counter = 0
122
123 def __iter__(self):
124 if self.run_counter >= self.run_limit:
125 self._iterator = iter(self.data_loader)
126 self.run_counter = 0
127 return self
128
129 def __next__(self):
130 self.run_counter += 1
131 return super().__next__()
132
133
134def default_image_extractor(x: Any) -> torch.Tensor:

Callers 1

range_testMethod · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…