![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
pytorch
AEP_WYK
这个作者很懒,什么都没留下…
展开
-
[转载自用]Batch Normalization详解以及pytorch实验
https://blog.csdn.net/qq_37541097/article/details/104434557转载 2021-12-16 15:56:38 · 206 阅读 · 0 评论 -
pytorch查看模型某一层的参数以及参数初始化
查看模型特定层的参数对于nn.Sequencial模块除了可以通过下面这种方法访问模型中特定层的参数外, 还可以以索引的形式访问某一层特定层import torchimport torch.nn as nnnet = nn.Sequential(nn.Linear(1024, 512), nn.ReLU(), nn.Linear(512, 256), nn.ReLU(), nn.Linear(256, 2))for name, param in net.named_parameters()原创 2021-12-16 14:45:27 · 5025 阅读 · 1 评论 -
Pytorch中的Tensor常用的类型转换函数
Pytorch中的Tensor常用的类型转换函数(inplace操作):(1)数据类型转换在Tensor后加 .long(), .int(), .float(), .double()等即可,也可以用.to()函数进行转换,所有的Tensor类型可参考https://pytorch.org/docs/stable/tensors.html(2)数据存储位置转换CPU张量 ----> GPU张量,使用data.cuda()GPU张量 ----> CPU张量,使用data.cpu()(3转载 2021-03-07 11:22:55 · 1188 阅读 · 0 评论 -
pytorch动手实现——K近邻算法
简介k近邻(knn)算法算是比较简单的机器学习算法,它属于惰性算法,无需训练,但是每次预测都需要遍历数据集,所以时间复杂度很高。KNN模型的三个基本要素:K值得选择,K值越小,近似误差越小,估计误差越大,相当于过拟合。举个例子,如果k=1,那么类别就会跟他最近的点一个类别。 距离度量:距离反映了特征空间中两个实例的相似程度。可以采用欧氏距离、曼哈顿距离。 分类决策规则:往往采用多数表决。pytorch实现——Mnist数据集验证笔者采用了两种方法来实现欧式距离计算,一直是迭代每个测试样例转载 2021-01-25 14:30:03 · 1100 阅读 · 0 评论 -
矩阵之间欧式距离的快捷计算方法(无循环)
一、理论分析 首先从理论上介绍 一下,矩阵之间欧氏距离的快速计算,参考了@frankzd的博客,原文链接在https://blog.csdn.net/frankzd/article/details/80251042二、代码分析 接下来上代码,我会在每一行进行必要的注释(来源:https://github.com/michuanhaohao/reid-strong-baseline/blob/master/layers/triplet_lo...转载 2021-01-15 11:13:45 · 1958 阅读 · 0 评论 -
pytorch中数据预处理基本操作
import torchfrom torchvision.utils import save_imagefrom torchvision.datasets import ImageFolderfrom torchvision import transformsfrom torch.utils.data import DataLoaderimport numpyimport osimg_path = './hh/'out_path = './0_real_train/'os.makedir.原创 2020-11-09 18:50:20 · 420 阅读 · 0 评论 -
pytorch中模型参数初始化方法
法一:1、自定义初始化函数def weights_init(m): classname = m.__class__.__name__ if classname.find('Conv') != -1: nn.init.normal_(m.weight.data, 0.0, 0.02) elif classname.find('BatchNorm') != -1: nn.init.normal_(m.weight.data, 1.0, 0.02)原创 2020-07-15 09:49:04 · 4212 阅读 · 7 评论 -
一图搞懂正则化(Normalization)
经常看到transform.ToTensor(),transform.Normalize((0.5,0.5,0.5),(0.5,0.5,0.5))那transform.Normalize()是怎么工作的呢?以上面代码为例,ToTensor()能够把灰度范围从0-255变换到0-1之间,而后面的transform.Normalize()则把0-1变换到(-1,1).具体地说,对每个通道而言,Normalize执行以下操作:image=(image-mean)/std其中mean和std.原创 2020-06-26 17:18:51 · 1920 阅读 · 0 评论 -
pytorch中的广播机制(broadcasting)到底是什么
广播机制牢记一点就可以了:从末尾开始连续找第一个不想同的维度容量开始扩充,直到扩充成维度相同。例:图中的第二行:[4, 3]+[1, 3] 末尾3相等, 前移一位, 4 !=1 则把1扩充为 4 结束。图中的第三行:[4, 1]+[1, 3] 末尾 1!=3 将1扩充为3, 迁移一位, 4!=1 把1扩充为4 结束。...原创 2020-03-27 22:14:39 · 1398 阅读 · 3 评论 -
pytorch中张量的维度变换
1、view与reshape用于实现两个tensor之间的维度变换example:将4*1*28*28的tensor变换为4*(28*28)的tensora = torch.rand(4, 1, 28, 28)print(a.shape)b = a.view(4, 28*28)print(b.shape)2、unsequeeze:维度扩充, sequeeze:维度删减...原创 2020-03-27 22:07:14 · 1083 阅读 · 0 评论 -
创建pytorch张量
numpy->torch注:tensor()参数为具体的数据, Tensor() 和 FloatTensor()参数可以为数据也可以为维度信息,但是一般不用他来放数据a = np.array([2., 3])b = torch.from_numpy(a)print(b)###################################a = np.ones([2...原创 2020-03-27 09:27:39 · 2519 阅读 · 0 评论