tensorflow
文鸿wow
努力学习编程的小白
展开
-
tensorflow修改反传梯度
import tensorflow as tf@tf.RegisterGradient("CustomClipGrad")def _clip_grad(unused_op, grad): print(unused_op.inputs) print(unused_op.inputs[1])#对应存在两个输入 return grad*10,None #这个地方的原因是有两个输入 必须对应两个梯度才行,所以必须加一个None 对应因为常数不需要梯度 #return .原创 2020-09-19 14:54:44 · 430 阅读 · 0 评论 -
对于operation操作的理解
#如果存在函数复用的情况 比如add用了好几次 那么后面的operation名字是什么样子的呢import tensorflow as tfdef calu(a,b): out = tf.add(a,b,name='add') return out a = tf.get_variable('w1',[1],tf.float32,tf.ones_initializer())b = tf.get_variable('w2',[1],tf.float32,tf.ones_initi.原创 2020-09-10 23:40:28 · 2018 阅读 · 0 评论 -
tensorflow关于get_operation_by_name和get_tensor_by_name的理解
import tensorflow as tfa = tf.get_variable('w1',[1],tf.float32,tf.ones_initializer())b = tf.get_variable('w2',[1],tf.float32,tf.ones_initializer())c = tf.add(a,b,name='add')g = tf.get_default_graph()m = g.get_operation_by_name('add').outputs[0]#根据对.原创 2020-09-10 23:18:01 · 2777 阅读 · 0 评论 -
关于tensorflow对张量更新的思考
tensorflow的代码假设如下图w,loss不会被更新 直到train_step操作被执行一边 此时如果再sess.run这个值就会被更新,可以试一下如下代码就可以理解原创 2018-11-13 18:31:18 · 324 阅读 · 0 评论 -
基于tensorflow如何对变化中的学习率实现与之相关的梯度裁剪-VDSR
# NOTE: learning rate decay global_step = tf.Variable(0, trainable=False) #learning_rate = tf.train.exponential_decay(config.learning_rate, global_step * config.batch_size, len(input_...原创 2018-11-14 09:51:27 · 467 阅读 · 0 评论 -
论文中的sub-piexl子层实现
参照链接:https://github.com/tetrachrome/subpixel readme中有介绍代码如下:def _phase_shift(I, r): bsize, a, b, c = I.get_shape().as_list() bsize = tf.shape(I)[0] # Handling Dimension(None) type for undefined...转载 2018-11-19 15:52:25 · 441 阅读 · 0 评论 -
如何建立多层的LSTM(以及双向lstm构建) 基于最新的tensorflow(相对来说,区别于一些老版本)
首先MultiRNNCell函数第一个参数是RNN实例形成的列表,第二个参数就是让状态成为一个元组。 #tf.nn.rnn_cell.MultiRNNCell([list RNNcell], state_is_tuple=True).这个函数里面主要这两个参数,# 第一个参数就是输入的RNN实例形成的列表,第二个参数就是让状态是一个元祖,官方推荐就是用True。方法一:stack...原创 2018-10-07 16:35:40 · 10136 阅读 · 0 评论 -
个人对tf.nn.dynamic_rnn以及tf.nn.static_rnn之间区别的一些了解n
首先 ,我们来说明一下tf.nn.dynamic_rnn。(最好还是先用动态的吧,感觉好理解一些)他的shape是【batch_size,time_step(序列长度),input-dim】,并且对应他的time_step是可以不同的,这区别于以下的static_rnn.然而,他对应最后的输出shape是【batch_size,n_steps,n_hidden】,因此若要输出对应最后的o...原创 2018-09-25 16:35:24 · 2552 阅读 · 0 评论