机器学习or深度学习
机器学习、深度学习、主要使用pytorch,numpy...
朽一
人生一世,草木一秋。
展开
-
深度学习零碎理论
***原创 2022-05-19 18:36:43 · 266 阅读 · 0 评论 -
pytorch使用sobel、laplace算子
在torch.nn.functional.conv2d()中使用自己构造的sobel卷积核,卷积核shape为(out_channels, in_channels, kernel_size, kernel_size)import torch, cv2import torch.nn.functional as Fsobel_x = torch.tensor([[-1, -2, -1], [0, 0, 0], .原创 2022-04-11 17:26:44 · 6579 阅读 · 0 评论 -
构造任意层数的金字塔(pytorch)
codeimport torchimport torch.nn as nnimport torch.nn.functional as Fclass ConvBnReLU(nn.Module): def __init__(self, in_channels, out_channels, kernel_size, stride, padding, bias=True, dilation=1): super(ConvBnReLU, self).__init__()原创 2021-12-01 12:49:00 · 1408 阅读 · 0 评论 -
pytorch pow_()使用需谨慎
示例: x = torch.randn(1) y1 =x print("x:",x) print("y1:",y1) y2 = x.pow_(2) print("pow_ ...") print("x:",x) print("y1:",y1) print("y2:",y2)输出:x: tensor([-1.7124])y1: tensor([-1.7124])pow_ ...x: tensor([2.9323])y1:原创 2021-11-30 17:16:04 · 3318 阅读 · 0 评论 -
将gpu并行模型转换为单cpu/gpu模型
import torchdef convert_model(para_model,single_model): checkpoint = torch.load(para_model ,map_location=torch.device("cpu")) output={} for key,value in checkpoint['model'].items(): output[key.lstrip("module.")]=value torch.sav原创 2021-11-09 10:19:31 · 2557 阅读 · 2 评论 -
python下直接安装pytorch(不使用Anaconda)
C:\Users\yearn>pip install torch1.7.1+cpu torchvision0.8.2+cpu torchaudio===0.7.2 -f https://download.pytorch.org/whl/torch_stable.htmlpython3.8.6原创 2020-12-23 13:20:03 · 5465 阅读 · 0 评论 -
SimCLR图像分类——pytorch复现
SimCLR图像分类 pytorch复现一、网络模型、损失函数1.原理2.code二、配置文件三、无监督学习数据加载四、无监督训练五、有监督训练六、训练并查看过程七、验证集评估八、自定义图片测试一、网络模型、损失函数1.原理SimCLR(A Simple Framework for Contrastive Learning of Visual Representations)是一种对比学习网络,可以对含有少量标签的数据集进行训练推理,它包含无监督学习和有监督学习两个部分。无监督学习网络特征提取原创 2021-07-11 19:03:54 · 22261 阅读 · 189 评论 -
pytorch笔记——基础
^_^一、概览1.构建网络模型2.加载数据集3.实例化网络,损失函数,优化器4.批量梯度下降训练二、Dataset、Model、Loss、Optimizer1.加载自己的数据集2.网络模型Model3.损失函数Loss:4.优化器三、常用语句块1.设备选择2.固定随机一、概览使用流程,手写数字为例1.构建网络模型2.加载数据集3.实例化网络,损失函数,优化器4.批量梯度下降训练二、Dataset、Model、Loss、Optimizer1.加载自己的数据集1)继承torch.原创 2021-07-05 10:56:31 · 208 阅读 · 0 评论 -
SSD网络后半段解析
ssd网络的特征提取部分与常见的卷积方式大同小异,这里从得到六张不同尺寸的特征图说起…SSD网络后半段一、检测结果提取二、正负样本的选取三、损失计算1.分类损失2.位置损失3.最终损失一、检测结果提取ssd300得到以上六张特征图,它们的先验框数量依次为4,6,6,6,4,4。所有特征图上的总先验框数量为:38x38x1024特征图为例,先验框数量为38x38x4,用3x3卷积改变其通道数,生成位置(4)与类别(20+1)预测特征图将位置预测特征图reshape为[-1,4],.原创 2021-05-11 15:22:42 · 207 阅读 · 0 评论 -
logistic算法实现(gd,sgd,newton)(iris,mnist应用)
logistic1.logistic实现2.山鸢尾识别3.手写数字6识别1.logistic实现import numpy as npimport matplotlib.pyplot as pltclass Logistic(): def __init__(self): pass #GD def fit_by_gd(self, X, y, x_test, y_test, lr=0.1, N=1000, eval=False, eval_step=50):原创 2021-03-26 12:43:10 · 409 阅读 · 2 评论 -
DBnet实现
DBnet的具体实现1.FPN(主干为resnet50)2.DB (两次二值化,得到prob_map,threshold_map)3.Segouttorch.reciprocal(1 + torch.exp(-k * (prob_map - threshold_map)))原创 2021-01-21 21:11:53 · 1632 阅读 · 1 评论 -
反向传播(BP)算法推导
推导==》对于图中第k层第j个神经元:假设误差为L,最后一层为第k层,梯度绿线部分表示: 从 第k层第j个神经元到 最后一层 的 任一条线路上,对经过的神经元进行的运算(从第k+1层的神经元开始),如下图所示相关细节1.对于不同的损失函数有不同取值例如,对于MSE(通常乘以1/2,用于求导后约去,方便计算)2.对于图中第k+1层第m个神经元,有可以由此得通式,计算链式求导3.对于激活函数f,若f为sigmoid函数...原创 2020-12-29 21:41:47 · 212 阅读 · 0 评论 -
visdom小示例
import numpy as npimport visdomdef show_loss(path,name,step=1): with open(path,"r") as f: data=f.read() data=data.split(" ")[:-1] x=np.linspace(1,len(data)+1,len(data))*step y=[] for i in range(len(data)): y.append(fl原创 2021-04-07 21:35:30 · 112 阅读 · 1 评论 -
checkpoint = torch.load(args.state_dict) ->RuntimeError: CUDA error: out of memory
进行eval,加载模型到gpu时,出现错误:RuntimeError: CUDA error: out of memory疑似原因:有一个相似的模型(网络结构名相同,通道数不同)在另一块gpu上训练着,导致加载错误解决办法:先停止相似模型的训练...原创 2021-03-28 17:23:09 · 512 阅读 · 0 评论 -
RuntimeError: Input type (torch.cuda.FloatTensor) and weight type (torch.FloatTensor) should be the
RuntimeError: Input type (torch.cuda.FloatTensor) and weight type (torch.FloatTensor) should be the same定位报错位置:conv3 = nn.Conv2d(96, 24, 3, 1, 1, bias=False)修改为self.conv3 = nn.Conv2d(96, 24, 3, 1, 1, bias=False)原创 2021-03-22 18:51:20 · 309 阅读 · 0 评论 -
pytorch中连续两次sort的理解
import torchx= torch.randn(4)print("x:",x)y, index1 = x.sort( descending=True)print("y:",y)print("index1:",index1)z, index2= index1.sort()print("z:",z)print("index2:",index2)运行结果:index1:每个值代表排序后的tensor y的每个元素,在排序前的tensor x的索引。如:1代表y 中0.7613原创 2021-03-01 16:05:06 · 315 阅读 · 0 评论 -
pytorch混合精度训练
# coding=utf-8import torchfrom torch.cuda.amp import autocast,GradScalerdef train(epoch): #梯度缩放 https://pytorch.org/docs/stable/amp.html#gradient-scaling scaler = GradScaler() x = torch.randn(3,100).cuda() y = torch.randn(3,5).cud原创 2021-02-16 19:47:54 · 342 阅读 · 1 评论 -
2D四点矩形的空间排序,及重叠矩形合并
目标对用四点表示的矩形组按从上到下,从左到右进行排序,并将重叠矩形合一。例如bboxs=[ [[ 916, 1440], [ 987, 1440], [ 987, 1466], [ 916, 1466]], [[ 741, 1440], [ 826, 1440], [ 826, 1466], [ 741, 1466]], [[ 708, 1444],原创 2021-01-29 01:41:07 · 671 阅读 · 0 评论 -
pytorch示例(多项式拟合,iris,mnist-dnn,mnist-cnn)
1.多项式拟合import numpy as npimport torchimport torch.autogradimport torch.nn.functional as Ffrom torch.autograd import Variableimport matplotlib.pyplot as pltfrom itertools import counttorch.manual_seed(1)POLY_DEGREE=4W_target=torch.randn(POLY_DEGR原创 2021-01-04 00:15:21 · 506 阅读 · 0 评论 -
机器学习——数据处理流程梳理
数据处理流程梳理一、数据预处理1.数据缺失处理2.划分训练集、测试集及数据不平衡处理3.数据标准化4.特征选择1)随机森林2)相关性检测3)lasso特征5.特征降维二、训练模型1.训练2.查看ROC曲线3.评价指标三、测试数据预处理1.去除训练集缺失率高的列2.标准化3.特征选择4.特征降维四、测试集预测五、完整代码六、遇到的问题一、数据预处理以二分类问题为例,数据集形式为excle,label在最后一列1.数据缺失处理分别对行列缺失进行处理def preTrainDataAndSelectFe原创 2021-05-07 12:32:49 · 4648 阅读 · 1 评论