正文
既然哆啦a梦是机器人,咱们就另外找个机器人来区分吧。
一提到机器人,我立刻就想起来了它。
对,机器人瓦力(WALLE)。
我给你准备好了119张哆啦a梦的照片,和80张瓦力的照片。图片已经上传到了
这个Github项目
。
请点击
这个链接
,下载压缩包。然后在本地解压。作为咱们的
演示目录
。
解压后,你会看到目录下有个image文件夹,其中包含两个子目录,分别是doraemon和walle。
打开其中doraemon的目录,我们看看都有哪些图片。
可以看到,哆啦a梦的图片真是五花八门。各种场景、背景颜色、表情、动作、角度……不一而足。
这些图片,大小不一,长宽比例也各不相同。
我们再来看看瓦力,也是类似的状况。
数据已经有了,下面我们来准备一下环境配置。
环境
我们使用Python集成运行环境Anaconda。
请到
这个网址
下载最新版的Anaconda。下拉页面,找到下载位置。根据你目前使用的系统,网站会自动推荐给你适合的版本下载。我使用的是macOS,下载文件格式为pkg。
下载页面区左侧是Python 3.6版,右侧是2.7版。请选择2.7版本。
双击下载后的pkg文件,根据中文提示一步步安装即可。
安装好Anaconda后,我们需要安装TuriCreate。
请到你的“终端”(Linux, macOS)或者“命令提示符”(Windows)下面,进入咱们刚刚下载解压后的样例目录。
执行以下命令,我们来创建一个Anaconda虚拟环境,名字叫做turi。
conda create -n turi python=2.7 anaconda
然后,我们激活turi虚拟环境。
source activate turi
在这个环境中,我们安装最新版的TuriCreate。
pip install -U turicreate
安装完毕后,执行:
jupyter notebook
这样就进入到了Jupyter笔记本环境。我们新建一个Python 2笔记本。
这样就出现了一个空白笔记本。
点击左上角笔记本名称,修改为有意义的笔记本名“demo-python-image-classification”。
准备工作完毕,下面我们就可以开始编写程序了。
代码
首先,我们读入TuriCreate软件包。它是苹果并购来的机器学习框架,为开发者提供非常简便的数据分析与人工智能接口。
import turicreate as tc
我们指定图像所在的文件夹image。
img_folder = 'image'
前面介绍了,image下,有哆啦a梦和瓦力这两个文件夹。注意如果将来你需要辨别其他的图片(例如猫和狗),请把不同类别的图片也在image中分别存入不同的文件夹,这些文件夹的名称就是图片的类别名(cat和dog)。
然后,我们让TuriCreate读取所有的图像文件,并且存储到data数据框。
data = tc.image_analysis.load_images(img_folder, with_path=True)
这里可能会有错误信息。
Unsupported image format. Supported formats are JPEG and PNG file: /Users/wsy/Dropbox/var/wsywork/learn/demo-workshops/demo-python-image-classification/image/walle/.DS_Store
本例中提示,有几个
.DS_Store
文件,TuriCreate不认识,无法当作图片来读取。