![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
torch
rrr2
这个作者很懒,什么都没留下…
展开
-
Pytorch BCELoss和BCEWithLogitsLoss pos_weight
BCELossBCEWithLogitsLoss就是把Sigmoid-BCELoss合成一步。https://blog.csdn.net/qq_22210253/article/details/85222093转载 2021-12-06 10:44:58 · 1632 阅读 · 0 评论 -
Pytorch CrossEntropyLoss和NLLLoss
NLLlossclass torch.nn.NLLLoss(weight=None, size_average=True)作用:训练一个n类的分类器参数weight:可选的,应该是一个tensor,里面的值对应类别的权重,如果样本不均衡的话,这个参数非常有用,长度是类别数目szie_average:默认是True,会将mini-batch的loss求平均值;否则就是把loss累加起来lossloss = nn.NLLLoss()loss(x,target)=-x[class]x和tar原创 2021-12-03 22:59:24 · 449 阅读 · 0 评论 -
torch.gather
gather的作用:根据维度(dim)和索引(index)获取输入(input)的某些特殊值。根据官方文档中的例子(Example),t是2×2张量:索引是2×2张张量:按dim=1,也就是列维度取索引值(2×2索引就是0或1代表第一列和第二列),所以根据索引与t的对应关系得到gather后的结果:解释:根据对应的位置和索引值确定t的第1列元素并对应索引位置,对应的第1行,是4,第0列元素是3,按照索引的对应位置得到gather后的结果。...原创 2021-12-03 21:27:42 · 542 阅读 · 0 评论 -
torch.where()函数解读
torch.where()函数的作用是按照一定的规则合并两个tensor类型。>>> import torch>>> a=torch.randn(3,5)>>> b=torch.ones(3,5)>>> atensor([[-0.0310, 1.5895, 1.6003, -1.7584, 1.1478], [ 0.6773, 0.7763, 0.5024, 0.4952, 0.4198],原创 2021-12-03 11:18:56 · 792 阅读 · 0 评论 -
np.nonzero(ndarray) 返回数组中不为0的元素的索引
# 1维数组a = [0,2,3]b = np.nonzero(a)print(b)# (array([1, 2], dtype=int64),)# 说明:索引1和索引2的位置上元素的值非零。# 2维数组a = np.array([[0,0,3],[0,0,0],[0,0,9]])b = np.nonzero(a)print(b)# (array([0, 2], dtype=int64), array([2, 2], dtype=int64))# 说明:# tuple的每一个元素,原创 2021-11-22 19:51:21 · 663 阅读 · 0 评论 -
【pytorch】|hook函数
概念Hook函数机制:不改变主体,实现额外功能,像一个挂件一样将功能挂到函数主体上。Hook函数与PyTorch中的动态图运算机制有关,因为在动态图计算,在运算结束后,中间变量是会被释放掉的,例如:非叶子节点的梯度。但是,我们往往想要提取这些中间变量,这时,我们就可以采用Hook函数在前向传播与反向传播主体上挂上一些额外的功能(函数),通过这些函数获取中间的梯度,甚至是改变中间的梯度。PyTorch一共提供了四种Hook函数:torch.Tensor.register_hook(hook)tor原创 2021-11-17 11:29:42 · 200 阅读 · 0 评论 -
【pytorch】|tensor grad
tensor 数据类型系统默认是torch.FloatTensor类型。类型转换数据类型的转换在Tensor后加long(), int(), double(),float(),byte()等函数就能将Tensor进行类型转换Torch.LongTensor—>Torch.FloatTensor, 直接使用data.float()CPU-GPU在cpu上tensor的数据类型:torch.FloatTensor在GPU上tensor的数据类型:torch.cuda.FloatTenso原创 2021-11-15 09:42:13 · 2494 阅读 · 0 评论 -
torch.mul torch.mm
1、torch.mul(a, b)是矩阵a和b对应位相乘,点乘,a和b的维度必须相等,比如a的维度是(1, 2),b的维度是(1, 2),返回的仍是(1, 2)的矩阵;2、torch.mm(a, b)是矩阵a和b矩阵相乘,比如a的维度是(1, 2),b的维度是(2, 3),返回的就是(1, 3)的矩阵。...原创 2021-11-15 09:30:57 · 385 阅读 · 0 评论 -
windows下vs2015+cmake+libtorch +opencv(CPU下测试)
生成项目首先保证安装成功:步骤参考https://blog.csdn.net/qq_35608277/article/details/89817027Cmakelist加上Opencv:cmake_minimum_required(VERSION 3.0 FATAL_ERROR)project(with_opencv)find_package(Torch REQUIRED)fin...原创 2019-05-09 10:50:04 · 2413 阅读 · 1 评论 -
pytorch .contiguous().view()
contiguous:view只能用在contiguous的variable上。如果在view之前用了transpose, permute等,需要用contiguous()来返回一个contiguous copy。有些tensor并不是占用一整块内存,而是由不同的数据块组成,而tensor的view()操作依赖于内存是整块的,这时只需要执行contiguous()这个函数,把tensor变成在...原创 2019-04-29 08:13:27 · 8366 阅读 · 0 评论 -
nn.Sequential()和nn.ModuleList()
1 模型建立方式(1)nn.Sequential()对象.add_module(层名,层class的实例)net1 = nn.Sequential()net1.add_module('conv', nn.Conv2d(3, 3, 3))net1.add_module('batchnorm', nn.BatchNorm2d(3))net1.add_module('activation...原创 2019-04-27 21:30:02 · 6153 阅读 · 0 评论 -
pytorch MaskRCNN-Benchmark框架训练自己的数据集,类别数量不同
本前提是能够跑通demo网上针对自己数据集并不完整,自己遇到了一些问题,现在解决记录.Ubuntu16conda python3.6cuda9.0原创 2019-03-28 11:37:34 · 7798 阅读 · 11 评论 -
PyTorch实现YOLO v3
refhttps://blog.csdn.net/haoqimao_hard/article/details/82185135转载 2019-03-27 21:51:19 · 301 阅读 · 0 评论 -
Pytorch安装慢解决方法
从这里面找到:https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/linux-64/转载refhttps://blog.csdn.net/Suan2014/article/details/80410144转载 2019-03-21 23:18:56 · 2793 阅读 · 0 评论 -
Torch中Tensor与Numpy或各种图像格式的相互转化
ref转换:https://blog.csdn.net/qq_36022260/article/details/88907374Python用Pillow(PIL)进行简单的图像操作https://www.cnblogs.com/sun-haiyu/p/7127582.html原创 2019-05-09 09:26:44 · 1188 阅读 · 0 评论 -
graphviz
conda install graphvizconda install python-graphviz添加环境变量def print_autograd_graph(): from graphviz import Digraph import torch import net from torch.autograd import Variable im...原创 2019-01-10 11:28:12 · 659 阅读 · 0 评论 -
Pytorch Windows C++调用(libtorch) Cmake编译 分别在python和C++中验证一致
refhttps://oldpan.me/archives/pytorch-windows-libtorchhttps://oldpan.me/archives/pytorch-c-libtorch-inference官网:https://pytorch.org/cppdocs/installing.html下载libtorchhttps://pytorch.org/get-starte...原创 2019-05-04 19:52:12 · 8906 阅读 · 4 评论 -
PyTorch使用cpu调用gpu训练的模型
model = torch.load(‘xxx.pkl’, map_location=‘cpu’)原创 2019-05-04 20:08:51 · 2472 阅读 · 0 评论 -
学习率预热
http://baijiahao.baidu.com/s?id=1598172564837623730&wfr=spider&for=pc转载 2019-04-24 22:13:10 · 1748 阅读 · 0 评论 -
torch.max() F.softmax() torch.cat()参数dim
torch.max()F.softmax()参数dimdim=0 遍历第一维每个元素,max如果是[3,4]对应的就是遍历完三行找到最大值,每列同上.结果[1,4],并返回最大的出现行.a: tensor([ 0.9558, 1.1242, 1.9503])max(a): tensor(1.9503)b: tensor([[ 0.2765, 0.0726, -0.7753,...原创 2019-04-29 17:35:09 · 5601 阅读 · 0 评论 -
[Pytorch]深度模型的显存计算以及优化
refhttps://www.cnblogs.com/kk17/p/10262688.html转载 2019-05-14 23:36:14 · 865 阅读 · 0 评论 -
Pytorch BCELoss和BCEWithLogitsLoss
https://blog.csdn.net/qq_22210253/article/details/85222093转载 2019-06-02 11:30:31 · 1372 阅读 · 0 评论 -
PyTorch学习笔记 DataLoader
dataset = MyDataset()dataloader = DataLoader(dataset)num_epoches = 100for epoch in range(num_epoches): for img, label in dataloader: ....refhttps://blog.csdn.net/g11d111/article/det...转载 2019-08-07 10:32:46 · 276 阅读 · 0 评论 -
torch.unsqueeze() .view()
.unsqueeze(0)有多余的1维轴,就会去掉refhttps://stackoverflow.com/questions/42866654/what-is-the-difference-between-view-and-unsqueeze-in-torch转载 2018-12-29 17:14:09 · 382 阅读 · 0 评论 -
输出网络结构 flops param参数量浮点操作数
print_model_parm_flops模型计算量##### print_model_parm_flops模型计算量def print_model_parm_flops(): # prods = {} # def save_prods(self, input, output): # print 'flops:{}'.format(self.__class...原创 2019-01-10 08:23:00 · 1365 阅读 · 0 评论 -
pytorch .nelement()
import torch x = torch.randn(size = (1,3,4,6)) print(x.nelement())结果为元素个数1 * 3 * 4 * 6原创 2019-01-09 15:26:30 · 3151 阅读 · 0 评论 -
nn.Sequential()
layer1 = nn.Sequential()layer1.add_module(layer1 , nn.Conv2d(input_nc, nf, 4, 2, 1, bias=False))原创 2018-12-30 23:00:43 · 3971 阅读 · 0 评论 -
DCGAN
pytorch DCGANREFhttps://pytorch.org/tutorials/beginner/dcgan_faces_tutorial.html#data此处data 位于celeba\img中,celeba下载地址http://pan.baidu.com/s/1eSNpdRG此处只需要img_align_celeba.zip一个但是dataroot 要写到上一级,因为...原创 2018-12-30 17:49:30 · 537 阅读 · 0 评论 -
torch 模型加载和保存模型
先有一个模型:my_resnet = MyResNet(*args, **kwargs)两种加载权重方法:1.基于推荐保存的方式保存方式:torch.save(my_resnet.state_dict(), "my_resnet.pth")对应的加载方式:my_resnet.load_state_dict(torch.load("my_resnet.pth"))直接torch...原创 2019-01-04 10:38:20 · 2828 阅读 · 0 评论 -
RuntimeError: module compiled against API version 0xc but this version of numpy is 0xb
RuntimeError: module compiled against API version 0xc but this version of numpy is 0xb升级一下numpy就可以了。pip install numpy --upgrade原创 2019-01-03 22:56:10 · 2025 阅读 · 1 评论 -
torch.optim优化器
基本使用方法import optimptimizer=optim.SGD(params=net.parameters(),lr=0.1)optimizer.zero_grad() //梯度清零output=net(input)output.backward(output)optimizer.step() import torch.optim as optim#定义了网络n...原创 2019-01-03 22:23:06 · 707 阅读 · 0 评论 -
torch0.4 volatile was removed and now has no effect. Use `with torch.no_grad():` instead.
volatile was removed and now has no effect. Use with torch.no_grad(): instead. molded_images = Variable(molded_images, volatile=True)修改为 with torch.no_grad(): molded_images = Variable(...原创 2018-12-29 15:28:46 · 1199 阅读 · 0 评论 -
torch tensor与numpy 数组互相转换
tensor跟numpy 很像。x = torch.zeros(5, 3, dtype=torch.long)print(x)x = x.new_ones(5, 3, dtype=torch.double) # new_* methods take in sizesprint(x)x = torch.randn_like(x, dtype=torch.float) ...原创 2018-12-29 09:31:47 · 5222 阅读 · 0 评论 -
torch模型加载数据
pytorch 的数据加载到模型的操作顺序是这样的:① 创建一个 Dataset 对象② 创建一个 DataLoader 对象③ 循环这个 DataLoader 对象,将img, label加载到模型中进行训练dataset = MyDataset()dataloader = DataLoader(dataset)num_epoches = 100for epoch in range...原创 2018-12-29 09:07:41 · 575 阅读 · 0 评论 -
torch报错
报错:torch.DoubleTensor but found a type torch.FloatTensor for sequence element 36 in sequence argument at position #1 ‘tensors’解决:此处发现是load_data的时候出了问题生成了valDataloader后len(valDataloader)发现是1,因此在i...原创 2018-12-29 08:27:17 · 459 阅读 · 0 评论 -
PyTorch0.4 中 backward()
retain_variables报错,替换成retain_graph L_img.backward(retain_graph=True) # in case of current version of pytorch# L_img.backward(retain_variables=True)原创 2018-12-29 08:23:31 · 234 阅读 · 0 评论 -
nn.conv2d ConvTranspose2d
绿色为输出,灰色为卷积核,蓝色输入conv卷积conv—transpose上采样卷积refhttps://blog.csdn.net/FortiLZ/article/details/81051942https://blog.csdn.net/u014722627/article/details/60574260...原创 2018-12-31 08:30:32 · 2925 阅读 · 0 评论 -
nn.sequetial()
官方文档:一个有序的容器,神经网络模块将按照在传入构造器的顺序依次被添加到计算图中执行,同时以神经网络模块为元素的有序字典也可以作为传入参数。# Example of using Sequential model = nn.Sequential( nn.Conv2d(1,20,5), nn.ReLU(),...原创 2018-12-31 08:47:34 · 596 阅读 · 0 评论 -
pytorch hook
https://www.cnblogs.com/hellcat/p/8512090.html原创 2019-01-09 15:08:06 · 590 阅读 · 0 评论 -
torch grad梯度 requires_grad zero_grad backward过程及使用例子
总体过程对于epoch训练开始之前,经历数据加载、模型定义、权重初始化、优化器定义netG=netG = net.dehaze(inputChannelSize, outputChannelSize, ngf)netG.apply(weights_init)if opt.netG != '': netG.load_state_dict(torch.load(opt.netG),s...原创 2019-01-09 10:16:41 · 5248 阅读 · 1 评论