强烈推荐的TensorFlow、Pytorch和Keras的样例资源(深度学习初学者必须收藏)

目录

一、TensorFlow

二、Keras

三、Pytorch

总结

本文转自微信公众号:机器学习初学者

原创: 机器学习初学者 机器学习初学者 


TensorFlowKerasPytorch是目前深度学习的主要框架,也是入门深度学习必须掌握的三大框架,但是官方文档相对内容较多,初学者往往无从下手。本人从github里搜到三个非常不错的学习资源,并对资源目录进行翻译,强烈建议初学者下载学习,这些资源包含了大量的代码示例(含数据集),个人认为,只要把以上资源运行一次,不懂的地方查官方文档,很快就能理解和运用这三大框架。

 


一、TensorFlow

资源地址:

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+

 

资源目录:

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上训练卷积神经网络。

 

数据集

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


二、Keras

资源地址:

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与其它的函式库的介绍。

 

配置环境:

python 3.6以上,Keras 2.1.1

 

资源目录:

0.图象数据集/工具介绍

  • 0.0: COCO API解说与简单示例

  • 0.1:土炮自制扑克牌图象数据集

  • 0.2:使用Pillow来进行图像处理

 

1.Keras API示例

  • 1.0:使用图像增强来进行深度学习

  • 1.1:如何使用Keras函数式API进行深度学习

  • 1.2:从零开始构建VGG网络来学习Keras

  • 1.3:使用预训练的模型来分类照片中的物体

  • 1.4:使用图像增强来训练小数据集

  • 1.5:使用预先训练的卷积网络模型

  • 1.6:卷积网络模型学习到什么的可视化

  • 1.7:构建自动编码器(Autoencoder)

  • 1.8:序列到序列(Seq-to-Seq)学习介绍

  • 1.9: One-hot编码工具程序介绍

  • 1.10:循环神经网络(RNN)介绍

  • 1.11: LSTM的返回序列和返回状态之间的区别

  • 1.12:用LSTM来学习英文字母表顺序

 

2.图像分类(Image Classification)

  • 2.0: Julia(Chars74K)字母图像分类

  • 2.1:交通标志图像分类

  • 2.2:辛普森卡通图像角色分类

  • 2.3:时尚服饰图像分类

  • 2.4:人脸关键点辨识

  • 2.5: Captcha验证码分类

  • 2.6: Mnist手写图像分类(MLP)

  • 2.7: Mnist手写图像分类(CNN)

     

3.目标检测(Object Recognition)

  • 3.0: YOLO目标检测算法概念与介绍

  • 3.1: YOLOv2目标检测示例

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

 

6.图象标题(Image Caption)

 

7.人脸检测识别(Face Detection/Recognition)

  • 7.0:人脸检测- OpenCV(Haar特征分类器)

  • 7.1:人脸检测- MTCNN(Multi-task Cascaded Convolutional Networks)

  • 7.2:人脸识别-脸部检测、对齐&裁剪

  • 7.3:人脸识别-人脸部特征提取&人脸分类器

  • 7.4:人脸识别-转换、对齐、裁剪、特征提取与比对

  • 7.5:脸部关键点检测(dlib)

  • 7.6:头部姿态(Head pose)估计(dlib)

     

8.自然语言处理(Natural Language Processing)

  • 8.0:词嵌入(word embeddings)介绍

  • 8.1:使用结巴(jieba)进行中文分词

  • 8.2: Word2vec词嵌入(word embeddings)的基本概念

  • 8.3:使用结巴(jieba)进行歌词分析

  • 8.4:使用gensim训练中文词向量(word2vec)


三、Pytorch

资源地址:

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

 

资源介绍:

这个资源为深度学习研究人员提供了学习PyTorch的教程代码大多数模型都使用少于30行代码实现。 在开始本教程之前,建议先看完Pytorch官方教程。

 

配置环境:

python 2.7或者3.5以上,pytorch 0.4

 

资源目录:

1.基础知识

  • PyTorch基础知识

  • 线性回归

  • Logistic回归

  • 前馈神经网络

     

2.中级

  • 卷积神经网络

  • 深度残差网络

  • 递归神经网络

  • 双向递归神经网络

  • 语言模型(RNN-LM)

     

3.高级

  • 生成性对抗网络

  • 变分自动编码器

  • 神经风格转移

  • 图像字幕(CNN-RNN)

     

4.工具

  • PyTorch中的TensorBoard


总结

TensorFlowKerasPytorch是目前深度学习的主要框架,也是入门深度学习必须掌握的三大框架,但是官方文档相对内容较多,初学者往往无从下手。本人从github里搜到三个非常不错的学习资源,并对资源目录进行翻译,强烈建议初学者下载学习,这些资源包含了大量的代码示例(含数据集),个人认为,只要把以上资源运行一次,不懂的地方查官方文档,很快就能理解和运用这三大框架。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/440054.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

由浅到深理解ROS(1)

ROS机器人操作系统 ( Robot Operating System 或简称 ROS),可以帮助提高机器人软件的开发效率。ROS能够提供类似传统操作系统的诸多功能,如硬件抽象、底层设备控制、常用功能实现、进程间消息传递和程序包管理等。此外&#xff0c…

Centos7换yum源

