Dogs vs. Cats Redux: Kernels Edition
由于此项目要求的计算量较大,建议使用亚马逊 p3.2xlarge 云服务器来完成该项目,在使用 p3 之前,你可以先用 p2.xlarge 练手,参考:在aws上配置深度学习主机 ,利用AWS学习深度学习。
使用深度学习方法识别一张图片是猫还是狗。
- 输入:一张彩色图片
- 输出:狗的概率
此数据集可以从 kaggle 上下载。Dogs vs. Cats Redux: Kernels Edition
此外还有一个数据集也非常好,可以作为扩充数据集或是做检测/分割问题:The Oxford-IIIT Pet Dataset
建议使用 OpenCV, tensorflow, Keras 完成该项目。其他的工具也可以尝试,比如 caffe, mxnet 等。
如果你不知道如何去构建你的模型,可以尝试以下的模型,后面的数字代表年份和月份:
- VGGNet 14.09
- ResNet 15.12
- Inception v3 15.12
- InceptionResNetV2 16.02
- DenseNet 16.08
- Xception 16.10
- NASNet 17.07
参考 Keras 文档:Documentation for individual models
本项目的最低要求是 kaggle Public Leaderboard 前10%。
https://www.kaggle.com/c/dogs-vs-cats-redux-kernels-edition/leaderboard
应用形式多种多样,可以是在本地调用摄像头跑的程序,也可以网页的,也可以是 iOS APP 或 Android APP,甚至可以是微信公众号。
推荐的工具:
可以参考这个例子:微信数字识别。
网页接口部分可以参考 Flask 而不必用 python cgi。
如果你使用 Keras 完成该项目,可以直接使用 Apple 提供的 Core ML Tools 把训练出来的 Keras 模型直接转为 iOS 可以使用的模型。
当然在 iOS 平台上你也可以使用 MetalPerformanceShaders 来实现卷积神经网络。
这里有一个 Inception v3 在 iOS 上跑的例子,你可以参考,不过我们还是建议直接用上面的工具将 Keras 的模型转为 iOS 直接可以使用的模型。
OpenCV 的 iOS Framework 文件可以直接在这里下载:OpenCV releases。这里有一份教程,可以轻松入门:turorial_hello
最终效果可以参考这个 app :PetOrNot
在 Android 上运行 tensorflow 可以参考 android tensorflow。
在 Android 上运行 OpenCV 可以参考 OpenCV4Android SDK。
你的项目会由优达学城项目评审师依照机器学习毕业项目要求来评审。请确定你已完整的读过了这个要求,并在提交前对照检查过了你的项目。提交项目必须满足所有要求中每一项才能算作项目通过。
- PDF 报告文件
- 数据预处理代码(jupyter notebook)
- 模型训练代码(jupyter notebook)
- notebook 导出的 html 文件
- 应用代码(可选)
- 包含使用的库,机器硬件,机器操作系统,训练时间等数据的 README 文档(建议使用 Markdown )



