pytorch 若干小坑
阿新 • • 發佈:2019-02-01
caffe靈活性還是比不上torch,想要快速建立新模型,torch是個不錯的選擇
#
batch size 設定略大則段錯誤
解決方法:
1.不要超過4(廢話)
2.在GPU上跑(又一句廢話)
不過目前就是這樣,好像沒別的辦法了
ImageFolder
在使用 ImageFolder時,如果原始圖片為單通道影象,該函式可能會把影象轉換為3通道,檢視torchvision/datasets/folder.py
原始碼,有如下三個函式
def pil_loader(path):
# open path as file to avoid ResourceWarning (https://github.com/python-pillow/Pillow/issues/835)
with open(path, 'rb') as f:
with Image.open(f) as img:
return img.convert('RGB')
def accimage_loader(path):
import accimage
try:
return accimage.Image(path)
except IOError:
# Potentially a decoding problem, fall back to PIL.Image
return pil_loader(path)
def default_loader(path):
from torchvision import get_image_backend
if get_image_backend() == 'accimage':
return accimage_loader(path)
else:
return pil_loader(path)
可知是default_loader呼叫accimage_loader失敗,轉而呼叫pil_loader時預設把所有影象轉化為RGB了。那我們只要寫一個自己的load函式給ImageFolder即可:
from PIL import Image
def readImg(path)
return Image.open(path)
#...
xx.ImageFolder(......,load=readImg)#設定自己的圖片載入函式
——————————————————-
持續更新中。。。