Turi Create 是什么?
Turi Create 是 Apple 开源的一款机器学习工具库, 可用于通过迁移学习, 构建对象检测、图像分类、图像相似性或活动分类功能的 ML 模型.
Turi Create 支持的平台包括 macOS 10.12+
, Linux (with glibc 2.12+)
, Windows 10 (via WSL)
使用Turi Create
-
- 建议安装 Anaconda, 机器学习全家桶. 安装完, 打开 Anaconda 程序, 添加一个独立的环境, 如果嫌麻烦, 可以直接使用 root 下的环境.
-
- 创建完环境后, 安装需要的第三方库, 比如
turicreate
,jupyter notebook
,
- 创建完环境后, 安装需要的第三方库, 比如
pip install turicreate jupyter
-
- 利用 jupyter notebook 编写代码
下面展示了 Turi Create 目前能做的事, 基本上都是在训练的时候, 下载相关的机器学习模型的权重文件, 来创建新的模型. 也叫迁移学习.
- 利用 jupyter notebook 编写代码
ML Task | Description |
---|---|
Recommender | 用户推荐 |
Image Classification | 图片分类 |
Object Detection | 物体识别 |
Style Transfer | 图片风格化 |
Activity Classification | 动作识别 |
Image Similarity | 图片归同 |
Classifiers | 预测标签 |
Regression | 回归分析 |
Clustering | 数据分组 |
Text Classifier | 文本识别 |
下面是风格转化. 我是在 jupyter notebook 里编写代码, 最大的好处是分步展示输出代码效果.
mport turicreate as tc
# 加载数据
styles = tc.load_images('style_image/')
content = tc.load_images('content_image/')
# 创建模型
model = tc.style_transfer.create(styles, content)
# 测试图片
test_images = tc.load_images('content_image2/')
# 风格化
# 输出所有效果
stylized_images = model.stylize(test_images)
# 输出第一种效果
stylized_images2 = model.stylize(test_images, style=0)
# 输出第一种和第二种效果
stylized_images3 = model.stylize(test_images, style=[0, 1])
# 调整图片最大值
stylized_images4 = model.stylize(test_images, max_size=1024)
# 展示效果
stylized_images.explore()
# 保存模型
model.save('transfer.model')
# 导出为 Core ML 模型
model.export_coreml('transfer.mlmodel')
Turi Create 的优缺点
- 优点: 利用迁移学习, 大大简化了机器学习的过程.
- 缺点:
- 目前只支持
macOS 10.12+
,Linux (with glibc 2.12+)
,Windows 10 (via WSL)
, 这三个平台. 如果没有GPU加速的话, 训练会非常费劲. - 目前只能做到迁移学习, 而且训练的过程是不可参与的, 内部无法调试, 与其相对, TFiwS 可以自定义模型, 但是目前还不成熟.
- 目前只支持
IBM_Watson 服务是什么?
app 可通过接入 Watson 的服务, 来快速分析图像,准确地对视觉内容进行分类,并轻松地训练模型.
Watson 服务有哪些?
在 IBM 官网注册账号, 登录后, 在这里可以看到有一些比较有意思的服务, 比如Text to Speech
, Speech to Text
, Language Translator
, visual Recognition
.
使用 Watson 服务
- 这里有一个 Watson 提供的一个 图片识别的项目. 项目里面有详细介绍怎么使用 Waston 服务, 我就不赘述. 基本上大部分服务都支持中文.
- 免费用户的 API 调用次数是 10000次/月, 一般的使用应该是足够的.
模型转换器:
- Core ML Tools 这个 python 包支持将机器学习工具箱中的模型转换为 Core ML 格式.
- MXNet -> CoreML 支持将 MXNet 模型转化为 CoreML格式
- TF -> CoreML支持将 TensorFlow 模型转化为 CoreML 格式.
- ONNX -> CoreML支持将 ONNX 模型 转化为 CoreML 格式.
官方提供的可下载的预训练模型:
MobileNet, SqueezeNet, Places205-GoogLeNet, ResNet50, Inception v3, VGG16
这些模型基本上擅长的工作都是 图像识别 一类的
总结:
基本上关于 Apple 在 ML 这一领域的系列文章可以暂时告一段落, 总得来说, Apple 在 ML 这一领域在不断发展, 虽然目前来看, 还远远达不到生产的程度, TFiwS 还是太年轻, 毕竟只开源了 5 个月左右.
参考
Apple官网-机器学习-中文
使用 Core ML 模型-中文
CoreML 模型集锦
iOS-机器学习