SyntaxError: ‘yield’ inside list comprehension的解决方法
问题解析
在列表推导式中使用了 yield,所以导致 SyntaxError。
将列表推导式改为普通的for循环可以解决这个问题
解决方法
代码解释:注释掉原来的部分, def generator(): 这个函数是新写的,替代lambda推导式的作用。
def __iter__(self):
if self._num_workers == 0:
def generator():
for batch in self._batch_sampler:
yield self._batchify_fn([self._dataset[idx] for idx in batch])
# generator = lambda: [(yield self._batchify_fn([self._dataset[idx] for idx in batch])) for batch in self._batch_sampler]
return generator
互帮互助,共同成长!