fastai案例學習(1)——實現貓狗分類
阿新 • • 發佈:2018-11-30
本文主要介紹fastai自帶的例子,即使用fastai實現貓狗分類。
1、匯入包
from fastai import *
from fastai.vision import *
2、下載資料
# 匯入資料
path = untar_data(URLs.DOGS)
path
Output: PosixPath('/home/cc/.fastai/data/dogscats')
3、顯示一張訓練資料圖片
data = ImageDataBunch.from_folder(path, ds_tfms=get_transforms(), size=224).normalize(imagenet_stats) img,label = data.valid_ds[-1] img.show(title=label)
4、使用resnet34進行訓練:
learn = create_cnn(data, models.resnet34, metrics=accuracy)
learn.fit_one_cycle(1)
Output:
Total time: 50:37
epoch train_loss valid_loss accuracy
1 0.047413 0.024584 0.991000 (50:37)
learn.unfreeze()
learn.fit_one_cycle(6, slice(1e-5,3e-4), pct_start=0.05)
Ouput:
accuracy(*learn.TTA())
Output:
5、使用restnet50進行訓練:
learn = create_cnn(data, models.resnet50, metrics=accuracy)
learn.fit_one_circle(6)
Output:
learn.unfreeze()
learn.fit_one_circle(6,slice(1e-5, 3e-4), pct_start=0.05)
Output:
準確率:
accuracy(*learn.TTA())
Output:
注:由於時間關係其他的訓練結果不再給出。