美文网首页
一站式机器学习平台资源介绍

一站式机器学习平台资源介绍

作者: VentLam | 来源:发表于2019-03-18 19:57 被阅读0次

    1. 缘起

    近日和公司同学分享了推荐系统的构建、策略、算法等相关内容。由于课程长度缘故,来不及和大家实践一下,如何实现一个简单推荐系统的CTR预估模型。于是,课后想分享一个基于Jupyter Notebook的demo,发现居然一时间找不到国内可以用于分享、协作、运行的机器学习平台。通过google找到了几个一站式的机器学习平台,它们的特点都是基于Jupyter Notebook 构建的,都能够在上面开发、调试、训练、运行、分享机器学习相关的代码集和数据集。

    1.1 Jupyter NoteBook

    首先回顾介绍Jupyter Notebook,根据官网的介绍,Jupyter是一种可以允许用户创建、分享代码、公式、可视化等富文本的web 应用。用户通常在上面做数据清洗、数据转换、数值计算、统计建模、机器学习等等。可以说Jupyter是数据科学家最常用、最好用的工具之一,可以快速的对数据处理、可视化、建模,可以说是数据科学的事实标准编辑器了。

    Jupyter官网介绍

    1.2 免费平台资源

    平台名称 计算核心 核心运行时 内存 存储 支持语言
    google colab CPU 2cores /GPU tesla k80s 1core/TPU 8cores 12个小时 12G 50G py2,py3
    kaggle kernel CPU 4 cores/GPU 2cores 6个小时 16G/12G 1G py2,py3
    Azure Notebooks 未知 未知 4GB 1G py2,py3,R,F#

    一般而言,你用GPU训练一个模型,平台提供的内存资源会相应减少一些。在一些评测中,google的GPU比TPU性能稍微强劲些。总体而言,Google colab更加适合较为大型的模型的训练。

    1.3 收费平台资源

    不同的平台有不同的收费标准,基本上可以看做是函数计算的云服务在售卖,本质上比 AI as services 底层一点,基础收费方案,大约在一个月10刀左右。

    floydhub

    如下图所示,可以看到,主力方案,基本提供100G存储,使用的是NVIDIA的Tesla K80或者V100.但是需要注意这些资源都是抢占式的,运行时可以长达7天,一般能用上完整的GPU,内存在60G左右。


    floyhub 价格方案

    paperspace

    如下图所示,paperspace使用的内核和内存方案类似于floyhub,但是有一定GPU并发,以及notebook的限制。

    paperspace 价格方案

    当然,你还可以购买一台GPU Server 部署直接的Jupyter notebook。amazon,google,azure都有自己方案,那么价格就远贵于AI as service的供应商服务啦。

    2.Google Colab

    google colab 是以上介绍平台中,最适合个人开发者的。它不仅仅是提供切实可用的计算、存储资源,它的文件是默认存储在google drive中,也能够集成GitHub做版本控制。同时还可以安装第三方python包,读写第三方的数据源,还能很轻松分享notebook文件。

    打开首个google colab notebook,如下图所示:

    google colab

    可以通过修改设置,选择你的代码运行环境,google支持py2和py3,硬件加速支持CPU、GPU、TPU。

    修改运行时 选择后端引擎

    可以通过代码查看底层所分配的硬件资源。

    from tensorflow.python.client import device_lib
    device_lib.list_local_devices()
    
    硬件资源

    可以通过 google colab 的库,上传本地文件。文件会临时存储在content目录下。

    from google.colab import files
    uploaded = files.upload()
    for fn in uploaded.keys():
      print('User uploaded file "{name}" with length {length} bytes'.format(
          name=fn, length=len(uploaded[fn])))
    for name, data in uploaded.items():
      with open(name, 'wb') as f:
        f.write(data)
        print ('saved file', name)
    
    上传文件

    简而言之,google colab是很好的一站式机器学习平台,值得信赖、使用。google colab拥有的能力远超文章所列举,只待各位good coding~

    相关文章

      网友评论

          本文标题:一站式机器学习平台资源介绍

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