热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

干货!机器学习平台优质学习资源推荐

机器学习平台在人工智能的开发过程中扮演者非常重要的作用,所以,这些年来,也出现了很多不同的机器学习平台,侧重传统方法的scipy、sklearn,侧重深度学习的caffe、then

机器学习平台在人工智能的开发过程中扮演者非常重要的作用,所以,这些年来,也出现了很多不同的机器学习平台,侧重传统方法的scipy、sklearn,侧重深度学习的caffe、theno、pytorch、tensorflow、mxnet,还有高度集成的gluon、keras,都在人工智能工作中扮演者重要的角色,今天我就推荐一些这两年表现比较突出的三个机器学习平台的相关学习资源,分别是tensorflow、pytorch、mxnet。

备注:我已经整理了相关文档的pdf和epub版,需要的可以私信。

目录

  • 为什么需要机器学习平台?
  • 该选择哪个机器学习平台?
  • 有哪些优质学习资源?

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

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

  1. 节省时间
  2. 精度高

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

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

该选择哪个机器学习平台?

机器学习平台有很多,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. 有丰富的与训练模型。

有哪些优质学习资源?

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

《干货!机器学习平台优质学习资源推荐》

tensorflow

  • tensorflow官方文档

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

TensorFlow 官方文档中文版www.tensorfly.cn

我已经整理好官方文档pdf版,需要的可以私信。

  • tensorflow_course

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

osforscience/TensorFlow-Coursegithub.com《干货!机器学习平台优质学习资源推荐》
《干货!机器学习平台优质学习资源推荐》
《干货!机器学习平台优质学习资源推荐》

  • tensorflow_cookbook

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

nfmcclure/tensorflow_cookbookgithub.com《干货!机器学习平台优质学习资源推荐》
《干货!机器学习平台优质学习资源推荐》
《干货!机器学习平台优质学习资源推荐》

  • 其他资源

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

chiphuyen/stanford-tensorflow-tutorialsgithub.com《干货!机器学习平台优质学习资源推荐》
pkmital/tensorflow_tutorialsgithub.com《干货!机器学习平台优质学习资源推荐》
Hvass-Labs/TensorFlow-Tutorialsgithub.com《干货!机器学习平台优质学习资源推荐》

上面这三个资源也很不错,只是内容太多,我个人推荐好好看完前面三个资源就差不多了,可以在后期项目中慢慢熟练。

《干货!机器学习平台优质学习资源推荐》
《干货!机器学习平台优质学习资源推荐》

Pytorch

  • pytorch官方文档

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

主页 – PyTorch中文文档pytorch-cn.readthedocs.io

  • pytorch_list

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

bharathgs/Awesome-pytorch-listgithub.com《干货!机器学习平台优质学习资源推荐》
《干货!机器学习平台优质学习资源推荐》
《干货!机器学习平台优质学习资源推荐》
《干货!机器学习平台优质学习资源推荐》

mxnet

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

《动手学深度学习》:面向中文读者、能运行、可讨论zh.gluon.ai《干货!机器学习平台优质学习资源推荐》
《干货!机器学习平台优质学习资源推荐》
《干货!机器学习平台优质学习资源推荐》
《干货!机器学习平台优质学习资源推荐》
《干货!机器学习平台优质学习资源推荐》

我已经把官方文档PDF版和epub版放进共享文件夹,需要的可以关注公众号【平凡而诗意】,回复关键字“doc”获取。

更多我的作品

Jackpop:机器学习入门指导

Jackpop:有哪些堪称「神器」,却鲜为人知的APP?

Jackpop:Windows 下有什么用过之后就离不开的冷门软件?

Jackpop:初学 Python 需要安装哪些软件?


