python
文鸿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 · 429 阅读 · 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 · 2011 阅读 · 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 · 2772 阅读 · 0 评论 -
detach的简易用法
import torch a = torch.tensor([1, 2, 3.], requires_grad=True)b = torch.tensor([2, 3, 4.], requires_grad=True)n = a*2n2 = n.detach()f = n2 + 3*a/b#detach 用法 阻断梯度传播 比如此时n2就没有梯度 但是a有 如果把对应a改成b 则b也有f.sum().backward()print(a.grad)对于经常出现的round函数 本身没有.原创 2020-08-19 17:54:25 · 2837 阅读 · 1 评论 -
transform配合torch的imagefolder用法
import osimport randomimport numpy as npfrom PIL import Imagefrom skimage.io import imreadimport matplotlib.pyplot as pltfrom time import perf_counter as nowimport torchimport torch.utils.da...原创 2019-12-24 22:22:20 · 1137 阅读 · 0 评论 -
torch 数据类型转换
du = torch.ones([2,2])a = np.array([[1,2],[3,4]],dtype=np.float32)b = torch.from_numpy(a)#数据类型是不变的 上面dtype是什么类型 下面torch对应就是什么tensorprint('yes')#tensor 默认是float32的 比如torch.ones zeros都是生成float32数据...原创 2019-12-16 19:34:10 · 27918 阅读 · 0 评论 -
pytorch dataset用来实现tensor转换
import numpy as npfrom PIL import Imageimport torchfrom torchvision import transformsfrom skimage.io import imreada = np.ones([5,5,5])b = a[1:1+1]#拆分print(b.shape)target1 = imread(r"D:\pku\n...原创 2019-12-16 18:59:24 · 3993 阅读 · 0 评论 -
python 对应键值对
import torchimport numpy as npimport matplotlib.pyplot as plt# for t in range(100):# print(t)a = [1, 2, 3]#listb = np.array(a)#numpy arrayprint("\n a:", a, "\n b:", b)x = torch.unsque...原创 2019-12-16 18:54:45 · 832 阅读 · 0 评论 -
cv2.imread用法和skimage用法区别
#如果dir对应的是灰度图m1 = cv2.imread(dir,cv2.IMREAD_GRAYSCALE)m2 = cv2.imread(dir)#如果不设置灰度图读入的话,m2则默认RGB读入,复制三个完全相同的通道得到最终的图片#m1可以得到正常的灰度图#如果dir对应的是彩色图,直接imread即可 生成BGR通道的彩色图像print('yes')#对于skimage...原创 2019-12-16 18:52:49 · 1222 阅读 · 1 评论