干货 | TensorFlow的55个经典案例

转自1024深度学习

导语:本文是TensorFlow实现流行机器学习算法的教程汇集,目标是让读者可以轻松通过清晰简明的案例深入了解 TensorFlow。这些案例适合那些想要实现一些 TensorFlow 案例的初学者。本教程包含还包含笔记和带有注解的代码。

第一步:给TF新手的教程指南

1:tf初学者需要明白的入门准备

  • 机器学习入门笔记:

https://github.com/aymericdamien/TensorFlow-Examples/blob/master/notebooks/0_Prerequisite/ml_introduction.ipynb

  • MNIST 数据集入门笔记

https://github.com/aymericdamien/TensorFlow-Examples/blob/master/notebooks/0_Prerequisite/mnist_dataset_intro.ipynb

2:tf初学者需要了解的入门基础

 

  • Hello World

https://github.com/aymericdamien/TensorFlow-Examples/blob/master/notebooks/1_Introduction/helloworld.ipynb

https://github.com/aymericdamien/TensorFlow-Examples/blob/master/examples/1_Introduction/helloworld.py

  • 基本操作

https://github.com/aymericdamien/TensorFlow-Examples/blob/master/notebooks/1_Introduction/basic_operations.ipynb

https://github.com/aymericdamien/TensorFlow-Examples/blob/master/examples/1_Introduction/basic_operations.py

3:tf初学者需要掌握的基本模型

  • 最近邻:

https://github.com/aymericdamien/TensorFlow-Examples/blob/master/notebooks/2_BasicModels/nearest_neighbor.ipynb

https://github.com/aymericdamien/TensorFlow-Examples/blob/master/examples/2_BasicModels/nearest_neighbor.py

  • 线性回归:

https://github.com/aymericdamien/TensorFlow-Examples/blob/master/notebooks/2_BasicModels/linear_regression.ipynb

https://github.com/aymericdamien/TensorFlow-Examples/blob/master/examples/2_BasicModels/linear_regression.py

  • Logistic 回归:

https://github.com/aymericdamien/TensorFlow-Examples/blob/master/notebooks/2_BasicModels/logistic_regression.ipynb

https://github.com/aymericdamien/TensorFlow-Examples/blob/master/examples/2_BasicModels/logistic_regression.py

4:tf初学者需要尝试的神经网络

  • 多层感知器:

https://github.com/aymericdamien/TensorFlow-Examples/blob/master/notebooks/3_NeuralNetworks/multilayer_perceptron.ipynb

https://github.com/aymericdamien/TensorFlow-Examples/blob/master/examples/3_NeuralNetworks/multilayer_perceptron.py

  • 卷积神经网络:

https://github.com/aymericdamien/TensorFlow-Examples/blob/master/notebooks/3_NeuralNetworks/convolutional_network.ipynb

https://github.com/aymericdamien/TensorFlow-Examples/blob/master/examples/3_NeuralNetworks/convolutional_network.py

  • 循环神经网络(LSTM):

https://github.com/aymericdamien/TensorFlow-Examples/blob/master/notebooks/3_NeuralNetworks/recurrent_network.ipynb

https://github.com/aymericdamien/TensorFlow-Examples/blob/master/examples/3_NeuralNetworks/recurrent_network.py

  • 双向循环神经网络(LSTM):

https://github.com/aymericdamien/TensorFlow-Examples/blob/master/notebooks/3_NeuralNetworks/bidirectional_rnn.ipynb

https://github.com/aymericdamien/TensorFlow-Examples/blob/master/examples/3_NeuralNetworks/bidirectional_rnn.py

  • 动态循环神经网络(LSTM)

https://github.com/aymericdamien/TensorFlow-Examples/blob/master/examples/3_NeuralNetworks/dynamic_rnn.py

  • 自编码器

https://github.com/aymericdamien/TensorFlow-Examples/blob/master/notebooks/3_NeuralNetworks/autoencoder.ipynb

https://github.com/aymericdamien/TensorFlow-Examples/blob/master/examples/3_NeuralNetworks/autoencoder.py

5:tf初学者需要精通的实用技术

  • 保存和恢复模型

https://github.com/aymericdamien/TensorFlow-Examples/blob/master/notebooks/4_Utils/save_restore_model.ipynb

https://github.com/aymericdamien/TensorFlow-Examples/blob/master/examples/4_Utils/save_restore_model.py

  • 图和损失可视化

https://github.com/aymericdamien/TensorFlow-Examples/blob/master/notebooks/4_Utils/tensorboard_basic.ipynb

