国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

腳本之家,腳本語言編程技術及教程分享平臺!
分類導航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服務器之家 - 腳本之家 - Python - Pytorch dataloader在加載最后一個batch時卡死的解決

Pytorch dataloader在加載最后一個batch時卡死的解決

2021-11-16 10:57Wilber529 Python

這篇文章主要介紹了Pytorch dataloader在加載最后一個batch時卡死的解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

問題:

自己寫了個dataloader,為了部署方便,用OpenCV的接口進行數據讀取,而沒有用PIL,代碼大致如下:

?
1
2
3
4
5
6
7
8
9
10
11
def __getitem__(self, idx):
    sample = self.samples[idx]
 
    img = cv2.imread(sample[0])
    img = cv2.resize(img, tuple(self.input_size))
    img = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)
    # if not self.val and random.randint(1, 10) < 3:
    #     img = self.img_aug(img)
    img = Image.fromarray(img)
    img = self.transforms(img)       
    ...

結果在訓練過程中,在第1個epoch的最后一個batch時,程序卡死。

解決方案:

可能是因為OpenCV與Pytorch互鎖的問題,關閉OpenCV的多線程,問題解決。

?
1
2
cv2.setNumThreads(0)
cv2.ocl.setUseOpenCL(False)

補充:pytorch 中一個batch的訓練過程

?
1
2
3
4
5
6
# 一般情況下
optimizer.zero_grad()             # 梯度清零
preds = model(inputs)             # inference,前向傳播求出預測值
loss = criterion(preds, targets)  # 計算loss
loss.backward()                   # 反向傳播求解梯度
optimizer.step()                  # 更新權重,更服務器之家絡權重參數

此外,反向傳播前,如果不進行梯度清零,則可以實現梯度累加,從而一定程度上解決顯存受限的問題。

以上為個人經驗,希望能給大家一個參考,也希望大家多多支持服務器之家。

原文鏈接:https://blog.csdn.net/sinat_37532065/article/details/103990364

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 综合久久99| 欧美a视频 | 玖玖视频| 日韩一区二区在线观看 | 尤物视频在线观看 | 日本三级韩国三级三级a级中文 | 国产一区二区三区播放 | 欧美成人精品一区二区 | 欧美日韩综合在线 | 一区二区免费 | 亚洲欧美日韩国产综合 | 国产精品亚洲视频 | 久久久www成人免费无遮挡大片 | 欧美日韩激情一区二区三区 | 精品国产91 | 免费三级国产 | 欧美精品福利视频 | 午夜看片 | 午夜免费视频福利 | 日韩欧美在线综合 | 日韩爱爱免费视频 | 国产99久久 | 九九热1| 日本精品在线观看视频 | 人人叉人人 | 亚洲免费影院 | 国产精品永久免费 | 欧美日韩精品久久久 | 亚洲在线一区二区 | 91正在播放 | 视频一区二区三区在线观看 | 国产精品欧美日韩 | 日韩电影在线看 | 欧美日韩精品一区二区三区四区 | 99热首页 | 99在线免费观看 | 99re在线精品 | 日韩中文字幕视频在线观看 | 韩国av一区二区 | 亚洲三级在线观看 | 精品国产青草久久久久福利 |