- 博客(22)
- 资源 (18)
- 收藏
- 关注
原创 图像插值-kron
代码验证:import numpy as np#img = np.arange(4).reshape((2,2))print(img)ones = np.ones((2,2))#%%print(np.kron(img,ones))结果:img:[[0 1] [2 3]]np.kron[[0. 0. 1. 1.] [0. 0. 1. 1.] [2. 2. 3. 3.] [2. 2. 3. 3.]]
2021-01-26 20:41:12 119
转载 深度学习进阶
转发:https://blog.csdn.net/weixin_41923961/article/details/82721843用深度学习玩图像的七重关卡许铁-巡洋舰科技2 天前第一个重境界: 图像识别如果你开始了解深度学习的图像处理, 你接触的第一个任务一定是图像识别 :比如把你的爱猫输入到一个普通的CNN网络里, 看看它是喵咪还是狗狗。一个最普通的CNN, 比如像这样几层的CNN鼻祖Lenet, 如果你有不错的数据集(比如kaggle猫狗大战)都可...
2021-01-26 17:07:25 299
原创 全连接层(线性层)-Linear
原理:#%%import torchimport torch.nn as nn#%% 输入数据in_features = 3out_features = 2input = torch.arange(in_features,dtype=torch.float32).view([1,-1])#%% 线性层输出(pytorch)connect1 = nn.Linear(in_features=in_features,out_features=out_features,bias=Tr
2021-01-26 15:02:14 7372
原创 乘法-mul,dot,mm
a = torch.tensor([[1,1]],dtype=torch.float32)b = torch.tensor([[1,1]],dtype=torch.float32)c = torch.tensor([[2,2],[2,3]],dtype=torch.float32)d = torch.tensor([[2,2],[2,3]],dtype=torch.float32)#矩阵对应位置相乘print(torch.mul(c,d))#矩阵对应位置相乘,再相加,获得一个值print(t.
2021-01-26 14:50:17 136
原创 MNIST数据集读取-datasets.MNIST
#%%import torchfrom torchvision import datasetsfrom torch.utils.data import DataLoaderfrom torchvision import transformsimport matplotlib.pyplot as pltimport sysbatch_size = 2transform = transforms.Compose([ transforms.ToTensor(), .
2021-01-26 13:04:16 3810 3
原创 归一化-Normalize
1)没有N,只针对每个通道进行归一化。输入图像应该是(C,H,W)个格式代码:#%%import torchfrom torchvision import transforms#%% 数据矩阵C= 2H= 2W= 2arry = torch.arange(C*H*W,dtype=torch.float32).view([C,H,W])print('输入矩阵:',arry)#%% pytorch归一化mean = [2,2]std = [2,2]n = transfo
2021-01-26 11:30:44 1417
原创 防止过拟合-Dropout2d
Dropout的过程1)按照概率p,对每个输入channel进行伯努利采样,随机采样到的channel置为0,输出2)将1)的输出结果乘以1/(1-p)就是做了dropout的结果代码验证:#%%import torchimport torch.nn as nn#%% 模型conv1 = nn.Conv2d(2,2,kernel_size=3,stride=1,padding=0)m = nn.Dropout2d(p=0.4)#%% 数据准备N = 2C = 2H .
2021-01-25 19:20:45 1787
原创 防止过拟合-BatchNorm2d
参考网址:https://pytorch.org/docs/1.2.0/nn.html?highlight=batchnorm2d#torch.nn.BatchNorm2d代码验证:#%%import torchimport torch.nn as nn'''(N,C,H,M)BatchNorm2D层有 计算归一化最终有chennel个μ,有channel个sigma;实际上对N中所有的channel1进行平均,求解出μ1,sigma1;所有的channel2进行平均,...
2021-01-25 16:36:20 257
原创 预测结果展示-plt.pause()
需求:在预测时显示数据背景:在利用模型进行预测时,我们希望预测一个结果,可视化显示一个结果。可是,发现,只有当while(1)循环执行完后,再执行plt.show()才能够绘制所有图像。不方便!!!import matplotlib.pyplot as pltimport numpy as npx = np.arange(10)# plt.ion()plt.figure()plt.imshow(np.arange(256*256).reshape([256,-1]))# p
2021-01-25 11:25:16 10343
转载 模型训练模式,预测模式-train() 和 eval()
转载:https://blog.csdn.net/weixin_43593330/article/details/107547202一、model.train()和model.eval()分别在训练和测试中都要写,它们的作用如下:(1)、model.train()启用BatchNormalization和Dropout,将BatchNormalization和Dropout置为True(2)、model.eval()不启用BatchNormalization和Dropout,将B...
2021-01-23 21:41:27 732
原创 损失函数-BCELoss
BCELoss就时predict对应点的位置相乘,相加,再求平均证明:#%%import torch import torch.nn as nn#%% mdBCELoss损失函数#%% 产生predict,targetN = 2C = 1H = 2W = 2predict = torch.arange(N*C*H*W,dtype=torch.float32).view([N,C,W,H])predict = torch.sigmoid(predict) .
2021-01-23 15:14:14 5533
原创 损失函数-BCEWithLogitsLoss
BCEWithLogitsLoss(predict,target) 和BCELoss(predict,target) 的区别:BCEWithLogitsLoss会对predict进行sigmoid处理;BCELoss不会对predict进行sigmoid处理;#%%import torch import torch.nn as nn#%% mdBCEWithLogitsLoss损失函数#%% 产生predict,产生targetN = 2C = 1H = 2W = .
2021-01-23 14:56:12 9346 2
原创 哪些变量可放到GPU上-to(device)
# 参考资料:https://blog.csdn.net/qq_38101208/article/details/110481390#%%import torchimport torch.nn as nndevice = torch.device('cuda:0' if torch.cuda.is_available() else 'cpu')class CNN(nn.Module): def __init__(self): super(CNN,self).__ini.
2021-01-22 19:12:05 1352 1
原创 数据集读取-Dataset,DataLoader
#%%import torchfrom torch.utils.data import Datasetfrom torch.utils.data import DataLoaderimport osimport PIL.Image as Imageimport matplotlib.pyplot as pltfrom torchvision import transforms#%% md'''数据量小数据量小的时候,没有大问题,直接加载到内存。比如我们利用一些数据做的线性回归.
2021-01-22 17:31:49 1161 1
原创 python-可迭代对象与迭代器
#%% md可迭代对象iterable = {迭代器iterator,列表list,元组tuple,字典dict,字符串str}可迭代对象iterable特征:1、将for...in...这类语句迭代读取一条数据供我们使用的对象;2、所有的序列类型(也就是后面要说到的 Sequence),都是可迭代对象,如 list、str、tuple,还有映射类型 dict、文件对象等非序列类型也是可迭代对象3、自定义对象在实现了 iter() 方法或者实现了 getitem() 方法后,也可以成为可.
2021-01-22 15:32:19 69
原创 模型保存与加载-save,load
保存模型主要有两种方法:1)只保存参数(官方推荐)2)保存整个模型 (结构+参数)由于保存整个模型将耗费大量的存储,故官方推荐只保存参数,然后在建好模型的基础上加载。本文介绍两种方法,但只就第一种方法进行举例详解想要了解保存参数外的其他方法,可以仔细阅读 https://cloud.tencent.com/developer/article/1507565#%%import torchimport torch.nn as nn#%% 只保存参数conv1 = nn.Conv2.
2021-01-21 17:29:40 356
原创 查看模型的权值-模型与Tensor的区别
模型:1)conv1 = nn.Conv2d(in_ch,out_ch,kernel_size,stride,padding)2) 继承nn.Module类 (nn.Sequence)3)继承nn.Module类 (手写)Tensor1) conv1(input)2) DoubleConv(input)Tensor没有state_dict()方法,模型有state_dict()方法,可以查看变量#%%import torchimport torch.nn as nn#%%.
2021-01-21 16:45:19 394 1
原创 池化-MaxPool2d,AvgPool2d
#%%import torchfrom torch import nn#%% 最大值池化arry = torch.arange(16,dtype=torch.float32).view([1,1,4,4])print(arry)maxp = nn.MaxPool2d(kernel_size=2) #kernel_size=2,stride=kernel_sizeAvgp = nn.AvgPool2d(kernel_size=2) #kernel_size=2,s.
2021-01-21 14:17:25 680
原创 极小值-梯度下降(手写)
原理:利用backward可以求解梯度,那么就可以直接利用梯度下降来更新变量a -= a.grad代码:#%%import torch import torch.nn as nn#%% 求导a = torch.tensor(2,dtype=torch.float32,requires_grad=True)loss = a**2for i in range(100): a.grad = torch.zeros_like(a) loss.backward(ret
2021-01-21 13:33:40 253
原创 求导-backward
#%%import torch import torch.nn as nn#%% 求导a = torch.tensor(2,dtype=torch.float32,requires_grad=True)loss = a**2loss.backward()求取loss = a**2 在a=2时候的倒数
2021-01-21 13:28:53 54
原创 优化器-Adam
本文比较了手动更新变量来描述了利用Adam更新变量的本质求函数 y = a**2的极小值#%%import torchfrom torch import optimimport matplotlib.pyplot as plt#%% 手动更新变量a = torch.tensor([2],dtype=torch.float32,requires_grad=True)y = a**2alist = []for i in range(1000): a.grad = tor
2021-01-20 22:03:32 334
原创 卷积-Conv2d
代码:基于pytorch的验证#%%import torchfrom torch import nn#%% 产生数据N = 2Cin =2Cout = 3H = 4W = 4arry = torch.arange(N*Cin*4*4,dtype=torch.float32).view([N,Cin,H,W])print('原始数据:',arry)#%% 2d卷积(pytorch)conv1 = nn.Conv2d(in_channels=Cin,out_channe...
2021-01-20 20:03:34 817
SerialPort.rar
2020-10-05
C++多项目管理-附件
2020-09-30
CUDA_C_Programming_Guide
2020-09-23
Accelerating MATLAB with CUDA.pdf
2020-09-23
JDK_API_1_6_zh_CN java6 中文API
2018-12-10
C++学习笔记
2018-07-17
STM32学习笔记-免费下载
2018-07-17
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人