nutron-ma
欢迎
展开
-
13-注意力机制
对于超分辨问题,所有空间位置和通道都有着相同的重要性(即权值相同)。在一些情况下,在给定的层中选择性地处理部分特征可能更有帮助。注意力机制则可以赋予其这样的灵活性。注意力机制的核心重点就是让网络关注到它更需要关注的地方。一般而言,注意力机制可以分为通道注意力机制,空间注意力机制,以及二者的结合。注意力机制可以挑出更重要 特征图通道、空间位置,给予其更大的权重,从而提升重建效果。注意力机制是深度学习常用的一个小技巧,它有多种多样的实现形式,尽管实现方式多样,但是每种注意力机制的核心是类似的。原创 2024-01-04 16:24:49 · 1093 阅读 · 0 评论 -
13-1-SRGAN-图像超分-残差模块-亚像素卷积
'''Residual Block残差模块'''nn.PReLU(), # 自动学习斜率的LeakyReLUx = x + self.conv(x) # 残差精华:ElementWise Sum 头尾相加return xreturn out参考:亚像素卷积用法把维度(B, Crr, H,w) reshape成 (B, C, Hr,wr)维度大小不变:B· C* r * r· H·w = B·C·H * r·w*r。原创 2023-11-16 17:36:37 · 258 阅读 · 0 评论 -
12-2- DCGAN -简单网络-卷积网络
随机噪声→生成器→MINIST图像。原创 2023-11-16 12:33:46 · 837 阅读 · 0 评论 -
12-1- GAN -简单网络-线性网络
随机噪声→生成器→MINIST图像。原创 2023-11-16 12:31:04 · 616 阅读 · 0 评论 -
*常用函数
PReLU(Parametric Rectified Linear Unit), 顾名思义:带参数的ReLU。如果ai是一个很小的固定值(如ai=0.01),则PReLU退化为Leaky ReLU(LReLU)。有实验证明,与ReLU相比,LReLU对最终的结果几乎没什么影响。如果ai=0,那么PReLU退化为ReLU;原创 2023-10-14 02:35:44 · 342 阅读 · 0 评论 -
11-1-转置卷积ConvTransposed2d
stride是图片像素点之间的间距,stride=1为像素的的正常间距,stride=2表示像素点间距为2,即添加了一排0填充。,消去0填充边缘,padding=1代表消去full卷积中的1条0填充边缘(不同于卷积中的添加0填充边)padding是图像四周的0填充,padding=1表示四周填充一排像素点。(stride=1, padding=0 就是一般性的full卷积)stride是卷积核的 滑动步长。能实现实现上采样,用于。原创 2023-10-13 16:33:43 · 269 阅读 · 0 评论 -
10-SRCNN-使用CNN实现超分辨成像
工具文件,主要用来制作dataset,便于加入dataloader,用于实现数据集的加载和并行读取。默认GPU训练,使用CPU训练需要去掉所有的三个.to(device)使用了自动学习率,每个epoch下的lr为。加载训练好的模型,用于测试或使用。训练参数:MESloss、Adm。模型训练完,导入进来就可以用啦!主要写入网络(模型)原创 2023-10-13 11:33:22 · 728 阅读 · 0 评论 -
*批量生成多尺寸图像
【代码】*批量生成多尺寸图像。原创 2023-10-13 10:54:41 · 62 阅读 · 0 评论 -
*常用-格式转化-图像操作
在深度学习算法中,会涉及到如下与图像处理相关的操作和转换。基本的库函数为:opencv,pillow,torchvision(tensor),numpy。第二,使用torchvision函数转换从tensor转换为PIL图像,使用PIL进行图像存储。第一,图像读取使用PIL,直接使用torchvision函数将PIL图像转换为tensor。tensor转opencv首先将。数组,再将numpy转为。原创 2023-10-11 17:11:45 · 134 阅读 · 0 评论 -
9-Dataset创建-import调用
【代码】9-2-Dataset创建-import调用。原创 2023-10-11 13:07:45 · 1259 阅读 · 0 评论 -
8-resnet-调用model-实用参考
【代码】8-resnet-调用model-实用参考。原创 2022-12-14 15:29:32 · 207 阅读 · 0 评论 -
8-resnet 手写
【代码】8-resnet 手写。原创 2022-12-14 15:24:19 · 271 阅读 · 0 评论 -
torch.nn.CrossEntropyLoss() 参数、计算过程、输入输出形状--loss中y_pred和y形状不一致
形状问题原创 2022-12-08 16:22:36 · 3712 阅读 · 0 评论 -
7-CNN-minist数据分类
使用卷积网络、全连接网络,对MINIST数据进行分类卷积网络:通常,卷积神经网络都是一个4D的形状输出,(batch,out_channel,行列值,行列值),如代码中的(64,32,7,7)输入到全连接网络:输入值应当为图片信息,输入形状需要根据图像大小展平reshape(-1, 32×7×7),即为(batch=64,32×7×7)输出形状根据nn.Linear(256,原创 2022-12-07 17:28:04 · 578 阅读 · 0 评论 -
6-2-多层感知器(多输出多分类)- 参考模板
'''多层感知器(多分类)神经网络本质:对输入的值做了复杂的加权和非线性处理后输出的一个值,并通过Softmax层将这个输出值变为概率分布。'''import torchvisionfrom torchvision.transforms import ToTensorfrom torch.utils.data import DataLoaderimport matplotlib.pyplot as pltimport numpy as npimport torchfrom torc..原创 2022-05-03 17:07:52 · 570 阅读 · 0 评论 -
6-1-torchvision、DataLoader的使用-MINIST
'''torchvision'''import torchvisionfrom torchvision.transforms import ToTensor# ToTensor()的作用:# 1.将输入转为tensor# 2.图片格式转换为(通道,高,宽) #其他软件中常见的图片格式:(行,列,通道),一般是3通道,如(512,512,3)。但是在pytorch中经常为(通道,高,宽)# 3.将像素值转换到(0,1)范围'''dataset.MNIST内置数据--Dataset类型'''#原创 2022-05-03 16:06:22 · 261 阅读 · 0 评论 -
5-2-Dataset、Dataloder、train_test_split的使用
import torchimport pandas as pdimport numpy as npimport matplotlib.pyplot as plt'''预处理表格数据(忽略)'''# 反正X、Y拿来用就行了,X是输入数据,Y是输出数据(学习目标)data = pd.read_csv('HR.csv')data.part.unique()data.salary.unique()data = data.join(pd.get_dummies(data.part)).join(原创 2022-05-03 16:00:23 · 747 阅读 · 0 评论 -
5-1-多层感知器(单输出二分类)-完整结构
"""创建多层感知器:多输入-单输出(二分类)神经本质:对输入的值做了复杂的加权和非线性处理后输出的一个值"""import torchimport pandas as pdimport numpy as npimport matplotlib.pyplot as plt'''预处理表格数据(忽略)'''# 反正X、Y拿来用就行了,X是输入数据,Y是输出数据(学习目标)data = pd.read_csv('HR.csv')data.part.unique()data.sala.原创 2022-05-03 15:44:51 · 533 阅读 · 0 评论 -
4-逻辑回归与交叉熵(二分类)-单层&激活层
但是,单个神经元(单层)无法解决异或问题,如"""逻辑回归、交叉熵、二分类、单层神经元功能:判断是否会被信用卡欺诈。数据中前15列是个人数据,最后1列是是否被欺诈的结果"""import torchimport pandas as pdimport numpy as npimport matplotlib.pyplot as plt# 读取数据data = pd.read_csv('credit-a.csv', header=None) # 前15列是输入特征值,最后1列是目.原创 2022-05-03 15:05:48 · 203 阅读 · 0 评论 -
3-线性回归-backwards-grad计算梯度
'''线性模型为 y = w*x + b'''import torchimport pandas as pdimport numpy as npimport matplotlib.pyplot as plttorch.__version__data = pd.read_csv('Income1.csv')print(data.Education.to_numpy())X = torch.from_numpy(np.array(data.Education)).type(torch.F原创 2022-05-03 14:58:04 · 112 阅读 · 0 评论 -
2-线性回归-nn方法
'''使用自动计算的【前向传播】、【反向传播】就可以了,不用管nn模块是怎么实现的,自己写好怎么用的就好了。'''import torchimport pandas as pdimport numpy as npimport matplotlib.pyplot as plt# torch.__version__# 读取数据data = pd.read_csv('Income1.csv')# torch.from_numpy()将np数组转化为tensor# .type(torch原创 2022-04-14 23:29:37 · 274 阅读 · 0 评论 -
1-张量、张量计算
import torchimport numpy as np# 首先声明,torch的使用和numpy差不多。'''创建张量'''# torch最常用的数据类型为float32、int64# 直接创建t = torch.tensor([1,2,3]) # 张量数据类型torch.int64t = torch.tensor([1.,2.,3.]) # 张量数据类型torch.float32# float32数据类型------------------------------原创 2022-04-14 23:16:53 · 156 阅读 · 0 评论