美文网首页
机器学习之TuriCreate__IBM_Watson 服务

机器学习之TuriCreate__IBM_Watson 服务

作者: Lin__Chuan | 来源:发表于2018-10-11 20:25 被阅读91次

    Turi Create 是什么?

    Turi Create 是 Apple 开源的一款机器学习工具库, 可用于通过迁移学习, 构建对象检测、图像分类、图像相似性或活动分类功能的 ML 模型.
    Turi Create 支持的平台包括 macOS 10.12+, Linux (with glibc 2.12+), Windows 10 (via WSL)

    使用Turi Create

      1. 建议安装 Anaconda, 机器学习全家桶. 安装完, 打开 Anaconda 程序, 添加一个独立的环境, 如果嫌麻烦, 可以直接使用 root 下的环境.
      1. 创建完环境后, 安装需要的第三方库, 比如 turicreate, jupyter notebook,
    pip install turicreate jupyter
    
      1. 利用 jupyter notebook 编写代码
        下面展示了 Turi Create 目前能做的事, 基本上都是在训练的时候, 下载相关的机器学习模型的权重文件, 来创建新的模型. 也叫迁移学习.
    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 的优缺点

    • 优点: 利用迁移学习, 大大简化了机器学习的过程.
    • 缺点:
      1. 目前只支持macOS 10.12+, Linux (with glibc 2.12+), Windows 10 (via WSL), 这三个平台. 如果没有GPU加速的话, 训练会非常费劲.
      2. 目前只能做到迁移学习, 而且训练的过程是不可参与的, 内部无法调试, 与其相对, 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-机器学习

    相关文章

      网友评论

          本文标题:机器学习之TuriCreate__IBM_Watson 服务

          本文链接:https://www.haomeiwen.com/subject/cyfmaftx.html