资源!机器学习平台优质资源集合

简介: 机器学习平台在人工智能的开发过程中扮演者非常重要的作用,所以,这些年来,也出现了很多不同的机器学习平台,侧重传统方法的scipy、sklearn,侧重深度学习的caffe、theno、pytorch、tensorflow、mxnet,还有高度集成的gluon、keras,都在人工智能工作中扮演者重要的角色,今天我就推荐一些这两年表现比较突出的三个机器学习平台的相关学习资源,分别是tensorflow、pytorch、mxnet。备注:我已经把tensorflow、pytorch、mxnet官方文档PDF版和epub版放进共享链接,有需要的可以关注微信公众号回复doc获取。

为什么需要机器学习平台?


我们做计算机视觉或自然语言,懂算法、自己会开发不就行了,为什么还需要学习这些机器学习平台的使用?原因有几个:

  1. 节省时间
  2. 精度高

首先说一下节省时间,比如做计算机视觉过程中,我们搭一个YOLO模型,里面涉及矩阵运算、卷积运算、梯度传播、池化、dropout、激活函数、dataloader、优化算法等等,如果把这些模块都自己重新开发一边,必然会耗费很多时间,而这些模块又是相对成熟稳定的,我们大可不必在这上面耗费时间,而应该把时间用在模型的调优、场景的适配等方面,有了机器学习平台,一行命令就能解决我们用C/C++写一上午甚至更长时间的工作。

其次是精度高,有很多算法虽然流程相同,但是不同的人实现的效果却不同,例如Adam、RMSProp等,这些算法计算速度和精度由不同的人实现效果可能会有天差之别,而这些机器学习平台是Google、Facebook、亚马逊这些人工智能顶尖的企业花大力气验证和优化的,所以效率自然不在话下。

02

选择哪个机器学习平台?


机器学习平台有很多,tensorflow、pytorch、mxnet、caffe、sklearn、theno、keras,我个人推荐在tensorflow、pytorch、mxnet三个里面进行选择,因为这三个平台有以下几个优点。

  1. 灵活、方便推理
  2. 安装配置容易
  3. 强大的社区支持

那tensorflow、pytorch、mxnet又怎么选择呢?我简单介绍一下这几个机器学习平台的优缺点,大家可以根据自己的判断自行选择。

tensorflow


tensorflow是一个基于计算图和会话的深度学习平台,tensorflow给我的感觉就是一个庞然大物,这几年随着Google不断的调整和往里面加功能,这个平台变得非常大,里面含有keras模块,slim模块,还有eager模式,tensorflow的优点有:

  1. 基于符号式编程,速度快。
  2. 功能丰富,既有灵活的搭建,又有keras、slim这些简洁、集成度高的模块。
  3. 可视化好,有tensorboard这个可视化工具支撑,能够让我们更加清楚搭建的网络架构、数据流向。
  4. 强大的社区支持,由于tensorflow用户多,所以当遇到问题的时候会相对容易找到解决方案。

当然tensorflow也有缺点,我觉得正是因为太庞大了,所以有很多功能非常混乱,基于计算图和会话搭建会很不方便。


pytorch

pytorch自从诞生之后就迅速的成为了宠儿,因为它的出现解决了很多以往深度学习平台的痛点:

  1. 命令式编程,实现简单。
  2. 数据加载API设计的好,使用方便。
  3. 上手简单,仅凭这一点就已经很吸引人了。
  4. 自定义扩展。

mxnet

这是一款有亚马逊推出的深度学习平台,最近看《动手学深度学习》时顺便把mxnet学了一遍,mxnet主要有以下几个优点:

  1. 同时支持符号式编程和命令式编程,既有tensorflow的快速又有pytorch的简单。
  2. 支持多GPU和多机分布式。
  3. 有丰富的与训练模型。

03

有哪些学习资源?


上Google搜一下,会发现有很多各式各样的课程和学习资源,可谓是天花乱坠,我一直秉持一个理念“资源不再多,挑选少数有价值的好好学一下比把所有的都学一遍要有效果”,下面我就针对性的推荐一下我认为比较好的几个资源。

12.png


tensorflow

  • tensorflow官方文档

首推当然是官方文档,官方的才是最靠谱,最了解内部详情的,官方文档比较简洁,提供了MNIST、卷积神经网络、可视化等常用的场景,而且在卷积神经网络中以cifar-10为例几乎涵盖了tensorflow常用的功能和计算图搭建流程,详细把这份文档看完基本就掌握了tensorflow的使用。

http://www.tensorfly.cn/tfdoc/tutorials/overview.html


  • tensorflow_course

如果觉得官方文档不能够让你变成tensorflow熟手,那就试着用tensorflow完成几个机器学习算法的搭建,tensorflow_course是一个gihub资源,目前已经9.5k个star,受欢迎程度可见一斑,上面有传统算法,例如线性回归、支持向量机,也有深度学习算法,例如卷积神经网络,能够让你在学习机器学习的过程中进一步熟练tensorflow。

https://github.com/osforscience/TensorFlow-Course

13.jpg

  • tensorflow_cookbook

这也是一个github项目资源,虽然不如上面这个火热,但是目前也拥有4.1k个star,和上面这个资源有些类似之处,包括传统算法和深度学习算法的实现,可以边学习机器学习知识、边学习深度学习平台。

https://github.com/nfmcclure/tensorflow_cookbook

14.jpg


还有一些tensorflow的系列教程,包括斯坦福的tensorflow教程,我列在下面,需要的可以自行看一下。

https://github.com/chiphuyen/stanford-tensorflow-tutorials

https://github.com/pkmital/tensorflow_tutorials

https://github.com/Hvass-Labs/TensorFlow-Tutorials


