当我们训练自己的神经网络的时候,无一例外的就是都会加上一句 sess.run(tf.global_variables_initializer()) ,这行代码的官方解释是 初始化模型的参数.那么,它到底做了些什么? global_variables_initializer 返回一个用来初始化 计算图中 所有global variable的 op. 这个op 到底是啥,还不清楚.函数中调用了 variable_initializer() 和 global_variables()global_var…
当我们训练自己的神经网络的时候,无一例外的就是都会加上一句 sess.run(tf.global_variables_initializer()) ,这行代码的官方解释是 初始化模型的参数.那么,它到底做了些什么? 一步步看源代码:(代码在后面) global_variables_initializer 返回一个用来初始化 计算图中 所有global variable的 op. 这个op 到底是啥,还不清楚.函数中调用了 variable_initializer() 和 global_varia…
tf.global_variables_initializer() 此函数是初始化模型的参数 with tf.Session() as sess: tf.global_variables_initializer().run() 当我们训练自己的神经网络的时候,无一例外的就是都会加上这一句 tf.global_variables_initializer().run() 或者 sess.run(tf.global_variables_initializer())…
sess.run()由fetches和feed_dict组成 sess.run(fetches,feed_dict) sess.run是让fetches节点动起来,告诉tensorflow,想要此节点的输出. fetches 可以是list或者tensor向量 feed_dict给使用placeholder创建出来的tensor赋值,用来替换原图中的某个tensor,feed 只在调用它的方法内有效, 方法结束, feed 就会消失. import tensorflow as tf y = tf…
一.安装目前用了tensorflow.deeplearning4j两个深度学习框架, tensorflow 之前一直支持到python 3.5,目前以更新到3.6,故安装最新版体验使用. 慢慢长征路:安装过程如下 WIN10: anaconda3.5: PYTHON3.6: tensorflow1.4: 二.TensorFlow 基本概念与原理理解 1.TensorFlow 的工作原理 TensorFlow是用数据流图(data flow graphs)技术来进行数值计算的.数据流图是描述有向图…
from: https://blog.csdn.net/mmc2015/article/details/46866537 http://scikit-learn.org/stable/modules/generated/sklearn.feature_extraction.text.CountVectorizer.html#sklearn.feature_extraction.text.CountVectorizer class sklearn.feature_extraction.text.C…
[dotnet跨平台]"dotnet restore"和"dotnet run"都做了些什么? 前言: 关于dotnet跨平台的相关内容.能够參考:跨平台.NET Core--微软开源方向 当中..net core基础库叫CoreFX:https://github.com/dotnet/corefx,.net core执行时叫CoreCLR:https://github.com/dotnet/coreCLR, asp.net core各组件库:https://git…
1. npm install 安装了webpack框架中package.json中所需要的依赖 2.安装完成之后,需要启动整个项目运行,npm run 其实执行了package.json中的script脚本,npm run dev的执行如下 3.底层相当执行webpack-dev-server --inline --progress --config build/webpack.dev.conf.js命令 4.build/webpack.dev.conf.js文件中require ./webpa…
1. tf.nn.embedding_lookup(W, X) W的维度为[len(vocabulary_list), 128], X的维度为[?, 8],组合后的维度为[?, 8, 128] 代码说明一下:即根据每一行X中的一个数,从W中取出对应行的128个数据,比如X[1, 3]个数据是3062,即从W中的第3062行取出128个数据 import numpy as np import tensorflow as tf data = np.array([[2, 1], [3, 4], [5,…
catalogue . 前言 . 使用的数据集 . 数据预处理 . 训练 . 测试模型运行结果: 进行实际完形填空 0. 前言 开始写这篇文章的时候是晚上12点,突然想到几点新的理解,赶紧记下来.我们用深度学习(例如tensorflow)的时候,一定要着重训练自己的建模和抽象能力,即把一个复杂的业务问题抽象为一个数学模型问题.从本质上说,阅读理解做完形填空和人机对话AI是一样的,所不同的地方在于,前者的输入一段长对话,且是带有上下文的长对话,而输出可能是一段短语,这要求神经网络需要训练出一个"长…
1. tf.reuse_default_graph() # 对graph结构图进行清除和重置操作 2.tf.summary.FileWriter(path)构造writer实例化,以便进行后续的graph写入 参数说明:path表示路径 3.writer.add_graph(sess.graph) 将当前参数的graph写入到tensorboard中 参数说明:sess.graph当前的网络结构图 4. summ = tf.summary.merge_all() # 将所有的summary都添加…
1. rnn.BasicLSTMCell(num_hidden) #  构造单层的lstm网络结构 参数说明:num_hidden表示隐藏层的个数 2.tf.nn.dynamic_rnn(cell, self.x, tf.float32) # 执行lstm网络,获得state和outputs 参数说明:cell表示实例化的rnn网络,self.x表示输入层,tf.float32表示类型 3. tf.expand_dim(self.w, axis=0) 对数据增加一个维度 参数说明:self.w表…
问题:LSTM的输出值output和state是否是一样的 1. rnn.LSTMCell(num_hidden, reuse=tf.get_variable_scope().reuse)  # 构建单层的LSTM网络 参数说明:num_hidden表示隐藏层的个数,reuse表示LSTM的参数进行复用 2.rnn.DropoutWrapper(cell, output_keep_prob=keep_prob) # 表示对rnn的输出层进行dropout 参数说明:cell表示单层的lstm,o…
1.tf.nn.lrn(pool_h1, 4, bias=1.0, alpha=0.001/9.0, beta=0.75) # 局部响应归一化,使用相同位置的前后的filter进行响应归一化操作 参数说明:pool_h1表示输入数据,4表示使用前后几层进行归一化操作,bias表示偏移量,alpha和beta表示系数 局部响应的公式 针对上述公式,做了一个试验代码: # 自己编写的代码, 对x的[1, 1, 1, 1]进行局部响应归一化操作,最后结果是相同的x = np.array([i for…
上一节,我们已经讲解了使用全连接网络实现手写数字识别,其正确率大概能达到98%,这一节我们使用卷积神经网络来实现手写数字识别, 其准确率可以超过99%,程序主要包括以下几块内容 [1]: 导入数据,即测试集和验证集 [2]: 引入 tensorflow 启动InteractiveSession(比session更灵活) [3]: 定义两个初始化w和b的函数,方便后续操作 [4]: 定义卷积和池化函数,这里卷积采用padding,使得 输入输出图像一样大,池化采取2x2,那么就是4格变一格 [5]…
一.搭建简单的CNN做序列标注代码 import tensorflow as tf import numpy as np import matplotlib.pyplot as plt TIME_STEPS = 15# backpropagation through time 的time_steps BATCH_SIZE = 1#50 INPUT_SIZE = 1 # x数据输入size LR = 0.05 # learning rate num_tags = 2 # 定义一个生成数据的 get…
tf用 tf.train.Saver类来实现神经网络模型的保存和读取.无论保存还是读取,都首先要创建saver对象. 用saver对象的save方法保存模型 保存的是所有变量 save( sess, save_path, global_step=None, latest_filename=None, meta_graph_suffix='meta', write_meta_graph=True, write_state=True ) 保存模型需要session,初始化变量 用法示例 import…
使用tf.nn.batch_normalization函数实现Batch Normalization操作 觉得有用的话,欢迎一起讨论相互学习~Follow Me 参考文献 吴恩达deeplearningai课程 课程笔记 Udacity课程 """ 大多数情况下,您将能够使用高级功能,但有时您可能想要在较低的级别工作.例如,如果您想要实现一个新特性-一些新的内容,那么TensorFlow还没有包括它的高级实现, 比如LSTM中的批处理规范化--那么您可能需要知道一些事情. 这…
Batch Normalization: 使用tf.layers高级函数来构建带有Batch Normalization的神经网络 觉得有用的话,欢迎一起讨论相互学习~Follow Me 参考文献 吴恩达deeplearningai课程 课程笔记 Udacity课程 在使用tf.layers高级函数来构建神经网络中我们使用了tf.layers包构建了一个不包含有Batch Normalization结构的卷积神经网络模型作为本节模型的对比 本节中将使用tf.layers包实现包含有Batch N…
方法定义 tf.nn.conv2d(input, filter, strides, padding, use_cudnn_on_gpu=True, data_format="NHWC", dilations=[1,1,1,1], name=None) 参数: input:  输入的要做卷积的数据体,要求是一个`Tensor` filter: 卷积核,要求也是一个`Tensor`, shape= [filter_height, filter_width, in_channels, out…
一.tensorflow中二维卷积函数的参数含义:def conv2d(input, filter, strides, padding, use_cudnn_on_gpu=True, data_format="NHWC", dilations=[1, 1, 1, 1], name=None)卷积操作函数:input:需要做卷积操作的图片:四维tensor张量,类型float32或float64:[batch,in_height,in_width,in_channels]形状(shape…
这里实现一个用神经网络(卷积神经网络也可以)实现验证码识别的小案例,主要记录本人做这个案例的流程,不会像之前那么详细,主要用作个人记录用... 这里是验证码的四个字母,被one-hot编码后形成的四个一维数组,[1, 26] * 4 ----> 可以转变成[4, 26] ----> [1, 104] 第一个位置:[0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0] 第二个位置:[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0…
在训练深度网络时,为了减少需要训练参数的个数(比如具有simase结构的LSTM模型).或是多机多卡并行化训练大数据大模型(比如数据并行化)等情况时,往往需要共享变量.另外一方面是当一个深度学习模型变得非常复杂的时候,往往存在大量的变量和操作,如何避免这些变量名和操作名的唯一不重复,同时维护一个条理清晰的graph非常重要. ==因此,tensorflow中用tf.Variable(),tf.get_variable(),tf.Variable_scope(),tf.name_scope()几个…
#!/usr/bin/env python # -*- coding: utf-8 -*- import tensorflow as tf import numpy as np params=np.random.normal(loc=0.0,scale=1.0,size=[10,10]) encoder_inputs=tf.placeholder(dtype=tf.int32,shape=[10,10]) decoder_inputs=tf.placeholder(dtype=tf.int32,…
import tensorflow as tf import tensorflow.contrib.slim as slim import rawpy import numpy as np import tensorflow as tf import struct import glob import os from PIL import Image import time __sony__ = 0 __huawei__ = 1 __blackberry__ = 2 __stage_raw2ra…
1. tf.layers.conv2d(input, filter, kernel_size, stride, padding) # 进行卷积操作 参数说明:input输入数据, filter特征图的个数,kernel_size卷积核的大小,stride步长,padding是否补零 2. tf.layers.conv2d_transpose(input, filter, kernel_size, stride, padding) # 进行反卷积操作 参数说明:input输入数据, filter特…
tensorflow提供了通过变量名称来创建或者获取一个变量的机制.通过这个机制,在不同的函数中可以直接通过变量的名字来使用变量,而不需要将变量通过参数的形式到处传递. 1. tf.Variable(创建变量)与tf.get_variable(创建变量 或 复用变量) TensorFlow中通过变量名获取变量的机制主要是通过tf.get_variable和tf.variable_scope实现的. 变量可以通过tf.Varivale来创建.当tf.get_variable用于变量创建时,和tf.…
这一节,介绍TensorFlow中的一个封装好的高级库,里面有前面讲过的很多函数的高级封装,使用这个高级库来开发程序将会提高效率. 我们改写第十三节的程序,卷积函数我们使用tf.contrib.layers.conv2d(),池化函数使用tf.contrib.layers.max_pool2d()和tf.contrib.layers.avg_pool2d(),全连接函数使用tf.contrib.layers.fully_connected(). 一 tf.contrib.layers中的具体函数…
  激活函数 关于激活函数的介绍请参考:激活函数 这里只是记录TF提供的激活函数 import tensorflow as tf a = tf.nn.relu( tf.matmul(x, w1) + biases1 ) y = tf.nn.relu( tf.matmul(a, w2) + biases2 ) tf.cast cast( x, dtype, name=None ) #将x的数据格式转化成dtype.例如,原来x的数据格式是bool, #那么将其转化成float以后,就能够将其转化成…
# tensorflow中的两种定义scope(命名变量)的方式tf.get_variable和tf.Variable.Tensorflow当中有两种途径生成变量 variable import tensorflow as tf #T1法 tf.name_scope() with tf.name_scope("a_name_scope"): initializer = tf.constant_initializer(value=1) #定义常量 var1 = tf.get_variab…