ds_trn, ds_val = SetDataset(trn, batch_size, 'train'), SetDataset(val, batch_size, 'val')
如何避免出现SetDataset的两次出现,而只使它出现一次?
答案 0 :(得分:1)
您可以执行此操作,但是在我看来,它的可读性较差:
ds_trn, ds_val = (SetDataset(thing, batch_size, name) for thing, name in [(trn, 'train'), (val, 'val')])
对于两个变量来说,这似乎有些矫kill过正,但是如果您需要一个相对较大的SetDataset
对象列表,它确实会发光。
答案 1 :(得分:1)
仅当要初始化的对象多于两个时,这才有用:
ds_trn, ds_val = map(lambda p : SetDataset(*p), [(trn, batch_size, 'train'), (val, batch_size, 'val')])