15.png

pytorch

  • pytorch官方文档

首先推荐的当然还是官方的文档,前面已经说过,官方文档是最了解自己工具的,也知道哪些该用,哪些需要学习,所以官方文档简洁、节省时间。

https://pytorch-cn.readthedocs.io/zh/latest/


  • pytorch_list

如果觉得官方文档内容不够,可以看一下这个github资源,目前5.4k个star,这个资源可以称得上是大合集,包括计算机视觉、自然语言处理、教程和示例、优秀文章的实现,非常全面。

https://github.com/bharathgs/Awesome-pytorch-list

16.png


17.jpg

mxnet

关于mxnet学习资源我只推荐一个,就是李沐的《动手学深度学习》,原因很简单,原作者出品的,质量必然值得信赖,而且这个课程以深度学习学习为目标,会讲解优化算法、卷积神经网络、自然语言处理等,在实现过程中会使用mxnet和gluon,会涉及到mxnet底层函数的实现,也会涉及到集成函数的使用,在学习过程中不知不觉就上手了。


https://zh.gluon.ai/

18.png



相关文章
|
18天前
|
机器学习/深度学习 测试技术
阿里云入选Gartner数据科学和机器学习平台挑战者象限
Gartner® 正式发布了《数据科学与机器学习平台魔力象限》报告(Magic Quadrant™ for Data Science and Machine Learning Platforms),阿里云成为唯一一家入选该报告的中国厂商,被评为“挑战者”(Challengers)。
|
4月前
|
机器学习/深度学习 人工智能 Shell
人工智能平台PAI操作报错合集之在分布式训练过程中遇到报错,是什么原因
阿里云人工智能平台PAI是一个功能强大、易于使用的AI开发平台,旨在降低AI开发门槛,加速创新,助力企业和开发者高效构建、部署和管理人工智能应用。其中包含了一系列相互协同的产品与服务,共同构成一个完整的人工智能开发与应用生态系统。以下是对PAI产品使用合集的概述,涵盖数据处理、模型开发、训练加速、模型部署及管理等多个环节。
|
4月前
|
机器学习/深度学习 人工智能 数据处理
人工智能平台PAI操作报错合集之任务重启后出现模型拆分报错,该怎么办
阿里云人工智能平台PAI是一个功能强大、易于使用的AI开发平台,旨在降低AI开发门槛,加速创新,助力企业和开发者高效构建、部署和管理人工智能应用。其中包含了一系列相互协同的产品与服务,共同构成一个完整的人工智能开发与应用生态系统。以下是对PAI产品使用合集的概述,涵盖数据处理、模型开发、训练加速、模型部署及管理等多个环节。
|
25天前
|
机器学习/深度学习 人工智能 算法
机器学习【教育领域及其平台搭建】
机器学习【教育领域及其平台搭建】
40 7
|
3月前
|
机器学习/深度学习 人工智能 前端开发
【机器学习】FlyFlowerSong【人工智能】资源指南
FlyFlowerSong是一个创新的音乐合成与处理项目,它利用先进的机器学习算法,为用户提供了一个简单而有趣的音乐创作平台。作为人工智能领域的技术自媒体创作者,我整理了关于FlyFlowerSong的完整教程、论文复现指南以及demo项目源代码,旨在帮助开发者、音乐爱好者以及AI研究者深入探索这一领域。
34 1
|
4月前
|
数据采集 人工智能 自然语言处理
阿里云百炼平台深度体验:智能问答与模型训练的创新之旅
在人工智能的浪潮中,阿里云百炼平台以其强大的大模型开发能力,为企业和个人开发者提供了一站式的解决方案。本文将从知识检索应用搭建、模型训练调优以及流程管理功能三个角度,全面评测阿里云百炼平台的实际使用体验。
294 3
|
3月前
|
机器学习/深度学习 人工智能 Linux
【机器学习】Dify:AI智能体开发平台版本升级
【机器学习】Dify:AI智能体开发平台版本升级
203 0
|
4月前
|
机器学习/深度学习 人工智能 分布式计算
人工智能平台PAI操作报错合集之引用github.com/alibaba/pairec包时报错,该如何解决
阿里云人工智能平台PAI是一个功能强大、易于使用的AI开发平台,旨在降低AI开发门槛,加速创新,助力企业和开发者高效构建、部署和管理人工智能应用。其中包含了一系列相互协同的产品与服务,共同构成一个完整的人工智能开发与应用生态系统。以下是对PAI产品使用合集的概述,涵盖数据处理、模型开发、训练加速、模型部署及管理等多个环节。
|
4月前
|
机器学习/深度学习 人工智能 网络协议
人工智能平台PAI操作报错合集之报错 "curl: (35) TCP connection reset by peer" 表示什么
阿里云人工智能平台PAI是一个功能强大、易于使用的AI开发平台,旨在降低AI开发门槛,加速创新,助力企业和开发者高效构建、部署和管理人工智能应用。其中包含了一系列相互协同的产品与服务,共同构成一个完整的人工智能开发与应用生态系统。以下是对PAI产品使用合集的概述,涵盖数据处理、模型开发、训练加速、模型部署及管理等多个环节。
|
4月前
|
机器学习/深度学习 人工智能 PyTorch
人工智能平台PAI使用问题之如何布置一个PyTorch的模型
阿里云人工智能平台PAI是一个功能强大、易于使用的AI开发平台,旨在降低AI开发门槛,加速创新,助力企业和开发者高效构建、部署和管理人工智能应用。其中包含了一系列相互协同的产品与服务,共同构成一个完整的人工智能开发与应用生态系统。以下是对PAI产品使用合集的概述,涵盖数据处理、模型开发、训练加速、模型部署及管理等多个环节。