
pytorch学习笔记
丢丢diu丢
优快云,做笔记用的……
展开
-
python-pytorch—squeeze()和unsqueeze()函数
1.增加维度——unsqueeze()函数a = torch.randn((3,4))print("a.shape:",a.shape)b1 = a.unsqueeze(0)print("b1.shape:",b1.shape)b2 = a.unsqueeze(-3)print("b2.shape:",b2.shape)print("****************************")c1 = a.unsqueeze(1)print("c1.shape:",c1.shape)原创 2020-12-12 21:10:27 · 1155 阅读 · 0 评论 -
Pytorch-Grad-CAM—特征图可视化
论文:Grad-CAM: Why did you say that? Visual Explanations from Deep Networks via Gradient-based Localization链接:论文链接0.CAM和Grad-CAM基于1个假设:类别c获得的softmax分数yc,是最后1层卷积特征图A(可以包含多个通道)的全局均值池化后的线性组合。1.原理Grad-CAM是使用任何目标概念的梯度,流入最后一卷积层,生成1个粗略的定位图来显示和【预测区域】关联性更高的原创 2020-12-03 17:41:23 · 2660 阅读 · 0 评论 -
python-pytorch8—clip gradients—拼接函数torch.stack()—transforms.Compose()函数—interpolate()函数—修改指定RGB像素值
1.clip gradients—解决梯度爆炸问题的方法作用:它能有效地权重控制在一定范围之内,防止梯度爆炸算法步骤如下:1.首先设置一个梯度阈值:clip_gradient2.在后向传播中求出各参数的梯度,这里我们不直接使用梯度进去参数更新,我们求这些梯度的l2范数3.然后比较梯度的l2范数||g||与clip_gradient的大小4.如果前者大,求缩放因子clip_gradient/||g||, 由缩放因子可以看出梯度越大,则缩放因子越小,这样便很好地控制了梯度的范围5.最后将梯度乘原创 2020-11-30 14:44:46 · 1046 阅读 · 0 评论 -
python-pytorch7—numpy.where修改像素—npy文件
1.numpy.where1.1.numpy.where(condition)a = np.arange(10)print(a)输出:[0 1 2 3 4 5 6 7 8 9]b = np.where(a<=5)print(b)输出:(array([0, 1, 2, 3, 4, 5], dtype=int64),)1.2.numpy.where(condition, x, y)condition为真执行x,否则执行ya = 10b = np.where(a>原创 2020-11-13 18:21:42 · 1170 阅读 · 0 评论 -
python-pytorch—./与../—pytorch之transforms—optimizer的3个函数—iter()与next()—argparse.ArgumentParser()
1、.与…与./与…/. 代表当前所在目录… 代表当前所在目录的父目录./ 代表当前所在目录下的某个文件夹或文件…/ 代表当前所在目录的父目录下的某个文件夹或文件2.Pytorch:transforms的二十二个方法1.依概率p垂直翻转——transforms.RandomVerticalFlip功能:依据概率p对PIL图片进行垂直翻转参数:p- 概率,默认值为0.5 eg:VerticalFlip(p=0.5),2.依概率p水平翻转——transforms.RandomHo原创 2020-11-09 22:22:14 · 634 阅读 · 0 评论 -
pytorch5—BatchNorm2d()—os.listdir()—os.path.join()—os.rename(批量重命名)—PIL.Image.open()—DataLoader()
1.BatchNorm2d函数——利于训练数据稳定加BatchNorm2d进行数据的归一化处理,这使得数据在进行Relu之前不会因为数据过大而导致网络性能的不稳定torch.nn.BatchNorm2d(num_features, eps:分母中添加的一个值,目的是为了计算的稳定性,默认为:1e-5 eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)2.os原创 2020-11-07 15:56:46 · 399 阅读 · 1 评论 -
pytorch4——搭建VGG16
0.基础知识0.1. torch.nn.init.kaiming_normal_(m.weight, mode=‘fan_out’, nonlinearity=‘relu’)用正态分布来,填充输入张量0.2.torch.nn.init.constant_(m.weight, 1)用常量1,来填充输入张量0.3.nn.BatchNorm2d2维数据归一化层(把数据按比例缩放,使之落入一个小小的特定区间)使得数据在进行Relu之前不会因为数据过大而导致网络性能的不稳定0.4.torch.原创 2020-09-30 21:11:34 · 571 阅读 · 1 评论 -
Pytorch4——* & **的区别—tuple、list、dict
1.pytorch基础知识1.1. def xxxxx(*args, **kwargs):一个星号 * 作用是将tuple或者list中的元素进行unpack,分开传入,作为多个参数;两个星号** 作用是把dict类型的数据作为参数传入。1.2.tuple、list、dictlist是一种有序的集合,可以随时添加和删除其中的元素执行结果: # list是一种有序的集合,可以随时添加和删除其中的元素list_1 = [1,2,3,4,5]list_1[原创 2020-09-30 19:55:27 · 1470 阅读 · 0 评论 -
Pytorch3_搭建网络实现FizzBuzz小游戏
1.固定结构 #搭建前向网络 class Net(torch.nn.Module): def __init__(self,input_features,hidden_nums,output_features): super(Net,self).__init__() …… …网络结构:Linear、Conv… …… def forward(self,x): 调用上边的网络结构 #return 返回值 ret原创 2020-09-29 21:31:23 · 302 阅读 · 0 评论 -
Pytorch3_torchvision、.设置随机种子、GPU相关配置、卷积层参数设置、池化层参数设置、池化层参数设置
1.基本知识1.1.import 与 from…importimport 模块:导入一个模块;注:相当于导入的是一个文件夹,是个相对路径。from…import:导入了一个模块中的一个函数;注:相当于导入的是一个文件夹中的文件,是个绝对路径。 import support #现在可以调用模块里包含的函数了 support.print_func("Runoob") from support import * # 现在可以调用模块里包含的函数了 print_func("原创 2020-09-29 19:41:52 · 645 阅读 · 0 评论 -
Pytorch2—python函数体定义、zip、for用法——FizzBuzz游戏实验
1.python基本语法1.1.函数体定义与调用 def 函数名(参数列表): 函数体先定义,后调用#先定义def sum(i,j): return i+j#后调用result=sum(1.2,3)print("输出结果:%f"%result)1.2.zip用法1.2.1.zip()zip(),执行各数组之间的元素打包,而且元素个数与最短的列表一致zip函数返回一个zip类型对象,所以输出时,需要转换为list类型import numpy原创 2020-09-27 21:40:21 · 1957 阅读 · 0 评论 -
Pytorch01—Tensors相关函数—Numpy和Tensor的转化—实现简单的神经网络
1.什么是PyTorch?PyTorch是一个基于Python的科学计算库,它有以下特点:类似于NumPy,但是它可以使用GPU可以用它定义深度学习模型,可以灵活地进行深度学习模型的训练和使用2.基本函数torch.empty—返回一个未初始化数据的张量.torch.rand—返回一个由[0,1)随机数填充的张量torch.zeros—构建一个全为0填充的张量x.dtype—返回张量的数据类型torch.tensor([数据])—从数据直接直接构建ten原创 2020-09-26 22:44:31 · 632 阅读 · 0 评论