()
| 226 | """ |
| 227 | |
| 228 | def data_reader() -> Generator[_T, None, None]: |
| 229 | buf = [] |
| 230 | for e in reader(): |
| 231 | buf.append(e) |
| 232 | if len(buf) >= buf_size: |
| 233 | random.shuffle(buf) |
| 234 | for b in buf: |
| 235 | yield b |
| 236 | buf = [] |
| 237 | |
| 238 | if len(buf) > 0: |
| 239 | random.shuffle(buf) |
| 240 | for b in buf: |
| 241 | yield b |
| 242 | |
| 243 | return data_reader |
| 244 |