带你少走弯路:强烈推荐的 Pytorch/TensorFlow 快速入门资料和翻译(可下载)

书籍教程 三井 ⋅ 于 7个月前 ⋅ 最后回复由 dahezi1 3个月前 ⋅ 3232 阅读

转载自:机器学习初学者公众号,作者黄海广
再编辑:极市平台

本文包含3份Pytorch、4份TensorFlow入门资料。很负责任地说:看完这些资料,Pytorch和TensorFlow能基本入门,接下来碰到问题靠自己查资料就可以解决了!

目录

1 Pytorch入门资料


推荐资料1

1.PyTorch 深度学习:60分钟快速入门(官网翻译)

PyTorch 深度学习:60分钟快速入门”为PyTorch官网教程,网上已经有部分翻译作品,随着PyTorch1.0版本的公布,这个教程有较大的代码改动,本人对教程进行重新翻译,并测试运行了官方代码,制作成Jupyter Notebook文件(中文注释)在github予以公布。

本文内容较多,可以在线学习,如果需要本地调试,请到github下载:
https://github.com/fengdu78/Data-Science-Notes/tree/master/8.deep-learning/PyTorch_beginner

此教程为翻译官方地址:
https://pytorch.org/tutorials/beginner/deep_learning_60min_blitz.html

作者:Soumith Chintala

本教程的目标:

  • 在高层次上理解PyTorch的张量(Tensor)库和神经网络
  • 训练一个小型神经网络对图像进行分类
  • 本教程假设您对numpy有基本的了解

注意:务必确认您已经安装了 torch 和 torchvision 两个包。

目录

  • 一、Pytorch是什么?
  • 二、AUTOGRAD
  • 三、神经网络
  • 四、训练一个分类器
  • 五、数据并行

file

图:翻译截图


2.PyTorch 中文手册(pytorch handbook)(github标星7900+)

资源地址:

https://github.com/zergtant/pytorch-handbook

这是一本开源的书籍,目标是帮助那些希望和使用PyTorch进行深度学习开发和研究的朋友快速入门。我试了一下里面的ipynb代码,非常全面,值得推荐。

资源目录:

第一章 :PyTorch入门

第一节 PyTorch 简介

第二节 PyTorch 环境搭建

第三节 PyTorch 深度学习:60分钟快速入门(官方)

张量

Autograd:自动求导

神经网络

训练一个分类器

选读:数据并行处理(多GPU)

4.相关资源介绍

第二章 : 基础

第一节 PyTorch 基础

张量自动求导神经网络包nn和优化器optm数据的加载和预处理

第二节 深度学习基础及数学原理

深度学习基础及数学原理

第三节 神经网络简介

神经网络简介

第四节 卷积神经网络

卷积神经网络

第五节 循环神经网络

循环神经网络

第三章 : 实践

第一节 logistic回归

logistic回归二元分类

第二节 CNN:MNIST数据集手写数字识别

CNN:MNIST数据集手写数字识别

第三节 RNN实例:通过Sin预测Cos

RNN实例:通过Sin预测Cos

第四章 : 提高

第一节 Fine-tuning

Fine-tuning

第二节 可视化

visdomtensorboardx可视化理解卷积神经网络

第三节 Fast.ai

Fast.ai

第五节 多GPU并行训练

多GPU并行计算

第五章 : 应用

第一节 Kaggle介绍

Kaggle介绍

第二节 结构化数据

第三节 计算机视觉

第四节 自然语言处理



3.Pytorch教程(github标星13600+)

资源地址:

https://github.com/yunjey/pytorch-tutorial

资源介绍:

这个资源为深度学习研究人员提供了学习PyTorch的教程代码大多数模型都使用少于30行代码实现。在开始本教程之前,建议先看完Pytorch官方教程。(大部分教程是PyTorch0.4实现的,代码与1.0+稍微有点不同,总体影响不大)

配置环境:

python 2.7或者3.5以上,pytorch 0.4

资源目录:

1.基础知识

  • PyTorch基础知识
  • 线性回归
  • Logistic回归
  • 前馈神经网络

2.中级

  • 卷积神经网络
  • 深度残差网络
  • 递归神经网络
  • 双向递归神经网络
  • 语言模型(RNN-LM)

3.高级

  • 生成性对抗网络
  • 变分自动编码器
  • 神经风格转移
  • 图像字幕(CNN-RNN)

4.工具

  • PyTorch中的TensorBoard


2 TensorFlow入门资料

知识更新非常快,需要一直学习才能跟上时代进步,举个例子:吴恩达老师在深度学习课上讲的TensorFlow使用,这个肯定是他近几年才学的,因为谷歌开源了TensorFlow也就很短的时间。

吴恩达老师以前还在用Octave教学呢,但是后来就不用那个工具了,因为:过时了!!需要学习新知识了。

推荐资料



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

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

笔记截图:

file

图:深度学习笔记截图


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数据集简介

1 - 简介

  • Hello World(包含notebook和py源代码)。非常简单的例子,学习如何使用TensorFlow打印“hello world”。
  • 基本操作(包含notebook和py源代码)。一个涵盖TensorFlow基本操作的简单示例。
  • TensorFlow Eager API基础知识(包含notebook和py源代码)。开始使用TensorFlow的Eager API。

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)。

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源代码)。构建自动编码器以将图像编码为较低维度并重新构建它。
  • 变分自动编码器((包含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;可视化变量,梯度等......

5 - 数据管理

  • 构建图像数据集(包含notebook和py源代码)。使用TensorFlow数据队列,从图像文件夹或数据集文件构建您自己的图像数据集。
  • TensorFlow数据集API(包含notebook和py源代码)。引入TensorFlow数据集API以优化输入数据管道。

6 - 多GPU

  • 多GPU的基本操作(包含notebook和py源代码)。在TensorFlow中引入多GPU的简单示例。
  • 在多GPU上训练神经网络(包含notebook和py源代码)。一个清晰简单的TensorFlow实现,用于在多个GPU上训练卷积神经网络。

数据集


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

file

推荐一本机器学习和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下载:

https://github.com/apachecn/hands-on-ml-zh
针对国内下载速度慢,本站对两个资源进行打包,可以在百度云下载:

链接: https://pan.baidu.com/s/1L5VYmkcVK9OpnCRM5Bnd5w
提取码: 提示:此内容登录后可查看


4.《python深度学习》

TensorFlow团队的Josh Gordon推荐这本书,TF2.0基于Keras。如果你是一个深度学习新手,最好从这本书入手。当然这本书里的代码需要改一下,但非常简单:

import keras -> from tensorflow import keras

file

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(生成式对抗网络简介)

中文注释与解释如图:

file

file

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

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

中文注释代码:
https://github.com/fengdu78/machine_learning_beginner/tree/master/deep-learning-with-python-notebooks


相关文章:


file
△ 关注极市平台
获得最新CV干货

本帖已被设为精华帖!
本帖由 你找不到我 于 7个月前 加精
回复数量: 0
暂无回复~
您需要登陆以后才能留下评论!