Torch——[TypeError: can‘t pickle Environment objects]解决方案
生活随笔
收集整理的這篇文章主要介紹了
Torch——[TypeError: can‘t pickle Environment objects]解决方案
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
問(wèn)題描述
問(wèn)題分析
因?yàn)閣indows操作系統(tǒng)的原因,在Windows中,多進(jìn)程multiprocessing使用的是序列化pickle來(lái)在多進(jìn)程之間轉(zhuǎn)移數(shù)據(jù),而socket對(duì)象是不能被序列化的,但是在linux操作系統(tǒng)上卻沒(méi)問(wèn)題,因?yàn)樵趌inux上多進(jìn)程multiprocessing使用的是fork,所以在windows上可以改用多線程。因?yàn)榫W(wǎng)絡(luò)通信屬于io密集型的操作,對(duì)cpu計(jì)算要求不高,不用多進(jìn)程,用多線程就行。?
令num_workers=0,記得無(wú)論是參數(shù)設(shè)置還是數(shù)據(jù)集讀取處理的代碼。都要重新設(shè)置
解決方案
loader = torch.utils.data.DataLoader(dataset=dataset,batch_size=self.batch,shuffle=self.shuf,num_workers=0,#關(guān)鍵點(diǎn)drop_last=True)參考文章
成功解決can‘t pickle Environment objects和Ran out of input
與50位技術(shù)專家面對(duì)面20年技術(shù)見(jiàn)證,附贈(zèng)技術(shù)全景圖總結(jié)
以上是生活随笔為你收集整理的Torch——[TypeError: can‘t pickle Environment objects]解决方案的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 操作系统——磁盘寻道练习题及答案
- 下一篇: Cython——[FutureWarni