一个月暴力入门tensorflow

目录

为什么是tensorflow:

现在玩机器学习的人大概没有不知道tensorflow大名的吧,但是与caffe,keras相比,这位“仁兄”确实不怎么友好。即是这样,在众多开源的深度学习框架当中,tensorflow也是一枝独秀。Google的大名和号召力当然是其中一方面原因,但是,tensorflow也具有众多的优点。比如,网络结构代码十分简洁,分布式深度学习算法的执行效率等等。作为一个“菜鸡”来看,最吸引我的地方就是tensorflow对于python接口的支持十分良好。毕竟没有一个数据挖掘工作是单单定义网络就可以完成的。Python所拥有的Numpy, Scipy, Pandas等组建能大大提升工作的效率。

出来以上的优点以外,tensorflow对于网络结构的可视化和训练过程的可视化也有非常优秀的地方,下面是两个例子,第一个是tensorflow的tensorboard工具,第二个是tensorflow的playground。

这是训练过程可视化,使用的工具是tensorboard

这是网络结构可视化,使用的工具是tensorboard

关于tensorflowplayground可以参考网页:http://playground.tensorflow.org/

这里写图片描述

说说目的:

写这一系列博文的目的当然不是为了将深度学习,毕竟这是一个太宽泛,我的知识水平难以完全驾驭的领域。我只是提供一个途径,一种入门的方式。在最初接触一个领域的知识的时候如果单纯看论文会非常枯燥,而且顾前不顾后,狗熊掰棒子。但是如果能从一开始就动手操作,再看论文,做理论推导,整个过程会像揭秘一样有趣。我的目的就是把学习tensorflow这个“迷”给大家呈现出来。怎么去理解,分析,就看个人的功夫了。

这一系列的文章会以一种:代码段->代码解释->运行结果->调试心得的形式展现我一个月以来的学习成果。也算是一种笔记。但是,鲜有涉及原理的部分。或者以后的文章会讲到原理。但是作为一篇技术入门文章,我力图使文章尽量简洁,操作性强,而不是全面。

其中的代码大部分都是我从《Tensorflow实战Google深度学习框架》,《Tensorflow实战》还有Tensorflow的自带例子里面修改过来的。每一段都在自己的计算机上(ubuntu14.04+tensorflow 0.8.0)上实验过。如果复制代码而不能运行多半是版本的问题,或者是有些路径的问题。希望大家多加谅解。

文章结构

文章将会涉及以下内容:

  1. mnist手写数字识别
  2. 从mnist例子看tensorflow基础知识
  3. 来写个Lenet5
  4. 经典卷积神经网络之AlexNet
  5. 经典卷积神经网络之VGG
  6. 吓死人的Inception Net以及迁移学习
  7. Resnet和没学会的tf.contrib.slim模块
  8. Word2Vec探秘
  9. 循环神经网络到底是什么?
  10. 深度强化学习初探

mnist手写数字识别

为了让第一篇文章不要这么水过去,就在这一篇文章当中介绍这个系列的第一个内容,mnist手写数字识别。这几乎是每一个学习神经网络的人遇到的第一个例子了。我不想介绍原理,直接从输入输出和网络结果来介绍吧:

  • 输入:
from tensorflow.examples.tutorials.mnist import input_data 
mnist = input_data.read_data_sets("MNIST_data/", one_hot=True)

这两行代码是利用tensorflow里面的python代码自动下载mnist数据集。其中,one_hot = True 是将图片的标签,也就是0-9这九个数字向量化,比如:4 就变成:
[0,0,0,0,1,0,0,0,0,0]。这样才能可网络的输出,也就是一个长度为10的向量匹配。

现在我们观察一下数据集:
这里写图片描述

代码中主要用到的是mnist.train, mnist.validation, mnist.test部分,分别用于训练,训练时验证和最后检验模型。mnist.train又分为images和labels部分(其他当然也一样)。图片部分是将一幅

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值