tensorflow
tensorflow实战
Revendell
分布式数据库内核开发
展开
-
tensorflow 学习笔记2 session与Variable
这次博客写的是关于tensorflow里面的session与variable:Session负责Client System和TensorFlow的通信,Session会有一个run接口;Variable()这个构造函数需要初始值,这个初始值可以是一个任何类型任何形状的Tensor,初始值的形状和类型决定了这个变量的形状和类型。构造之后,这个变量的形状和类型就固定了,他的值可以通过assig原创 2017-07-25 21:25:53 · 833 阅读 · 0 评论 -
tensorflow 学习笔记14 scope命名方式
tf.get_variable 和tf.Variable不同的一点是,前者拥有一个变量检查机制,会检测已经存在的变量是否设置为共享变量,如果已经存在的变量没有设置为共享变量,TensorFlow 运行到第二个拥有相同名字的变量的时候,就会报错。tf.variable_scope() 返回的只是 variable_scope,不管 name_scope.所以以后我们在使用tf.variable_原创 2017-08-22 22:02:35 · 491 阅读 · 0 评论 -
tensorflow 学习笔记13 RNN LSTM结构预测正弦(sin)函数
import tensorflow as tfimport numpy as npimport matplotlib.pyplot as pltBATCH_START = 0TIME_STEPS = 20BATCH_SIZE = 50INPUT_SIZE = 1OUTPUT_SIZE = 1#hidden_unit_sizeCELL_SIZE = 10#learning_r原创 2017-08-21 23:00:02 · 1499 阅读 · 0 评论 -
tensorflow 学习笔记12 循环神经网络RNN LSTM结构实现MNIST手写识别
长短时记忆网络(LSTM)就是为了解决在复杂的场景中,有用信息的间隔有大有小、长短不一问题。LSTM是一种拥有三个门结构的特殊网络结构。LSTM靠一些门的结构让信息有选择的影响循环神经网络中每个时刻的状态。所谓门的结构就是一个使用sigmoid神经网络和按位做乘法的操作,这两个操作合在一起就是一个门的结构。当门打开时(sigmoid神经网络层输出为1时),全部信息都可以通过;当门关上时原创 2017-08-21 16:39:55 · 4460 阅读 · 1 评论 -
tensorflow 学习笔记11 最简单的循环神经网络(RNN)
RNN的主要用途是处理与预测序列数据,在语音识别、语言模型、机器翻译以及时序分析等方面应用广泛。RNN会记忆之前的信息,并利用之前的信息影响后面的节点输出。也就是说,循环神经网络的隐藏层之间的结点是有连接的,隐藏僧的输入不仅包括输入层的输出,还包括上一时刻隐藏层的输出。例如一个两轮的RNN模型:初始W0=[0.0,0.0] Wrnn=[[0.1,0.2],[0.3,0.4],[0.5,原创 2017-08-20 22:16:47 · 899 阅读 · 1 评论 -
tensorflow 学习笔记10 网络模型的保存与提取
参数的保存与提取关键点就是前后参数的shape,name,dtype都必须一致:参数的保存:import tensorflow as tfw = tf.Variable(tf.constant(1.0, shape=[1]), name="w")b = tf.Variable(tf.constant(2.0, shape=[1]), name="b")saver = tf.tr原创 2017-08-19 18:35:12 · 356 阅读 · 0 评论 -
tensorflow 学习笔记9 卷积神经网络(CNN)实现mnist手写识别
卷积神经网络的结构: 卷积层:卷积层最重要的部分是过滤器(fiter),过滤器可以将当前层神经网络上的一个子节点矩阵转化为下一层神经网络上的一个单位节点矩阵。 例如:w=[[1,-1],[0,2]] b=1 a=[[0,0,0,0],[0,1,-1,0],[0,-1,2,1],[0,0,2,-2]] w就是一个过滤器,使用全0填充,步长为2,f=ReLU的卷积层原创 2017-08-19 15:48:30 · 458 阅读 · 0 评论 -
tensorflow 学习笔记7 普通神经网络实现mnist手写识别
import tensorflow as tffrom tensorflow.examples.tutorials.mnist import input_data# number 1 to 10 data自动下载数据集mnist = input_data.read_data_sets('MNIST_data', one_hot=True)def add_layer(inputs, in_原创 2017-08-17 20:43:06 · 386 阅读 · 0 评论 -
tensorflow 学习笔记5 结果可视化
tensorflow结果可视化需要安装matplotlib库import matplotlib.pyplot as plt然后进行可视化#可视化#作用新建绘画窗口,独立显示绘画的图片fig=plt.figure()#画布为一行一列一块ax=fig.add_subplot(1,1,1)#输入的数据为x_data y_dataax.scatter(x_data,y_data)原创 2017-07-26 22:44:17 · 1696 阅读 · 5 评论 -
tesorflow 学习笔记1 线性回归预测
初次学习tensorflow的使用,这次是用tensorflow的包装库写了一个线性回归预测的应用。首先创建100个数据(x,y),最后预测x与y的关系,y=W*x+b,将loss函数优化迭代100,减到最小,得到W与b的值,最终得到y与x的关系。import numpy as npimport tensorflow as tf#创建数据x_data=np.random.rand(1原创 2017-07-25 20:48:08 · 715 阅读 · 0 评论 -
tensorflow 学习笔记4 搭建神经网络基本流程
搭建神经网络主要有以下几步:1.训练的数据2.定义节点准备接收数据3.定义神经层:隐藏层和预测层4.定义 loss 表达式5.选择 optimizer 使 loss 达到最小import tensorflow as tfimport numpy as np# 添加层def add_layer(inputs,in_size,out_size,activation_fun原创 2017-07-26 21:21:29 · 491 阅读 · 0 评论 -
tensorflow 学习笔记8 dropout
dropout用于解决过拟合问题。打个比方Dropout类似于性别在生物进化中的角色:物种为了生存往往会倾向于适应这种环境,环境突变则会导致物种难以做出及时反应,性别的出现可以繁衍出适应新环境的变种,有效的阻止过拟合,即避免环境改变时物种可能面临的灭绝。代码例子是sklearn数据集进行简单训练后的模型:import tensorflow as tffrom sklearn.datasets原创 2017-08-18 10:44:41 · 322 阅读 · 0 评论 -
tensorflow 学习笔记6 TensorBoard可视化神经网络过程
import tensorflow as tfimport numpy as npdef add_layer(inputs, in_size, out_size, n_layer, activation_function=None): # add one more layer and return the output of this layer layer_name = '原创 2017-08-17 19:44:01 · 352 阅读 · 0 评论 -
tensorflow 学习笔记3 placeholder与激活函数
placeholder使用的时候和前面的variable不同的是在session运行阶段,需要给placeholder提供数据,利用feed_dict的字典结构给placeholdr变量“喂数据”。import tensorflow as tf#placeholder 传入值 运行结果时给它一个输入值,与feed_dict绑定input1=tf.placeholder(tf.float3原创 2017-07-26 10:58:45 · 845 阅读 · 0 评论 -
tensorflow 学习笔记15 Batch Normalization实例
为什么批标准化:(1)你可以选择比较大的初始学习率,让你的训练速度飙涨(2)你再也不用去理会过拟合中drop out、L2正则项参数的选择问题(3)再也不需要使用使用局部响应归一化层了,因为BN本身就是一个归一化网络层(4)可以把训练数据彻底打乱Batch Normalization网络层的前向传导过程公式:代码实现mnist:import tensorflow原创 2017-08-23 23:04:05 · 733 阅读 · 1 评论