最近使用很多软件的时候会提示可以选择开启青少年模式,这些大厂在保护青少年有所行动是好事,因为现在很多小朋友都开始玩手机。我就想起来能不能有一个算法去识别图片中是小孩或者是大人,这对计算机视觉来说不是一个复杂的问题,这是一个典型的分类问题。
在上一篇文章中图像分类实践展示了使用docker安装一个cpu的模型训练环境,今天我们在windows上安装一个GPU的版本。
万事开头难
需要安装
- anaconda3
python的科学计算环境 - CUDA
GPU程序包 - cudnn
神经网络的包,需要找到官网右键查看下载链接,最好用迅雷下载 - pytorch
最流行的AI(人工智能)工具
配置清华的源
conda install pytorch torchvision cudatoolkit=10.2 -c pytorch - fastai
基于上面的工具开发的快速开发深度学习算法程序的工具
conda install -c fastai fastai
准备数据
随便在网上下载了几十张照片,分别是百度图片和bing图片搜索的
训练数据 文件源只有22张照片设置了训练数据的目录,修复中文label显示的问题。
准备测试数据
标签函数需要自定义
查看测试数据
接下来基于上面的数据进行模型训练,训练的过程中打印错误率。这里基于resnet34算法,属于迁移学习,还使用的最新的训练方法。并没有进行调优。
训练
测试数据
我们使用新测试的数据以便区别训练数据和验证数据,使用模型没有见过的图片。
测试数据集
看看实际的效果
测试一 测试二看起来还不错的样子。
使用的电脑是普通的笔记本
GPU截图 GPU MX150安装机器学习的环境还比较快,花费了一两个小时(希望只安装一次)。GPU的内存比较小,需要调小每次训练batch的size,如果内存溢出需要重新启动kernel。
跑fastai的最简单示例竟然需要七分钟,看来还是要找免费的GPU。
网友评论