推荐阅读
  • golang常用库:配置文件解析库/管理工具viper使用
    golang常用库:配置文件解析库管理工具-viper使用-一、viper简介viper配置管理解析库,是由大神SteveFrancia开发,他在google领导着golang的 ... [详细]
  • 非公版RTX 3080显卡的革新与亮点
    本文深入探讨了图形显卡的进化历程,重点介绍了非公版RTX 3080显卡的技术特点和创新设计。 ... [详细]
  • 优化ListView性能
    本文深入探讨了如何通过多种技术手段优化ListView的性能,包括视图复用、ViewHolder模式、分批加载数据、图片优化及内存管理等。这些方法能够显著提升应用的响应速度和用户体验。 ... [详细]
  • 本文详细介绍了 GWT 中 PopupPanel 类的 onKeyDownPreview 方法,提供了多个代码示例及应用场景,帮助开发者更好地理解和使用该方法。 ... [详细]
  • 资源推荐 | TensorFlow官方中文教程助力英语非母语者学习
    来源:机器之心。本文详细介绍了TensorFlow官方提供的中文版教程和指南,帮助开发者更好地理解和应用这一强大的开源机器学习平台。 ... [详细]
  • Explore a common issue encountered when implementing an OAuth 1.0a API, specifically the inability to encode null objects and how to resolve it. ... [详细]
  • 计算机网络复习:第五章 网络层控制平面
    本文探讨了网络层的控制平面,包括转发和路由选择的基本原理。转发在数据平面上实现,通过配置路由器中的转发表完成;而路由选择则在控制平面上进行,涉及路由器中路由表的配置与更新。此外,文章还介绍了ICMP协议、两种控制平面的实现方法、路由选择算法及其分类等内容。 ... [详细]
  • 1.如何在运行状态查看源代码?查看函数的源代码,我们通常会使用IDE来完成。比如在PyCharm中,你可以Ctrl+鼠标点击进入函数的源代码。那如果没有IDE呢?当我们想使用一个函 ... [详细]
  • 本文详细介绍了Java中org.eclipse.ui.forms.widgets.ExpandableComposite类的addExpansionListener()方法,并提供了多个实际代码示例,帮助开发者更好地理解和使用该方法。这些示例来源于多个知名开源项目,具有很高的参考价值。 ... [详细]
  • 本文详细介绍了Java编程语言中的核心概念和常见面试问题,包括集合类、数据结构、线程处理、Java虚拟机(JVM)、HTTP协议以及Git操作等方面的内容。通过深入分析每个主题,帮助读者更好地理解Java的关键特性和最佳实践。 ... [详细]
  • Python自动化处理:从Word文档提取内容并生成带水印的PDF
    本文介绍如何利用Python实现从特定网站下载Word文档,去除水印并添加自定义水印,最终将文档转换为PDF格式。该方法适用于批量处理和自动化需求。 ... [详细]
  • 本文深入探讨了Linux系统中网卡绑定(bonding)的七种工作模式。网卡绑定技术通过将多个物理网卡组合成一个逻辑网卡,实现网络冗余、带宽聚合和负载均衡,在生产环境中广泛应用。文章详细介绍了每种模式的特点、适用场景及配置方法。 ... [详细]
  • 机器学习中的相似度度量与模型优化
    本文探讨了机器学习中常见的相似度度量方法,包括余弦相似度、欧氏距离和马氏距离,并详细介绍了如何通过选择合适的模型复杂度和正则化来提高模型的泛化能力。此外,文章还涵盖了模型评估的各种方法和指标,以及不同分类器的工作原理和应用场景。 ... [详细]
  • Hadoop入门与核心组件详解
    本文详细介绍了Hadoop的基础知识及其核心组件,包括HDFS、MapReduce和YARN。通过本文,读者可以全面了解Hadoop的生态系统及应用场景。 ... [详细]
  • 探索电路与系统的起源与发展
    本文回顾了电路与系统的发展历程,从电的早期发现到现代电子器件的应用。文章不仅涵盖了基础理论和关键发明,还探讨了这一学科对计算机、人工智能及物联网等领域的深远影响。 ... [详细]
author-avatar
我爱我19930515
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有