FASTAI
1.快速入门
安装库
pip install fastai
导入库
from fastai.vision.all import *
from fastai.text.all import *
from fastai.collab import *
from fastai.tabular.all import *
1.1图片分类–> 猫图片预测
path = untar_data(URLs.PETS)/'images'
def is_cat(x): return x[0].isupper()
dls = ImageDataLoaders.from_name_func(
path, get_image_files(path), valid_pct=0.2, seed=42,
label_func=is_cat, item_tfms=Resize(224))
learn = vision_learner(dls, resnet18, metrics=error_rate)
learn.fine_tune(1)
分析结果
#查看 top8 loss
interp = ClassificationInterpretation.from_learner(learn)
interp.plot_top_losses(k=8)
#查看cnfusion_matrix
interp.plot_confusion_matrix(figsize=(6,6))
1.2 分析代码
path = untar_data(URLs.PETS)
下载数据,返回数据集所在目录
files = get_image_files(path/"images")
获取path目录下/images文件
def label_func(f): return f[0].isupper()
数据处理函数,如果f的第一个字母为大写,则返回True,用到的数据集中首字母大写的为猫。
dls = ImageDataLoaders.from_name_func(path, files, label_func, item_tfms=Resize(224))
path为数据集路径,files为具体文件路径,label_func为对files进行的处理作为标签,item_tfms为图片的处理。
learn = vision_learner(dls, resnet34, metrics=error_rate)
learn.fine_tune(1)
使用数据集进行训练。
learn.predict(Path(r"C:\Users\qwrdxer\Pictures\Abyssinian_1.jpg"))
将图片地址转换为Path类型进行预测
使用lr_find来查找合适的学习率