使用机器学习能力使先前不可能的事情成为可能机器学习是所有组织可使用的最重要工具机学习的可能性无限最优应用之一是图像识别设计各种软件和应用以识别从交通灯到空间探索的应用辨别和分类对象能力在人类无法达到的地方是易用性计算机视觉
获取太复杂高技术项目前,应知道如何训练计算机识别和辨识对象无需深入复杂数学或需要大量数据所有你需要的是一个库 专为此目的制作Python是机器学习中最重要的语言,我们需要专为此目的设计一库fatai是少数专为帮助机器学习而定制的库之一
让我们从神经网络做点有用的东西多位生物学家和研究者都喜欢收集不同类型物种数据,但他们不能每次都在场收集数据。机器学习神经网络就从那里来
或机器识别鸟出风景 帮助收集有价值的数据
开工吧
ip安装-Uqq快速
命令行代码安装最新版本fastai duckgo_Search库平均运行时间:8.2秒
从快书导入
快速视觉全导入
运算平均时间:8.2秒
流
- duckDuckGo搜索动物图片
- 微调训练前神经网络识别动物群
- 试用随机动物图片运行模型 看它是否有效
搜索 = bird,ephant,tiger,graffe
路径=路径
自时导入睡眠
o搜索中:
dest=路径/o
des.mkdir
download_images(dest,urls=search_images_ddg( f'{o} photos', max_images=100))
sleep(10)
缩放images(path/o,最大尺寸=400,dest=路径/o)
搜索中包含所有动物
路径为目标文件夹
启动环路为每个动物创建不同文件夹并下载100图像,使用下载图像函数并搜索图像平均运行时间:22分钟
失败=校验images
failed.map(Path.unlink)
len(失效)
代码线从文件夹清除破损图像并输出破损图像数
步骤2:培训模型
训练模型时,我们需要数据操作器,它包含训练集(图像创建模型)和验证集(图像检验模型精度-培训期间不使用)。并浏览快信库样本图片
dls=DataBlock
块值=(图像锁,分类锁)
get项目=获取image文件
拆分器=随机splites
Get_y=父标签
tfms=[Reseze(192,方法=squish
.dataloaders(path,bs=32)
dls.show_batch(max_n=7)
blocks=(ImageBlock, CategoryBlock),
输入模型为图像,输出类别为类别(在这种情况下为Bird或Forest)。
get_items=get_image_files,
查找模型所有输入并运行 get_image_file函数
splitter=RandomSplitter(valid_pct=0.2, seed=42),
随机拆分数据编译集,使用20%数据编译集
get_y=parent_label,
标签(y值)为文件父名名称文件夹内, 即鸟或林)
item_tfms=[Resize(192, method='squish')]
训练前, 调整图像大小为 192x192像素
学习=视觉learner
learn.fine_tune(3)
现在我们准备训练模型最常用计算机视觉模型是Resnet18几分钟内你就可以训练它 即使是CPU
fune方法自动使用最佳做法微调预培训模型,
步骤3:运行模型
is_bird,_, probs = learn.predict(PILImage.create('not_bird2.jpg'))
print(f)'s a bird?
prints[1].itm():6.f}
输入文件夹中显示的任何文件,以便检查图像中的动物平均运行时间 < 2s
开始吧鸟分类器快速识别心跳中的任何动物(平均运行时间:2s)。继续通过机器学习创建自己的天堂
故事描述是我的激情,而你的反馈是我的燃料你可以支持我为写文章而投入的辛勤工作,Patreon页面即时发布以下是我博客上其他文章,