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

Method test_thread_safe

tests/data/test_cachedataset.py:130–191  ·  view source on GitHub ↗
(self, persistent_workers, cache_workers, loader_workers)

Source from the content-addressed store, hash-verified

128
129 @parameterized.expand(TEST_DS)
130 def test_thread_safe(self, persistent_workers, cache_workers, loader_workers):
131 expected = [102, 202, 302, 402, 502, 602, 702, 802, 902, 1002]
132 _kwg = {"persistent_workers": persistent_workers}
133 data_list = list(range(1, 11))
134 dataset = CacheDataset(
135 data=data_list, transform=_StatefulTransform(), cache_rate=1.0, num_workers=cache_workers, progress=False
136 )
137 self.assertListEqual(expected, list(dataset))
138 loader = DataLoader(
139 CacheDataset(
140 data=data_list,
141 transform=_StatefulTransform(),
142 cache_rate=1.0,
143 num_workers=cache_workers,
144 progress=False,
145 ),
146 batch_size=1,
147 num_workers=loader_workers,
148 **_kwg,
149 )
150 self.assertListEqual(expected, [y.item() for y in loader])
151 self.assertListEqual(expected, [y.item() for y in loader])
152
153 dataset = SmartCacheDataset(
154 data=data_list,
155 transform=_StatefulTransform(),
156 cache_rate=0.7,
157 replace_rate=0.5,
158 num_replace_workers=cache_workers,
159 progress=False,
160 shuffle=False,
161 )
162 self.assertListEqual(expected[:7], list(dataset))
163 loader = DataLoader(
164 SmartCacheDataset(
165 data=data_list,
166 transform=_StatefulTransform(),
167 cache_rate=0.7,
168 replace_rate=0.5,
169 num_replace_workers=cache_workers,
170 progress=False,
171 shuffle=False,
172 ),
173 batch_size=1,
174 num_workers=loader_workers,
175 **_kwg,
176 )
177 self.assertListEqual(expected[:7], [y.item() for y in loader])
178 self.assertListEqual(expected[:7], [y.item() for y in loader])
179
180 with tempfile.TemporaryDirectory() as tempdir:
181 pdata = PersistentDataset(data=data_list, transform=_StatefulTransform(), cache_dir=tempdir)
182 self.assertListEqual(expected, list(pdata))
183 loader = DataLoader(
184 PersistentDataset(data=data_list, transform=_StatefulTransform(), cache_dir=tempdir),
185 batch_size=1,
186 num_workers=loader_workers,
187 shuffle=False,

Callers

nothing calls this directly

Calls 5

CacheDatasetClass · 0.90
DataLoaderClass · 0.90
SmartCacheDatasetClass · 0.90
PersistentDatasetClass · 0.90
_StatefulTransformClass · 0.85

Tested by

no test coverage detected