作者 | 黄海广

来历 | 机器学习初学者(ID: ai-start-com)

常识更新十分快,需求一向学习才干跟上年代前进,举个比如:吴恩达教师在深度学习课上讲的TensorFlow运用,这个肯定是他近几年才学的,由于谷歌开源了TensorFlow也就很短的时刻。

吴恩达教师曾经还在用Octave教育呢,可是后来就不必那个东西了,由于:过期了,需求学习新常识了。

本文整理了4份TensorFlow的入门材料,很负责任地说:看完这些材料,TensorFlow根本入门了,接下来碰到问题能自己查材料处理了。

引荐材料

1.吴恩达深度学习笔记中的TensorFlow部分

这部分能够说是一个科普入门,学完后对TensorFlow会有必定的了解,接下来会简略点(第二门课第三周第3.11节,对应笔记p247-253,笔记能够在我的github下载:github介绍

笔记截图:

图:深度学习笔记截图

2.TensorFlow2.0样例(github标星34000+)

TensorFlow推出2.0版别后,TF2.0比较于1.x版别默许运用Keras、Eager Execution、支撑跨渠道、简化了API等。这次更新使得TF2.0愈加的挨近PyTorch,一系列烦人的概念将一去不复返。引荐一位大神写的TF2.0的样例代码,引荐参阅。

资源地址:

https://github.com/aymericdamien/TensorFlow-Examples

资源介绍:

本资源旨在经过示例轻松深化了解TensorFlow。 为了便于阅览,它包括notebook和带注释的源代码。

它合适想要找到关于TensorFlow的明晰简练示例的初学者。 除了传统的“原始”TensorFlow完成,您还能够找到最新的TensorFlow API实践(例如layers,estimator,dataset, ......)。

最终更新(08/17/2019):增加新示例(TF2.0)。

装备环境:

python 3.6以上,TensorFlow 1.8+

资源目录:

0 - 先决条件

  • 机器学习简介

  • MNIST数据集简介

机器学习简介

MNIST数据集简介

1 - 简介

  • Hello World(包括notebook和py源代码)。十分简略的比如,学习怎么运用TensorFlow打印“hello world”。

  • 根本操作(包括notebook和py源代码)。一个包括TensorFlow根本操作的简略示例。

  • TensorFlow Eager API根底常识(包括notebook和py源代码)。开始运用TensorFlow的Eager API。

Hello World(包括notebook和py源代码)。十分简略的比如,学习怎么运用TensorFlow打印“hello world”。

根本操作(包括notebook和py源代码)。一个包括TensorFlow根本操作的简略示例。

2 - 根底模型

  • 线性回归(包括notebook和py源代码)。运用TensorFlow完成线性回归。

  • 线性回归(eager api)(包括notebook和py源代码)。运用TensorFlow的Eager API完成线性回归。

  • Logistic回归(包括notebook和py源代码)。运用TensorFlow完成Logistic回归。

  • Logistic回归(eager api)(包括notebook和py源代码)。运用TensorFlow的Eager API完成Logistic回归。

  • 最近邻(包括notebook和py源代码)。运用TensorFlow完成最近邻算法。

  • K-Means(包括notebook和py源代码)。运用TensorFlow构建K-Means分类器。

  • 随机森林(包括notebook和py源代码)。运用TensorFlow构建随机森林分类器。

  • Gradient Boosted Decision Tree(GBDT)(包括notebook和py源代码)。运用TensorFlow构建梯度提高决策树(GBDT)。

  • Word2Vec(词嵌入)(包括notebook和py源代码)。运用TensorFlow从Wikipedia数据构建词嵌入模型(Word2Vec)。

线性回归(包括notebook和py源代码)。运用TensorFlow完成线性回归。

线性回归(eager api)(包括notebook和py源代码)。运用TensorFlow的Eager API完成线性回归。

Logistic回归(包括notebook和py源代码)。运用TensorFlow完成Logistic回归。

Logistic回归(eager api)(包括notebook和py源代码)。运用TensorFlow的Eager API完成Logistic回归。

最近邻(包括notebook和py源代码)。运用TensorFlow完成最近邻算法。

K-Means(包括notebook和py源代码)。运用TensorFlow构建K-Means分类器。

随机森林(包括notebook和py源代码)。运用TensorFlow构建随机森林分类器。

Gradient Boosted Decision Tree(GBDT)(包括notebook和py源代码)。运用TensorFlow构建梯度提高决策树(GBDT)。

Word2Vec(词嵌入)(包括notebook和py源代码)。运用TensorFlow从Wikipedia数据构建词嵌入模型(Word2Vec)。

3 - 神经网络

  • 监督学习部分

监督学习部分

  • 简略神经网络(包括notebook和py源代码)。构建一个简略的神经网络(如多层感知器)来对MNIST数字数据集进行分类。Raw TensorFlow完成。

  • 简略神经网络(tf.layers / estimator api)(包括notebook和py源代码)。运用TensorFlow'layers'和'estimator'API构建一个简略的神经网络(如:Multi-layer Perceptron)来对MNIST数字数据集进行分类。

  • 简略神经网络(Eager API)(包括notebook和py源代码)。运用TensorFlow Eager API构建一个简略的神经网络(如多层感知器)来对MNIST数字数据集进行分类。

  • 卷积神经网络(包括notebook和py源代码)。构建卷积神经网络以对MNIST数字数据集进行分类。Raw TensorFlow完成。

  • 卷积神经网络(tf.layers / estimator api)(包括notebook和py源代码)。运用TensorFlow'layers'和'estimator'API构建卷积神经网络,对MNIST数字数据集进行分类。

  • 递归神经网络(LSTM)(包括notebook和py源代码)。构建递归神经网络(LSTM)以对MNIST数字数据集进行分类。

  • 双向LSTM(包括notebook和py源代码)。构建双向递归神经网络(LSTM)以对MNIST数字数据集进行分类。

  • 动态LSTM(包括notebook和py源代码)。构建一个递归神经网络(LSTM),履行动态核算以对不同长度的序列进行分类。

简略神经网络(包括notebook和py源代码)。构建一个简略的神经网络(如多层感知器)来对MNIST数字数据集进行分类。Raw TensorFlow完成。

简略神经网络(tf.layers / estimator api)(包括notebook和py源代码)。运用TensorFlow'layers'和'estimator'API构建一个简略的神经网络(如:Multi-layer Perceptron)来对MNIST数字数据集进行分类。

简略神经网络(Eager API)(包括notebook和py源代码)。运用TensorFlow Eager API构建一个简略的神经网络(如多层感知器)来对MNIST数字数据集进行分类。

卷积神经网络(包括notebook和py源代码)。构建卷积神经网络以对MNIST数字数据集进行分类。Raw TensorFlow完成。

卷积神经网络(tf.layers / estimator api)(包括notebook和py源代码)。运用TensorFlow'layers'和'estimator'API构建卷积神经网络,对MNIST数字数据集进行分类。

递归神经网络(LSTM)(包括notebook和py源代码)。构建递归神经网络(LSTM)以对MNIST数字数据集进行分类。

双向LSTM(包括notebook和py源代码)。构建双向递归神经网络(LSTM)以对MNIST数字数据集进行分类。

动态LSTM(包括notebook和py源代码)。构建一个递归神经网络(LSTM),履行动态核算以对不同长度的序列进行分类。

  • 无监督

无监督

  • 主动编码器(包括notebook和py源代码)。构建主动编码器以将图画编码为较低维度并从头构建它。

  • 变分主动编码器((包括notebook和py源代码)。构建变分主动编码器(VAE),对噪声进行编码和生成图画。

  • GAN(Generative Adversarial Networks)(包括notebook和py源代码)。构建生成对立网络(GAN)以从噪声生成图画。

  • DCGAN(Deep Convolutional Generative Adversarial Networks)(包括notebook和py源代码)。构建深度卷积生成对立网络(DCGAN)以从噪声生成图画。

主动编码器(包括notebook和py源代码)。构建主动编码器以将图画编码为较低维度并从头构建它。

变分主动编码器((包括notebook和py源代码)。构建变分主动编码器(VAE),对噪声进行编码和生成图画。

GAN(Generative Adversarial Networks)(包括notebook和py源代码)。构建生成对立网络(GAN)以从噪声生成图画。

DCGAN(Deep Convolutional Generative Adversarial Networks)(包括notebook和py源代码)。构建深度卷积生成对立网络(DCGAN)以从噪声生成图画。

4 - 东西

  • 保存和复原模型(包括notebook和py源代码)。运用TensorFlow保存和复原模型。

  • Tensorboard - 图形和丢失可视化(包括notebook和py源代码)。运用Tensorboard可视化核算图并制作丢失。

  • Tensorboard - 高档可视化(包括notebook和py源代码)。深化了解Tensorboard;可视化变量,梯度等......

保存和复原模型(包括notebook和py源代码)。运用TensorFlow保存和复原模型。

Tensorboard - 图形和丢失可视化(包括notebook和py源代码)。运用Tensorboard可视化核算图并制作丢失。

Tensorboard - 高档可视化(包括notebook和py源代码)。深化了解Tensorboard;可视化变量,梯度等......

5 - 数据管理

  • 构建图画数据集(包括notebook和py源代码)。运用TensorFlow数据行列,从图画文件夹或数据集文件构建您自己的图画数据集。

  • TensorFlow数据集API(包括notebook和py源代码)。引进TensorFlow数据集API以优化输入数据管道。

构建图画数据集(包括notebook和py源代码)。运用TensorFlow数据行列,从图画文件夹或数据集文件构建您自己的图画数据集。

TensorFlow数据集API(包括notebook和py源代码)。引进TensorFlow数据集API以优化输入数据管道。

6 - 多GPU

  • 多GPU的根本操作(包括notebook和py源代码)。在TensorFlow中引进多GPU的简略示例。

  • 在多GPU上练习神经网络(包括notebook和py源代码)。一个明晰简略的TensorFlow完成,用于在多个GPU上练习卷积神经网络。

多GPU的根本操作(包括notebook和py源代码)。在TensorFlow中引进多GPU的简略示例。

在多GPU上练习神经网络(包括notebook和py源代码)。一个明晰简略的TensorFlow完成,用于在多个GPU上练习卷积神经网络。

数据集

  • 一些示例需求MNIST数据集进行练习和测验。官方网站:http://yann.lecun.com/exdb/mnist/

一些示例需求MNIST数据集进行练习和测验。官方网站:http://yann.lecun.com/exdb/mnist/

3.《机器学习实战:根据Scikit-Learn和TensorFlow》

引荐一本机器学习和TensorFlow入门的好书:《机器学习实战:根据Scikit-Learn和TensorFlow》。

本书首要分为两部分,榜首部分(第1~8章)包括机器学习的根底理论常识和根本算法,从线性回归到随机森林等,能够协助你把握Scikit-Learn的常用办法;第二部份(第9~16章)讨论深度学习和常用结构TensorFlow,手把手教你运用TensorFlow树立和练习深度神经网络,以及卷积神经网络。

这本书遭到广阔机器学习爱好者的好评,能够说是机器学习入门宝书,豆瓣评分8.2。

这本书假定您有一些 Python 编程经历,而且比较了解 Python 的首要科学库,特别是 NumPy,Pandas 和 Matplotlib 。

  • 本书作者公开了配套的源代码:

本书作者公开了配套的源代码:

https://github.com/ageron/handson-ml

  • 国内一个公益安排对原版英文书进行了翻译,制作成markdown文件(md文件引荐运用typora阅览),能够在github下载:

国内一个公益安排对原版英文书进行了翻译,制作成markdown文件(md文件引荐运用typora阅览),能够在github下载:

https://github.com/apachecn/hands-on-ml-zh

针对国内下载速度慢,本站对两个资源进行打包,能够在百度云下载:

链接:

https://pan.baidu.com/s/1jihUZrXblxhrVA5FBGU3RQ

提取码:0xye

若被调和请留言。

4.《python深度学习》

TensorFlow团队的Josh Gordon引荐这本书,TF2.0根据Keras。假如你是一个深度学习新手,最好从这本书下手。当然这本书里的代码需求改一下,但十分简略:

importkeras -> fromtensorflow importkeras

python深度学习》由Keras之父、现任Google人工智能研究员的弗朗索瓦•肖莱(François Chollet)执笔,翔实介绍了用Python和Keras进行深度学习的探究实践,包括核算机视觉、自然语言处理、发生式模型等运用。书中包括30多个代码示例,过程解说具体透彻。

作者在github发布了代码,代码简直包括了本书一切常识点。在学习完本书后,读者将具有树立自己的深度学习环境、树立图画识别模型、生成图画和文字等才能。可是有一个小小的惋惜:代码的解说和注释是全英文的,即便英文水平较好的朋友看起来也很费劲。

本站以为,这本书和代码是初学者入门深度学习及Keras最好的东西。

我对悉数代码做了中文解说注释,并下载了代码所需求的一些数据集(尤其是“猫狗大战”数据集),并对其间一些图画进行了本地化,代码悉数测验经过。(请依照文件次序运转,代码前后有部分相关)。

以下代码包括了全书80%左右的常识点,代码目录:

2.1: A first look at a neural network( 初识神经网络)

3.5: Classifying movie reviews(电影谈论分类:二分类问题)

3.6: Classifying newswires(新闻分类:多分类问题 )

3.7: Predicting house prices(猜测房价:回归问题)

4.4: Underfitting and overfitting( 过拟合与欠拟合)

5.1: Introduction to convnets(卷积神经网络简介)

5.2: Using convnets with small datasets(在小型数据集上从头开始练习一个卷积

5.3: Using a pre-trained convnet(运用预练习的卷积神经网络)

5.4: Visualizing what convnets learn(卷积神经网络的可视化)

6.1: One-hot encoding of words or characters(单词和字符的 one-hot 编码)

6.1: Using word embeddings(运用词嵌入)

6.2: Understanding RNNs(了解循环神经网络)

6.3: Advanced usage of RNNs(循环神经网络的高档用法)

6.4: Sequence processing with convnets(用卷积神经网络处理序列)

8.1: Text generation with LSTM(运用 LSTM 生成文本)

8.2: Deep dream(DeepDream)

8.3: Neural style transfer( 神经风格搬迁)

8.4: Generating images with VAEs(用变分自编码器生成图画)

8.5: Introduction to GANs(生成式对立网络简介)

中文注释与解说如图:

图:代码的中文注释与解说

作者的github:

https://github.com/fchollet/deep-learning-with-python-notebooks

中文注释代码:

https://github.com/fengdu78/machine_learning_beginner/tree/master/deep-learning-with-python-notebooks

暂时想到这么多,欢迎留言弥补。

(*本文为 AI科技大本营转载文章, 转 载请 联络原作者 )

早鸟票倒计时最终1天,扫码购票立减2600元

2019 我国大数据技能大会(BDTC)再度来袭!奢华主席阵型及百位技能专家齐聚,15 场精选专题技能和职业论坛,超强干货+技能分析+职业实践立体解读,深化解析抢手技能在职业中的实践落地。

推荐阅读