来源 | 机器学习初学者(ID: ai-start-com)
TensorFlow、Keras和PyTorch是目前深度学习的主要框架,也是入门深度学习必须掌握的三大框架,但是官方文档相对内容较多,初学者往往无从下手。本人从github里搜到三个非常不错的学习资源,并对资源目录进行翻译,强烈建议初学者下载学习,这些资源包含了大量的代码示例(含数据集),个人认为,只要把以上资源运行一次,不懂的地方查官方文档,很快就能理解和运用这三大框架。
https://github.com/aymericdamien/TensorFlow-Examples
本资源旨在通过示例轻松深入了解TensorFlow。为了便于阅读,它包括notebook和带注释的源代码。
它适合想要找到关于TensorFlow的清晰简洁示例的初学者。除了传统的“原始”TensorFlow实现,您还可以找到最新的TensorFlow API实践(例如layers,estimator,dataset, ......)。
最后更新(07/25/2018):添加新示例(GBDT,Word2Vec)和 TF1.9兼容性(TF v1.9 +推荐)。
python 3.6以上,TensorFlow 1.8+(编者注:
Tensorflow在windows上不支持python3.7
)
1、先决条件
-
Hello World(包含notebook和py源代码)。非常简单的例子,学习如何使用TensorFlow打印“hello world”。
-
基本操作(包含notebook和py源代码)。一个涵盖TensorFlow基本操作的简单示例。
-
TensorFlow Eager API基础知识(包含notebook和py源代码)。开始使用TensorFlow的Eager API。
-
线性回归(包含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源代码)。构建一个简单的神经网络(如多层感知器)来对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源代码)。使用TensorFlow保存和还原模型。
-
Tensorboard - 图形和损失可视化(包含notebook和py源代码)。使用Tensorboard可视化计算图并绘制损失。
-
Tensorboard - 高级可视化(包含notebook和py源代码)。深入了解Tensorboard;可视化变量,梯度等......
-
构建图像数据集(包含notebook和py源代码)。使用TensorFlow数据队列,从图像文件夹或数据集文件构建您自己的图像数据集。
-
TensorFlow数据集API(包含notebook和py源代码)。引入TensorFlow数据集API以优化输入数据管道。
-
多GPU的基本操作(包含notebook和py源代码)。在TensorFlow中引入多GPU的简单示例。
-
在多GPU上训练神经网络(包含notebook和py源代码)。一个清晰简单的TensorFlow实现,用于在多个GPU上训练卷积神经网络。
-
官方网站:
http://yann.lecun.com/exdb/mnist/
https://github.com/erhwenkuo/deep-learning-with-keras-notebooks
这个github的repository主要是
ErhWen Kuo
在学习Keras的一些记录及练习。希望在学习过程中发现到一些好的信息与示例也可以对想要学习使用Keras来解决问题的同学带来帮助。这些notebooks主要是使用Python 3.6与Keras 2.1.1版本跑在一台配置Nivida 1080Ti的Windows 10的机台所产生的结果,但有些部份会参杂一些Tensorflow与其它的函式库的介绍。
-
-
1.1:如何使用Keras函数式API进行深度学习
-
-
-
-
-
-
-
1.8:序列到序列(Seq-to-Seq)学习介绍
-
-
-
1.11: LSTM的返回序列和返回状态之间的区别
-
3、图像分类(Image Classification)
-
2.0: Julia(Chars74K)字母图像分类
-
-
-
-
-
-
-
3.目标检测(Object Recognition)
-
-
-
3.2:浣熊(Racoon)检测-YOLOv2模型训练与调整
-
3.3:浣熊(Racoon)检测-YOLOv2模型的使用
-
3.4:袋鼠(Kangaroo)检测-YOLOv2模型训练与调整
-
3.5:双手(Hands)检测-YOLOv2模型训练与调整
-
3.6:辛普森卡通图象角色(Simpson)检测-YOLOv2模型训练与调整
-
3.7: MS COCO图象检测-YOLOv2模型训练与调整
4.物体分割(Object Segmentation)
5.关键点检测(Keypoint Detection)
7.人脸检测识别(Face Detection/Recognition)
-
7.0:人脸检测- OpenCV(Haar特征分类器)
-
7.1:人脸检测- MTCNN(Multi-task Cascaded Convolutional Networks)
-
-
-
7.4:人脸识别-转换、对齐、裁剪、特征提取与比对
-
-
7.6:头部姿态(Head pose)估计(dlib)
8.自然语言处理(Natural Language Processing)
-
8.0:词嵌入(word embeddings)介绍
-
-
8.2: Word2vec词嵌入(word embeddings)的基本概念
-
-
8.4:使用gensim训练中文词向量(word2vec)
https://github.com/yunjey/pytorch-tutorial
这个资源为深度学习研究人员提供了学习PyTorch的教程代码大多数模型都使用少于30行代码实现。在开始本教程之前,建议先看完PyTorch官方教程。
python 2.7或者3.5以上,PyTorch 0.4