tensorflow
文章平均质量分 90
u012436149
这个作者很懒,什么都没留下…
展开
-
tensorflow 0.10 word2vec 源码解析
关于word2vec 的解释见word2vec的数学原理。 本代码主要是实现了skip-gram模型,通过神经网络,对概率进行建模(概率模型中的最大似然,其实就是神经网络中的最小损失)# Copyright 2015 The TensorFlow Authors. All Rights Reserved.## Licensed under the Apache License, Ve原创 2016-10-18 15:20:37 · 8459 阅读 · 5 评论 -
tensorflow学习笔记(三十六):learning rate decay
learning rate decay在训练神经网络的时候,通常在训练刚开始的时候使用较大的learning rate, 随着训练的进行,我们会慢慢的减小learning rate。对于这种常用的训练策略,tensorflow 也提供了相应的API让我们可以更简单的将这个方法应用到我们训练网络的过程中。接口 tf.train.exponential_decay(learning_rate, glo原创 2017-03-14 21:39:26 · 34069 阅读 · 0 评论 -
tensorflow学习笔记(三十三):ExponentialMovingAverage
ExponentialMovingAverageSome training algorithms, such as GradientDescent and Momentum often benefit from maintaining a moving average of variables during optimization. Using the moving averages for ev原创 2017-02-22 14:09:24 · 23674 阅读 · 0 评论 -
tensorflow学习笔记(三十):tf.gradients 与 tf.stop_gradient() 与 高阶导数
gradienttensorflow中有一个计算梯度的函数tf.gradients(ys, xs),要注意的是,xs中的x必须要与ys相关,不相关的话,会报错。 代码中定义了两个变量w1, w2, 但res只与w1相关#wrongimport tensorflow as tfw1 = tf.Variable([[1,2]])w2 = tf.Variable([[3,4]])res = tf.m原创 2016-12-28 09:46:11 · 55464 阅读 · 8 评论 -
tensorflow学习笔记(三十九) : 双向rnn (BiRNN)
双向RNN实际上仅仅是两个独立的RNN放在一起, 本博文将介绍如何在tensorflow中实现双向rnn单层双向rnn 单层双向rnn (cs224d) tensorflow中已经提供了双向rnn的接口,它就是tf.nn.bidirectional_dynamic_rnn(). 我们先来看一下这个接口怎么用.bidirectional_dynamic_rnn( ce...原创 2017-05-02 13:53:01 · 40864 阅读 · 11 评论 -
tensorflow学习笔记(二):tensor 变换
矩阵操作#对于2-D#所有的reduce_...,如果不加axis的话,都是对整个矩阵进行运算tf.reduce_sum(a, 1) #对axis1tf.reduce_mean(a,0) #每列均值第二个参数是axis,如果为0的话,res[i]=∑ja[j,i]res[i]=∑ja[j,i]res[i] = \sum_{j} a[j,i]即(res[i]=∑a[:,i]res[......原创 2016-10-20 13:35:36 · 47115 阅读 · 7 评论 -
tensorflow自定义op:梯度
tensorflow自定义op,梯度 tensorflow 是 自动微分的,但是如果你不给它定义微分方程的话,它啥也干不了在使用 tensorflow 的时候,有时不可避免的会需要自定义 op,官方文档对于 定义 op 的前向过程介绍挺详细,但是对于 梯度 的介绍有点随意。 本文主要介绍在 python 端,和在 c++ 端对 op 的梯度进行定义。1.使用python定义op的梯度第一个例子原创 2017-07-09 21:39:47 · 11132 阅读 · 3 评论 -
tensorflow:自定义op简单介绍
tensorflow 自定义 op本文只是简单的翻译了 https://www.tensorflow.org/extend/adding_an_op 的简单部分,高级部分请移步官网。可能需要新定义 c++ operation 的几种情况:现有的 operation 组合不出来你想要的 op现有的 operation 组合 出来的 operation 十分低效如果你想要手动融合一些操作。为了实翻译 2017-06-26 13:32:55 · 31468 阅读 · 12 评论 -
tensorflow自定义op:work_shard
强行解释 work_shard 在学习 tensorflow 自定义 op 的时候碰到的,google 了一下,也没有找到详细的介绍,难道是姿势不对?? 通过看 了一些示例,这里打算强行解释一波。概览如果想用 work shard,首先 代码能够并行化计算。work shard 是一个代码并行化工具。不用自己头疼的写多线程代码了。什么样的代码能够并行化计算 —> 每一个输出数据都能原创 2017-07-09 15:44:33 · 3363 阅读 · 0 评论 -
tensorflow:AToolDeveloperGuideToTFModelFIles
Tensorflow Model Files最近闲来无聊,想深入理解一下tensorlfow,也不知从何下手,突然间发现了官方文档的Extend模块下还有这个一片文章 A Tool Developer's Guide to TensorFlow Model Files, 所以就打算边翻译,边学习了。水平有限,如发现错误,请不吝指出!翻译开始大多数用户不需要关心tensorflow在硬盘上存储数据的细翻译 2017-06-09 18:12:32 · 2236 阅读 · 0 评论 -
tenforflow学习笔记(七):cnn
tenforflow:CNN常用函数卷积函数1.tf.nn.conv2d(input, filter, strides, padding, use_cudnn_on_gpu=None, data_format=None, name=None) 2.tf.nn.depthwise_conv2d(input, filter, strides, padding, name=None) 3.tf.nn.原创 2016-10-22 10:57:59 · 6529 阅读 · 2 评论 -
tensorflow学习笔记(二十一):tensorflow可视化
tensorflow的可视化是使用summary和tensorboard合作完成的.基本用法首先明确一点,summary也是op.输出网络结构with tf.Session() as sess: writer = tf.summary.FileWriter(your_dir, sess.graph)命令行运行tensorboard --logdir your_dir,然...原创 2016-11-16 11:30:56 · 38730 阅读 · 1 评论 -
tensorflow:上下文管理器 与 name_scope, variable_scope
with block 与上下文管理器上下文管理器:意思就是,在这个管理器下做的事情,会被这个管理器管着。熟悉一点python的人都知道,with block与上下文管理器有着不可分割的关系。为什么呢?因为with Object() as obj:的时候,会自动调用obj对象的__enter__()方法,而当出去with block的时候,又会调用obj对象的__exit__方法。正是利用...原创 2017-06-21 19:35:38 · 9111 阅读 · 5 评论 -
tensorflow学习笔记(十三):conv3d
conv3dtf.nn.conv3d(input, filter, strides, padding, name=None)Computes a 3-D convolution given 5-D input and filter tensors.In signal processing, cross-correlation is a measure of similarity o...原创 2016-10-31 14:56:20 · 25784 阅读 · 9 评论 -
tensorflow学习笔记(三十四):Saver(保存与加载模型)
Savertensorflow 中的 Saver 对象是用于 参数保存和恢复的。如何使用呢? 这里介绍了一些基本的用法。 官网中给出了这么一个例子:v1 = tf.Variable(..., name='v1')v2 = tf.Variable(..., name='v2')# Pass the variables as a dict:saver = tf.train.Saver({'v1'原创 2017-02-23 09:41:40 · 17812 阅读 · 4 评论 -
tensorflow: arg_scope
arg_scopetf.contrib.framework.arg_scope(list_ops_or_scope, **kwargs)#或者tf.contrib.slim.arg_scope(list_ops_or_scope, **kwargs)# 为给定的 list_ops_or_scope 存储默认的参数示例:with slim.arg_scope([slim.conv2d,slim.f原创 2017-06-03 16:33:23 · 9604 阅读 · 0 评论 -
tensorflow:使用tfrecords时的注意事项
使用 tfrecords 时的注意事项确保 string_input_producer 中的文件名字是正确的。 string_input_producer(file_names, num_epochs=100000, shuffle=True) 当指定 num_epochs 时,在初始化模型参数的时候,一定要 记得 tf.local_variables_initializer().run() ,原创 2017-08-05 12:09:01 · 4913 阅读 · 1 评论 -
tensorflow学习笔记(四十二):输入流水线
tensorflow 如何读取数据tensorflow有三种把数据放入计算图中的方式: * 通过feed_dict * 通过文件名读取数据:一个输入流水线 在计算图的开始部分从文件中读取数据 * 把数据预加载到一个常量或者变量中第一个和第三个都很简单,本文主要介绍的是第二种. 考虑一个场景:我们有大量的数据,无法一次导入内存,那我们一次就只能导入几个nimi-batch,然后进行训练,然后再原创 2017-05-16 21:16:09 · 9608 阅读 · 0 评论 -
tensorflow学习笔记(八):dropout
tensorflow:dropout我们都知道dropout对于防止过拟合效果不错 drop一般用在全连接的部分,卷积部分不会用到dropout,输出曾也不会使用dropout,适用范围[输入,输出) 1.tf.nn.dropout(x, keep_prob, noise_shape=None, seed=None, name=None) 2.tf.nn.rnn_cell.DropoutWra原创 2016-10-22 11:28:47 · 23017 阅读 · 4 评论 -
tensorflow学习笔记(四十):tensorflow语音识别 及 python音频处理库
tensorflow 语音识别最近在做语音识别的项目,现在项目告一段落,就把最近碰到的东西做一个总结。一些资料 https://medium.com/@ageitgey/machine-learning-is-fun-part-6-how-to-do-speech-recognition-with-deep-learning-28293c162f7a https://distill.p...原创 2017-05-04 20:22:43 · 34574 阅读 · 2 评论 -
tensorflow学习笔记(四十三):使用 tfdbg 来 debug
由于 tensorflow 在训练的时候是在后台运行的,所以使用 python 的 debug 工具来 debug tensorflow 的执行过程是不可行的,为此,官方提供了一款debug 工具,名为 tfdbg有很多人觉得,为了 debug tensorflow 的计算过程又要学习一个新的工具,很烦。但其实不然,tfdbg 用起来是十分简单的。以至于简单到我们只需要增加两行代码,就可以原创 2017-08-22 14:14:13 · 9347 阅读 · 5 评论 -
tensorflow学习笔记(十五): variable scope
variable scopetensorflow 为了更好的管理变量,提供了variable scope机制 官方解释: Variable scope object to carry defaults to provide to get_variable.Many of the arguments we need for get_variable in a variable store are原创 2016-11-03 10:25:10 · 31292 阅读 · 4 评论 -
tensorflow学习笔记(三十二):conv2d_transpose ("解卷积")
conv_transposedeconv解卷积,实际是叫做conv_transpose, conv_transpose实际是卷积的一个逆向过程,tf 中, 编写conv_transpose代码的时候,心中想着一个正向的卷积过程会很有帮助。想象一下我们有一个正向卷积: input_shape = [1,5,5,3] kernel_shape=[2,2,3,1] strides=[1,2,2,1]原创 2017-02-18 22:43:22 · 41912 阅读 · 8 评论 -
ubuntu16.04 显卡驱动与cuda安装
几乎所有的深度学习框架都可以感受到GPU加速的乐趣准备工作配置 apt-get 的源系统设置-> 软件与更新 ->ubuntu 软件 -> Download from -> 把这里改成阿里的源或其它高校的源即可安装依赖sudo apt-get install python-pipsudo apt-get install python-numpy swig python-dev python-原创 2017-07-03 09:16:48 · 3584 阅读 · 4 评论 -
tensorflow学习笔记(一):命令行参数
全局环境下编写代码import tensorflow as tfflags = tf.flagslogging = tf.loggingflags.DEFINE_string("para_name","default_val", "description")flags.DEFINE_bool("para_name","default_val", "description")FLAG = fl原创 2016-10-20 10:54:05 · 23793 阅读 · 3 评论 -
tensorflow学习笔记(四十一):control dependencies
tensorflowtf.control_dependencies()设计是用来控制计算流图的,给图中的某些计算指定顺序。比如:我们想要获取参数更新后的值,那么我们可以这么组织我们的代码。opt = tf.train.Optimizer().minize(loss)with tf.control_dependencies([opt]): updated_weight = tf.identity原创 2017-05-14 23:48:46 · 25162 阅读 · 2 评论 -
tensorflow学习笔记(二十五):ConfigProto&GPU
tensorflow ConfigPrototf.ConfigProto一般用在创建session的时候。用来对session进行参数配置with tf.Session(config = tf.ConfigProto(...),...)#tf.ConfigProto()的参数log_device_placement=True : 是否打印设备分配日志allow_soft_placement=Tr原创 2016-12-23 11:53:37 · 71928 阅读 · 9 评论 -
tensorflow学习笔记(四十四):用Queue保存更复杂的关系
当查看 tensorflow 中提供的 Queue 的类的时候,会发现有个 dtypes 参数,这个参数代表 Queue 中元素是什么类型的,如果 dtypes=[tf.string, tf.int64] ,这个表示,Queue 中每个元素是 (string, int) 。import tensorflow as tfqueue = tf.FIFOQueue(capacity=100, dtypes原创 2017-10-17 12:22:36 · 856 阅读 · 0 评论 -
tensorflow学习笔记(四十五):sess.run(tf.global_variables_initializer()) 做了什么?
当我们训练自己的神经网络的时候,无一例外的就是都会加上一句 sess.run(tf.global_variables_initializer()) ,这行代码的官方解释是 初始化模型的参数。那么,它到底做了些什么?一步步看源代码:global_variables_initializer 返回一个用来初始化 计算图中 所有global variable的 op。 这个op 到底是啥,还不清楚。函原创 2017-10-20 09:05:13 · 77049 阅读 · 20 评论 -
virtualenv安装tensorflow
使用virtualenv装tensorflow如果你有两个项目,一个需要python2.7开发,一个需要python3.5开发,那么virtualenv是一个很好的选择。准备如果你想创建一个python2.7和python3.5的虚拟环境的话。首先你的电脑上得装有python2.7和python3.5,而且需要装好pip和pip3。安装sudo pip install virtualenv #使用p原创 2016-11-23 21:32:49 · 8605 阅读 · 0 评论 -
tensorflow学习笔记(十一):seq2seq Model相关接口介绍
源码地址调用外部的函数介绍tf.sampled_softmax_loss()tf.sampled_softmax_loss()中调用了_compute_sampled_logits() 关于__compute_sampled_logits()#此函数和nce_loss是差不多的, 取样求lossdef sampled_softmax_loss(weights, #[num...原创 2016-10-31 00:04:11 · 25174 阅读 · 11 评论 -
Ubuntu 16.04 Cuda8.0 tensorflow-gpu
最近在配深度学习的框架,配了一个星期,终于配好了,中间走了n条弯路。 几条忠告:强烈建议安装Cuda7.5 我就是用的Cuda8.0到后来导致安装GPU版本的tensorflow的时候,老是出问题tensorflow 0.10.0版本好像还是有点问题,如果目前只是作为学习一下用的话,还是安装0.9.0版本吧下面开始介绍安装:1-> : 准备工作:安装 sshserver原创 2016-09-16 11:34:21 · 8703 阅读 · 1 评论 -
tensorflow学习笔记(三十五):control flow
control flowtf.cond(pred, fn1, fn2, name=None)等价于:res = fn1() if pred else fn2()注意:pred不能使 python bool, pred是个标量Tensor 官网例子z = tf.mul(a, b)result = tf.cond(x < y, lambda: tf.add(x, z), lambda: tf.squ原创 2017-03-07 21:55:38 · 13924 阅读 · 2 评论 -
tensorflow学习笔记(六):LSTM 与 GRU
[10.26.2016 更新] [新增内容:今天写代码的时候,如果使用state_is_tuple=True, 那么initial_state = lstm_cell.zero_state(batch_size, dtype=tf.float32)...with tf.Session() as sess: tf.initialize_all_variables().run(...原创 2016-10-21 21:20:25 · 51823 阅读 · 20 评论 -
tensorflow学习笔记(十四):tensorlfow操作gradient
tensorflow中使用clip在训练深度神经网络的时候,我们经常会碰到梯度消失和梯度爆炸问题,scientists提出了很多方法来解决这些问题,本篇就介绍一下如何在tensorflow中使用clip来address这些问题train_op = tf.train.GradientDescentOptimizer(learning_rate=0.1).minimize(loss)在调用minimiz原创 2016-11-02 12:58:57 · 15081 阅读 · 0 评论 -
使用 tensorflow 时的常见错误及解决方法
记录下使用tensorflow时采的坑.Profiling: libcupti.so cannot be loaded这是使用run_options = tf.RunOptions(trace_level = tf.RunOptions.FULL_TRACE)碰到的错误. 解决方法:Appending /usr/local/cuda/extras/CUPTI/lib64 to LD_LIBRAR原创 2017-04-26 14:12:45 · 4661 阅读 · 2 评论 -
tensorflow学习笔记(二十四):Bucketing
tensorflow bucketstensorflow的编码原则是,先构建计算图,然后再去执行计算图(sess.run()).这就会导致一个问题,我们无法在运行的过程中动态的更改图的结构.我们能做的就是,先构建出完整的图,然后可以去执行其子图. tensorflow中的bucket就是基于这么一种思想.seq2seq简单介绍在seq2seq场景中,输入和输出的sequence的长度往往是变长的.假原创 2016-12-22 10:56:05 · 9414 阅读 · 0 评论 -
tensorflow学习笔记(二十二):Supervisor
如何使用Supervisor在不使用Supervisor的时候,我们的代码经常是这么组织的variables...ops...summary_op...merge_all_summariesaverinit_opwith tf.Session() as sess: writer = tf.tf.train.SummaryWriter() sess.run(init) sa原创 2016-11-25 22:21:09 · 25072 阅读 · 0 评论 -
tensorflow:卷积中的 SAME VALID padding
http://stackoverflow.com/questions/37674306/what-is-the-difference-between-same-and-valid-padding-in-tf-nn-max-pool-of-t原创 2016-12-07 13:30:35 · 2095 阅读 · 0 评论 -
tensorflow学习笔记(二十):分布式注意事项
版本 tensorflow0.11.0适用于 between-graph&synchronous(1) 一定要指定 chief task(2) chief task 要增加两个op:init_token_op = opt.get_init_tokens_op()chief_queue_runner = opt.get_chief_queue_runner()(3) c...原创 2016-11-15 17:28:13 · 5147 阅读 · 4 评论