1. 程式人生 > >pytorch 若干小坑

pytorch 若干小坑

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)#設定自己的圖片載入函式

——————————————————-

持續更新中。。。