![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Pytorch_Mxnet
文章平均质量分 94
JJunQw
这个作者很懒,什么都没留下…
展开
-
torch 多进程训练(详细例程)
PyTorch多节点训练可参考PyTorch分布式官方文档和PyTorch分布式程序;Pytorch 多节点之间的通信函数,包括 Scatter Gatter Reduce All-Reduce Broadcast All-Gather最小示例代码:import osimport torchimport torch.distributed as distfrom torch.multiprocessing import Process"""Blocking point-to-point c原创 2021-01-17 14:06:07 · 4373 阅读 · 0 评论 -
python(numpy) 实现神经网络训练 (卷积 全连接 池化)
cnn_numpy使用numpy实现神经网络,在mnist上进行训练、测试目前包括已下算子:卷积Conv2D(name="conv2",in_channels= 6, out_channels= 12,kernel_size=3,stride=1,padding=1)全连接 FCFC(name="full1",in_channels=28*28, out_channels= 5...原创 2020-04-18 17:17:29 · 1838 阅读 · 0 评论 -
多尺度目标识别(FPN金字塔)的发展历程
引言识别不同尺寸目标一直是目标检测的难点,尤其是小目标!而特征金字塔一直是解决多尺度目标检测的一个重要的点!现在深度学习目标检测的图像/特征金字塔解决思路有下面几种:a) 图像金字塔主要使用不同尺度的图片(resize)进行训练,可以在数据集层面扩充不同尺度的目标,从而使网络更好的学习到不同尺度目标的信息,提高检测准确率,问题:需要大量的时间、空间去进行训练;a) 无特殊操...原创 2020-04-18 16:25:20 · 2391 阅读 · 0 评论 -
数据归一化(特征处理) 以及 各种归一化(BN-LN-GN-IN)的实现
概述归一化:1. 把数据变成(0,1)或者(1,1)之间的小数。主要是为了数据处理方便提出来的,把数据映射到0~1范围之内处理,更加便捷快速。2. 把有量纲表达式变成无量纲表达式,便于不同单位或量级的指标能够进行比较和加权。归一化是一种简化计算的方式,即将有量纲的表达式,经过变换,化为无量纲的表达式,成为纯量。标准化:在机器学习中,我们可能要处理不同种类的资料,例如,音讯和图片上...原创 2020-04-10 14:38:43 · 5329 阅读 · 0 评论 -
常见激活函数 权重初始化
写在前面:神经网络为什么需要激活函数:如果不使用激活函数的话,网络整体(conv、pool、fc)是线性函数,线性函数无论叠加多少层,都是线性的,只是斜率和截距不同,叠加网络对解决实际问题没有多大帮助;而神经网络解决的问题大部分是非线性的,引入激活函数,是在神经网络中引入非线性,强化网络的学习能力。所以激活函数的最大特点就是非线性。梯度消失、爆炸反向传播算法计算误差项时每一层都要乘以本层...原创 2020-04-09 23:28:27 · 2044 阅读 · 0 评论 -
目标检测 样本不平衡
YOLO和SSD可以算one-stage算法里的佼佼者,加上R-CNN系列算法,这几种算法可以说是目标检测领域非常经典的算法了。这几种算法在提出之后经过数次改进,都得到了很高的精确度,但是one-stage的算法总是稍逊two-stage算法一筹,在Focal Loss这篇论文中中,作者认为one-stage精确度不如two-stage是因为下面的原因:正负样本比例极度不平衡。由于one-s...原创 2020-04-09 16:47:32 · 2842 阅读 · 1 评论 -
常用优化器(Adam SGD)算法
文章目录概览SGD (Stochastic gradient descent)MomentumNAG(Nesterov accelerated gradient)AdaGradRMSPro AdadeltaAdam概览梯度下降算法from .adadelta import Adadelta # noqa: F401from .adagrad import Adagrad # no...原创 2020-03-19 13:56:07 · 3749 阅读 · 0 评论 -
grad_cam CNN可视化
第一代的CAM**CAM(class activation map)**是指输入中的什么区域能够指示CNN进行正确的识别需要修改网络结构 添加一个gap层,进行fine_ture网络结构分为两部分,一部分是特征提取(CNN),一部分是分类层(softmax),在特征提取的最后一层我们使用全局平均池化,这样GAP的将会输出每个feature map的平均值,接下来进行一个加权求和得到最...原创 2019-12-15 11:01:42 · 1825 阅读 · 0 评论 -
期盼效应
当我们要用到深度学习来生成图像的时候,是往往是基于一个低分辨率且具有高层语义的图像。这会使得深度学习来对这种低分辨率图像进行填充细节。一般来说,为了执行从低分辨率图像到高分辨率图像之间的转换,我们往往要进行deconvolution。简单来说,deconvolution layer可以允许模型通过每一个点进行绘制高分辨率图像上的一个方块,这种情况的产生与deconvolution的stride、...原创 2019-12-12 14:39:35 · 97 阅读 · 0 评论 -
torchvision.transforms记录
PyTorch框架中有一个非常重要且好用的包:torchvision,该包主要由3个子包组成,分别是:torchvision.datasetstorchvision.modelstorchvision.transforms这3个子包的具体介绍可以参考官网:http://pytorch.org/docs/master/torchvision/index.html。具体代码可以参考gith...原创 2019-06-20 22:55:58 · 1010 阅读 · 0 评论 -
pytorch_optim_学习率调整策略
PyTorch学习率调整策略通过torch.optim.lr_scheduler接口实现。PyTorch提供的学习率调整策略分为三大类,分别是a. 有序调整:等间隔调整(Step),按需调整学习率(MultiStep),指数衰减调整(Exponential)和 余弦退火CosineAnnealing。b. 自适应调整:自适应调整学习率 ReduceLROnPlateau。c. 自定义调整:自...原创 2019-06-22 00:25:05 · 7649 阅读 · 3 评论 -
Tensor RT_4 自定义层(layers)
文章目录caffe2TensorRT and TensorRT_plugin_layerBroadcast_layer 实现PoolingLayer 实现caffe2TensorRT and TensorRT_plugin_layerTensor RT可以直接解析caffe模型。 对于不支持的操作op,您可以使用接口手动添加它们;本博客将提供了一个广播操作(BroadCast_op)的示例,...原创 2019-06-22 01:07:09 · 1923 阅读 · 0 评论 -
pytorch 优化器(optim)不同参数组,不同学习率设置
optim 的基本使用for do:1. 计算loss2. 清空梯度3. 反传梯度4. 更新参数cifiron = nn.MSELoss()optimiter = torch.optim.SGD(net.parameters(),lr=0.01,momentum=0.9)for i in range(iters): out = net(inputs) loss =...原创 2019-07-01 16:33:51 · 29880 阅读 · 11 评论 -
pytorch_detach 切断网络反传
detach官方文档中,对这个方法是这么介绍的。 detach = _add_docstr(_C._TensorBase.detach, r""" Returns a new Tensor, detached from the current graph. The result will never require gradient. .. note:: ...转载 2019-06-27 11:32:18 · 1823 阅读 · 0 评论 -
pytorch 实现roi pool
# -*- coding:UTF-8 -*-import timeimport torchimport torch.nn.functional as Ffrom torch.autograd import Variable def roi_pooling(input, rois, size=(3, 3), spatial_scale=1.0): assert rois.di...原创 2019-08-07 19:26:42 · 3241 阅读 · 0 评论 -
pytorch: tensors used as indices 用tensor索引另一个tensor
tensor1[tensor2]刚看到这个结构有点懵,不知道它是具体怎么工作的example.pya = torch.arange(16)b = torch.tensor([2,2,0,1,0,0,1,0,2,1,0,0,1,0,0,0],dtype=torch.uint8)print(a)print(b)print(a[b])index_list = [[4,3,2,1,0...原创 2019-08-17 14:05:33 · 3958 阅读 · 0 评论 -
Mxnet2Caffe mxnet模型转换caffe
Mxnet2Caffe将mxnet静态图symbol转换为caffe的prototxt文本,支持大部分op,caffe不需要的op则需要自己添加,再转换,否则会构建失败将json转换为prototxt利用caffe的python接口构建网络,将mxnet的参数param迁移到caffe网络中构建caffe不支持的op对结果进行比对json_2_protxtjson2prot...原创 2019-03-08 10:56:52 · 3433 阅读 · 5 评论