1.进入到yum的源目录下 cd /etc/yum.repos.d/2.将原来的CentOS-Base.repo进行备份 mv CentOS-Base.repo CentOS-Base.repo_back3.下载阿里源 http://mirrors.aliyun.com/repo/Centos-7.repo 到/etc/yum.repos.d/目录下 4.改变名字 mv Centos-7.repo CentOS-Base.repo5.生成…

(3)链表

目录 下面是关于链表的一些知识点: 链表的操作: 创建链表 遍历链表 判断链表是否为空 求链表长度 插入元素 删除元素 排序链表 这篇笔记是根据郝斌老师的上课讲义整理而得: 前面介绍了连续的存储结构:数组,今…

【LightOJ - 1027】A Dangerous Maze(概率dp,数学期望)

题干: You are in a maze; seeing n doors in front of you in beginning. You can choose any door you like. The probability for choosing a door is equal for all doors. If you choose the ith door, it can either take you back to the same position wh…

由浅到深理解ROS(2)

ROS文件系统 用户可以直接参看官网: http://wiki.ros.org/ROS/Tutorials/NavigatingTheFilesystem ROS文件系统中的两个最基本的概念:Package和Manifest,即包和清单文件。 (1)Package是组织ROS代码的最基本单位&…

Django员工管理系统

Django员工管理系统(ems) 需求分析: 1.实现管理员的注册、登陆页面注册:用户名、真实名字、密码、确认密码、性别、验证码用户名需要判断是否合法、是否存在,loading图片提示密码和确认密码是否相同,load…

(4)栈

目录 栈的知识点: 栈的操作: 创建栈: 压栈: 遍历栈: 判断栈是否为空: 出栈 清空栈 这篇笔记是根据郝斌老师的上课讲义整理而得。 栈的知识点: 栈的定义:一种可以实现"…

【LightOJ - 1104】Birthday Paradox(概率,思维)

题干: Sometimes some mathematical results are hard to believe. One of the common problems is the birthday paradox. Suppose you are in a party where there are 23 people including you. What is the probability that at least two people in the party…

爬虫小记

中国商标网 找到正确的入口 在此页面加入全部data数据获取xhr请求包

由浅到深理解ROS(3)-命名空间

全局命名空间: /rosout前面的反斜杠“/”表明该节点名称属于全局命名空间。之所以叫做全局名称因为它们在任何地方(包括代码、命令行工具、图形界面工具等的任何地方)都可以使用。无论这些名称用作众多命令行工具的参数还是用在节点内部&…

(5)队列

目录 队列知识点: 循环队列: 队列的操作: 创建队列: 判断队列是否已满: 入队: 遍历队列: 判断队列是否为空: 出队: 这篇笔记是根据郝斌老师的上课讲义整理而得&…

【LightOJ - 1038】Race to 1 Again(概率dp,数学期望)

题干: Rimi learned a new thing about integers, which is - any positive integer greater than 1 can be divided by its divisors. So, he is now playing with this property. He selects a number N. And he calls this D. In each turn he randomly choose…

使用matplotlib进行简单的数据展示

import numpy as np import matplotlib.pyplot as plt# 解决中文乱码 plt.rcParams[font.sans-serif] [SimHei] # 用来正常显示中文标签 plt.rcParams[axes.unicode_minus] False # 用来正常显示负号# 建立一个坐标系 plt.subplot(1, 1, 1) # 指明x和y值 x np.array([1, 2…

(6)递归

目录 递归知识点: 递归操作: 阶乘的循环实现: 阶乘的递归实现: 经典的汉诺塔问题: 这篇笔记是根据郝斌老师的上课讲义整理而得。 递归知识点: 定义:一个函数自己直接或间接调用自己 。 …

由浅到深理解ROS(4)

消息和消息类型 节点能相互传递消息,节点之间通信也是基于消息。消息类型也就是数据类型数据类型,理解消息的类型很重要,因为它决定了消息的内容。也就是说,一个话题的消息类型能告诉你该话题中每个消息携带了哪些信息&#xff0…

【CodeForces - 1197C】Array Splitting(水题)

题干: You are given a sorted array a1,a2,…,ana1,a2,…,an (for each index i>1i>1 condition ai≥ai−1ai≥ai−1holds) and an integer kk. You are asked to divide this array into kk non-empty consecutive subarrays. Every element in the array…

Django项目部署在Centos7

把Django项目部署在Centos7下 先有一个Django项目 一个员工管理系统(ems) 员工管理系统 使用VMware创建一个虚拟的Linux系统 Centos7下安装MySql5.7 详细安装 Centos7下安装Python3.5 详细安装 Centos7下安装Django2.0.6 - 安装数据库驱动&#xf…

(7)树

目录 树的知识点: 定义: 专业术语: 操作(重点): 树的操作: 创建二叉树: 先序遍历: 中序遍历: 后序遍历: 这篇笔记是根据郝斌老师的上课讲义整理而得。 树的知识点&#xf…

由浅到深理解ROS(5)- launch启动文件的理解与编写

ROS提供了一个同时启动节点管理器(master)和多个节点的途径,即使用启动文件(launch file)。事实上,在ROS功能包中,启动文件的使用是非常普遍的。任何包含两个或两个以上节点的系统都可以利用启动…

【CodeForces - 1199C】MP3(思维,离散化)

题干: One common way of digitalizing sound is to record sound intensity at particular time moments. For each time moment intensity is recorded as a non-negative integer. Thus we can represent a sound file as an array of nn non-negative integers…