https://github.com/aymericdamien/TensorFlow-Examples/blob/master/examples/4_Utils/tensorboard_basic.py

  • Tensorboard——高级可视化

https://github.com/aymericdamien/TensorFlow-Examples/blob/master/examples/4_Utils/tensorboard_advanced.py

5:tf初学者需要的懂得的多GPU基本操作

  • 多 GPU 上的基本操作

https://github.com/aymericdamien/TensorFlow-Examples/blob/master/notebooks/5_MultiGPU/multigpu_basics.ipynb

https://github.com/aymericdamien/TensorFlow-Examples/blob/master/examples/5_MultiGPU/multigpu_basics.py

6:案例需要的数据集

有一些案例需要 MNIST 数据集进行训练和测试。运行这些案例时,该数据集会被自动下载下来(使用 input_data.py)。

MNIST数据集笔记:https://github.com/aymericdamien/TensorFlow-Examples/blob/master/notebooks/0_Prerequisite/mnist_dataset_intro.ipynb

官方网站:http://yann.lecun.com/exdb/mnist/

第二步:为TF新手备的各个类型的案例、模型和数据集

初步了解:TFLearn TensorFlow

接下来的示例来自TFLearn,这是一个为 TensorFlow 提供了简化的接口的库。里面有很多示例和预构建的运算和层。

使用教程:TFLearn 快速入门。通过一个具体的机器学习任务学习 TFLearn 基础。开发和训练一个深度神经网络分类器。

TFLearn地址:https://github.com/tflearn/tflearn

示例:https://github.com/tflearn/tflearn/tree/master/examples

预构建的运算和层:http://tflearn.org/doc_index/#api

笔记:https://github.com/tflearn/tflearn/blob/master/tutorials/intro/quickstart.md

基础模型以及数据集

  • 线性回归,使用 TFLearn 实现线性回归

https://github.com/tflearn/tflearn/blob/master/examples/basics/linear_regression.py

  • 逻辑运算符。使用 TFLearn 实现逻辑运算符

https://github.com/tflearn/tflearn/blob/master/examples/basics/logical.py

  • 权重保持。保存和还原一个模型

https://github.com/tflearn/tflearn/blob/master/examples/basics/weights_persistence.py

  • 微调。在一个新任务上微调一个预训练的模型

https://github.com/tflearn/tflearn/blob/master/examples/basics/finetuning.py

  • 使用 HDF5。使用 HDF5 处理大型数据集

https://github.com/tflearn/tflearn/blob/master/examples/basics/use_hdf5.py

  • 使用 DASK。使用 DASK 处理大型数据集

https://github.com/tflearn/tflearn/blob/master/examples/basics/use_dask.py

计算机视觉模型及数据集

  • 多层感知器。一种用于 MNIST 分类任务的多层感知实现

https://github.com/tflearn/tflearn/blob/master/examples/images/dnn.py

  • 卷积网络(MNIST)。用于分类 MNIST 数据集的一种卷积神经网络实现

https://github.com/tflearn/tflearn/blob/master/examples/images/convnet_mnist.py

  • 卷积网络(CIFAR-10)。用于分类 CIFAR-10 数据集的一种卷积神经网络实现

https://github.com/tflearn/tflearn/blob/master/examples/images/convnet_cifar10.py

  • 网络中的网络。用于分类 CIFAR-10 数据集的 Network in Network 实现

https://github.com/tflearn/tflearn/blob/master/examples/images/network_in_network.py

  • Alexnet。将 Alexnet 应用于 Oxford Flowers 17 分类任务

https://github.com/tflearn/tflearn/blob/master/examples/images/alexnet.py

  • VGGNet。将 VGGNet 应用于 Oxford Flowers 17 分类任务

https://github.com/tflearn/tflearn/blob/master/examples/images/vgg_network.py

  • VGGNet Finetuning (Fast Training)。使用一个预训练的 VGG 网络并将其约束到你自己的数据上,以便实现快速训练

https://github.com/tflearn/tflearn/blob/master/examples/images/vgg_network_finetuning.py

  • RNN Pixels。使用 RNN(在像素的序列上)分类图像

https://github.com/tflearn/tflearn/blob/master/examples/images/rnn_pixels.py

  • Highway Network。用于分类 MNIST 数据集的 Highway Network 实现

https://github.com/tflearn/tflearn/blob/master/examples/images/highway_dnn.py

  • Highway Convolutional Network。用于分类 MNIST 数据集的 Highway Convolutional Network 实现

