此部分是筆者學習fastai文件關於影象部分的記錄,只記錄了筆者學習過程中覺得較為重要的東西,比較簡略,可能並不適合其他人,詳情還請參考fastai官方文件
fastai的是一種建立在pytorch的頂層框架,類似於tensorflow的keras,其簡化了建立神經網路的過程。fastai的主要物件是learner,其將資料與網路繫結,更加簡便的實現訓練等過程。
在fastai的vision模組中,主要包括四個子類,image,transfrom,data以及learner,來實現從資料預處理,資料集的定義,模型的建立以及訓練等一系列過程。
示例:
from fastai.vision import *
path = untar_data(urls.mnist_sample)
data = imagedatabunch.from_folder(path)
learn = create_cnn(data, models.resnet18, metrics=accuracy)
learn.fit(1)
open_image可以開啟並顯示影象;
imgimagesegment是image的子類,其中包含了許多開啟掩膜的函式。
imagebbox是image的另乙個子類,可以開啟用於目標檢測的一些影象。
image中還包含了許多用於視覺化的函式,影象變換的函式
一般使用get_transforms來進行影象增強,示例如下:
tfms = get_transforms(max_rotate=25)
len(tfms)
函式細節如下所示:
get_transforms(`do_flip`:bool=`true`, `flip_vert`:bool=`false`, `max_rotate`:float=`10.0`, `max_zoom`:float=`1.1`, `max_lighting`:float=`0.2`, `max_warp`:float=`0.2`, `p_affine`:float=`0.75`, `p_lighting`:float=`0.75`, `xtra_tfms`:optional[collection[transform]]=`none`) → collection[transform]
通過databunch物件來定義資料集。
讀取檔名代表標籤的影象資料,使用示例如下:
tfms = get_transforms(do_flip=false)
data = imagedatabunch.from_folder(path, ds_tfms=tfms, size=24)
讀取標籤儲存在csv檔案的影象資料,使用示例如下:
ds_tfms=get_transforms(flip_vert=true, max_lighting=0.1, max_zoom=1.05, max_warp=0.))除此之外,還有許多讀取資料的方式,詳情參見文件。
create_cnn可以快速建立乙個遷移學習的模型,細節如下:
create_cnn(`data`:databunch, `arch`:callable, `cut`:union[int, callable]=`none`, `pretrained`:bool=`true`, `lin_ftrs`:optional[collection[int]]=`none`, `ps`:floats=`0.5`, `custom_head`:optional[module]=`none`, `split_on`:union[callable, collection[modulelist], nonetype]=`none`, `bn_final`:bool=`false`, `kwargs`:any) → learner
unet_learner建立乙個動態的unet結構。
fastai整合了yolo的基礎框架darknet,分割的unet
fastai v1 0文件學習(三)
learner通過lr find方法找到合適的學習率,通過fit one cycle來訓練網路,通過to fp16來轉換半精度。方法描述 learner data databunch,model module,opt func callable adam loss func callable non...
Bootstrap學習文件(一)
boostrap中中文網 bootstrap 是最受歡迎的 html css 和 js 框架,用於開發響應式布局 移動裝置優先的 web 專案,使用這個框架可以簡單高效的開發出適配各種螢幕的 應用,即是編寫一套 適用多重平台 pc,平板,手機等 bootstrap 相比其他框架,自由度更高,它提供了...
python surprise學習文件 一
自動交叉驗證 train test split 和 fit 方法 訓練整個資料集和predict 方法 排個雷 evaluate 方法在1.0.5版本中已經棄用 功能上已由取代model selection cross validate 並在1.1.0中刪除 你要看一下你現在安裝的版本 surpri...