【最佳实践】半监督学习中对有监督数据集和无监督数据集的采样问题

对于少量的有监督数据集和大量的无监督数据集,只用zip的话,那么取完有监督数据集后剩下的无监督数据集就浪费了,这个时候可以使用python内置的itertools,将其中的小部分变成循环采样:

from itertools import cycle
for idx, (sup_data, un_data) in enumerate(zip(cycle(sup_dataloader), unsup_dataloader)):
    (imgs, labels) = sup_data[0].to(device), sup_data[1].to(device)
    (uimgs, ulabels) = un_data[0].to(device), None
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章