https://github.com/tflearn/tflearn/blob/master/examples/images/convnet_highway_mnist.py

  • Residual Network (MNIST) 。应用于 MNIST 分类任务的一种瓶颈残差网络(bottleneck residual network)

https://github.com/tflearn/tflearn/blob/master/examples/images/residual_network_mnist.py

  • Residual Network (CIFAR-10)。应用于 CIFAR-10 分类任务的一种残差网络

https://github.com/tflearn/tflearn/blob/master/examples/images/residual_network_cifar10.py

  • Google Inception(v3)。应用于 Oxford Flowers 17 分类任务的谷歌 Inception v3 网络

https://github.com/tflearn/tflearn/blob/master/examples/images/googlenet.py

  • 自编码器。用于 MNIST 手写数字的自编码器

https://github.com/tflearn/tflearn/blob/master/examples/images/autoencoder.py

自然语言处理模型及数据集

  • 循环神经网络(LSTM),应用 LSTM 到 IMDB 情感数据集分类任

https://github.com/tflearn/tflearn/blob/master/examples/nlp/lstm.py

  • 双向 RNN(LSTM),将一个双向 LSTM 应用到 IMDB 情感数据集分类任务:

https://github.com/tflearn/tflearn/blob/master/examples/nlp/bidirectional_lstm.py

  • 动态 RNN(LSTM),利用动态 LSTM 从 IMDB 数据集分类可变长度文本:

https://github.com/tflearn/tflearn/blob/master/examples/nlp/dynamic_lstm.py

  • 城市名称生成,使用 LSTM 网络生成新的美国城市名:

https://github.com/tflearn/tflearn/blob/master/examples/nlp/lstm_generator_cityname.py

  • 莎士比亚手稿生成,使用 LSTM 网络生成新的莎士比亚手稿:

https://github.com/tflearn/tflearn/blob/master/examples/nlp/lstm_generator_shakespeare.py

  • Seq2seq,seq2seq 循环网络的教学示例:

https://github.com/tflearn/tflearn/blob/master/examples/nlp/seq2seq_example.py

  • CNN Seq,应用一个 1-D 卷积网络从 IMDB 情感数据集中分类词序列

https://github.com/tflearn/tflearn/blob/master/examples/nlp/cnn_sentence_classification.py

强化学习案例

  • Atari Pacman 1-step Q-Learning,使用 1-step Q-learning 教一台机器玩 Atari 游戏:

https://github.com/tflearn/tflearn/blob/master/examples/reinforcement_learning/atari_1step_qlearning.py

第三步:为TF新手准备的其他方面内容

  • Recommender-Wide&Deep Network,推荐系统中 wide & deep 网络的教学示例:

https://github.com/tflearn/tflearn/blob/master/examples/others/recommender_wide_and_deep.py

  • Spiral Classification Problem,对斯坦福 CS231n spiral 分类难题的 TFLearn 实现:

https://github.com/tflearn/tflearn/blob/master/examples/notebooks/spiral.ipynb

  • 层,与 TensorFlow 一起使用  TFLearn 层:

https://github.com/tflearn/tflearn/blob/master/examples/extending_tensorflow/layers.py

  • 训练器,使用 TFLearn 训练器类训练任何 TensorFlow 图:

https://github.com/tflearn/tflearn/blob/master/examples/extending_tensorflow/layers.py

  • Bulit-in Ops,连同 TensorFlow 使用 TFLearn built-in 操作:

https://github.com/tflearn/tflearn/blob/master/examples/extending_tensorflow/builtin_ops.py

  • Summaries,连同 TensorFlow 使用 TFLearn summarizers:

https://github.com/tflearn/tflearn/blob/master/examples/extending_tensorflow/summaries.py

  • Variables,连同 TensorFlow 使用 TFLearn Variables:

https://github.com/tflearn/tflearn/blob/master/examples/extending_tensorflow/variables.py

时间: 2024-08-01 16:53:23

干货 | TensorFlow的55个经典案例的相关文章

TensorFlow经典案例2:实现最近邻算法

本次案例需要大家了解关于手写数字识别(mnist)的数据集的特点和结构: #TensorFlow实现最近邻算法 #次案例的前提是了解mnist数据集(手写数字识别) import tensorflow as tf import numpy as np from tensorflow.examples.tutorials.mnist import input_data #导入mnist数据集 mnist = input_data.read_data_sets("/tmp/data/",

Hadoop经典案例Spark实现(七)——日志分析:分析非结构化文件

