1. 程式人生 > >fastai案例學習(1)——實現貓狗分類

fastai案例學習(1)——實現貓狗分類

本文主要介紹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:

注:由於時間關係其他的訓練結果不再給出。