【最佳實踐】半監督學習中對有監督數據集和無監督數據集的採樣問題

對於少量的有監督數據集和大量的無監督數據集,只用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
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章