相关文章推荐 Hadoop经典案例Spark实现(一)--通过采集的气象数据分析每年的最高温度 Hadoop经典案例Spark实现(二)--数据去重问题 Hadoop经典案例Spark实现(三)--数据排序 Hadoop经典案例Spark实现(四)--平均成绩 Hadoop经典案例Spark实现(五)--求最大最小值问题 Hadoop经典案例Spark实现(六)--求最大的K个值并排序 Hadoop经典案例Spark实现(七)--日志分析:分析非结构化文件 1.需求:根据tomcat日志计算ur

多线程十大经典案例之一 双线程读写队列数据

本文配套程序下载地址为:http://download.csdn.net/detail/morewindows/5136035 转载请标明出处,原文地址:http://blog.csdn.net/morewindows/article/details/8646902 欢迎关注微博:http://weibo.com/MoreWindows 在<秒杀多线程系列>的前十五篇中介绍多线程的相关概念,多线程同步互斥问题<秒杀多线程第四篇一个经典的多线程同步问题>及解决多线程同步互斥的常用方法

java多线程经典案例

/** * 典型案例:子线程执行10次,主线程执行100次,两者交替50次. */ package cn.itcast.lesson4; public class TestWaitNotify { public static void main(String[] args){ final Business business= new Business(); new Thread( new Runnable() { public void run() { for(int i=1;i<=50;i++

秒杀多线程第十六篇 多线程十大经典案例之一 双线程读写队列数据

版权声明:本文为博主原创文章,未经博主允许不得转载. 目录(?)[+] 本文配套程序下载地址为:http://download.csdn.net/detail/morewindows/5136035 转载请标明出处,原文地址:http://blog.csdn.net/morewindows/article/details/8646902 欢迎关注微博:http://weibo.com/MoreWindows 在<秒杀多线程系列>的前十五篇中介绍多线程的相关概念,多线程同步互斥问题<秒杀多

网络机器人的识别与攻防的经典案例

本文我们介绍一个网络机器人的识别与攻防的经典案例.使用到的代码见本人的superword项目: https://github.com/ysc/superword/blob/master/src/main/java/org/apdplat/superword/tools/ProxyIp.java 我们的目的是要使用机器人自动获取站点http://ip.qiaodm.com/ 和站点http://proxy.goubanjia.com/ 的免费高速HTTP代理IP和端口号. 不过他们未对机器人进行识

销售圣经的55句经典语

相信你的公司,相信你的产品,相信你自己,否则销售不会成功 1.人们不喜欢被推销,但却热衷于购买. 2.成交之前,一切为零. 3.永远都会有销售发生,不是你通过“是”把什么卖给了顾客,就是顾客通过“不”把什么卖给了你. 4.条件一样,人们想和朋友做生意,条件不一样,人们还是想要和朋友做生意.成功. 7.从拒绝你的人那里学到东西,每一个反对意见最后都会变成他必定要购买的理由. 5.相信你的公司,相信你的产品,相信你自己,否则你的销售不会成功. 6.问题之于销售,如同呼吸之于生命.如果没有提出问题,你

拍卖行与邮件系统——设计者与开发者协作的经典案例

此文仅代表作者本人观点,如有槽点,欢迎吐槽. 设计者与开发者 设计者与开发者,游戏行业内直白的说法就是策划.美术跟程序.但不管在任何行业,这两者之间的关系都既像战友又像敌人.设计者的想法往往是完美的,而开发者的想法却是实际的,就好像梦想与现实一样.我听说过这样的话:美术设计的效果是100%的话,程序呈现出的效果能达到80%就已经很完美了.这当然不是在黑程序,程序出于某些原因无法完全实现效果(资源尺寸,资源通用性,性能考虑等等),毕竟梦想和现实是有差距的.在此案例中,我们仅讨论策划与程序. 拍卖行

(Mirage系列之八)Mirage经典案例之数据更新和恢复

在(Mirage系列之四)Mirage经典案例之集中桌面管理中我们介绍过,Mirage将客户端的数据根据策略备份到服务器上.备份数据的一个最重要的目的就是用户数据恢复,这次我们来讲如何从客户端恢复用户数据. 从客户端恢复用户数据,有以下几种情况: 1.      把文件恢复到以前的某个版本 2.      从存档中恢复文件和文件夹 3.      恢复删除的文件和文件夹 这里,存档指客户端在服务器上的备份.服务器会根据策略按预定的间隔备份客户端数据,从而产生多个存档. 以上三种方式本质上都是一样