![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
深度学习
文章平均质量分 75
乒乒乓乓丫
转行咯
展开
-
不同深度学习框架下的默认数据通道顺序及转换
下面是不同框架下的默认数据通道顺序Caffe: NCHWNCNN: CHWtensorflow: NHWCOpenCV: NHWCpytorch: NCHWmxnet: NCHW海思bgr: NCHW瑞芯微rknn: NHWCscipy.misc: NHWC见https://blog.csdn.net/kupepoem/article/details/105119162转载 2020-11-10 21:15:45 · 482 阅读 · 0 评论 -
自编码AE 实现图片去马赛克 pytorch
去年老早,曾经写过一个AE的实现,不过写的比较墨迹,不够成熟。今天看到了,就重新写一个。一.代码1.全代码名称展示2.主程序(一).训练阶段(1).dataset.pyimport torchimport osimport torch.nn as nnfrom torchvision import transformsfrom torch.utils.da...原创 2020-03-17 22:50:48 · 911 阅读 · 1 评论 -
rk3399 pro开发板使用教程详解——linux系统
前言:这个板子网上的资料很少,我就当做日记来写一写经历。固件、环境搭建等官方教程http://t.rock-chips.com/wiki.php?mod=view&id=14社区里有一些很好的项目案例教程以及疑难提问与解答,推荐多留意, 社区链接http://t.rock-chips.com/forum.php一. linux环境搭建(开发板预安装fedo...原创 2019-05-15 21:52:00 · 19666 阅读 · 9 评论 -
深度学习入门基础教程(一) 感知器
一. 感知器 为了理解神经网络,我们应该先理解神经网络的组成单元——神经元。神经元也叫做感知器。感知器算法在上个世纪50-70年代很流行,也成功解决了很多问题。 感知器模型是美国学者罗森勃拉特(Frank Rosenblatt)为研究大脑的存储、学习和认知过程而提出的一类具有自学习能力的神经网络模型,它把神经网络的研究从纯理论探讨引向了从工程上...原创 2019-05-09 11:00:45 · 974 阅读 · 3 评论 -
Pascal Voc数据集详解 以Voc2012为例
Pascal VOC网址:http://host.robots.ox.ac.uk/pascal/VOC/一. VOCdevkit文件夹数据集下载后解压得到一个名为VOCdevkit的文件夹,该文件夹结构如下:.└── VOCdevkit #根目录 └── VOC2012 #不同年份的数据集,这里只下载了2012的,还有2007等其它年份的 ├─...原创 2019-04-25 11:20:42 · 6058 阅读 · 4 评论 -
解决Pytorch在IDE中无法自动补全的问题 实用教程
按下图,把文件__init__.pyi 复制到自己电脑的具体路径 ~/site-packages/torch/__init__.pyi(__init__.pyi若已存在,直接替换即可)别人上传过了,我就不上传了 。 __init__.pyi文件下载https://download.csdn.net/download/dumpdoctorwang/11133109...原创 2019-04-29 11:48:07 · 959 阅读 · 0 评论 -
yolov3 darknet53网络及mobilenet改进 附完整pytorch代码
一. 原理介绍1.darknet53网络结构基本由1*1与3*3卷积构成,因为网络中有53个卷积层,所以叫做Darknet-53(不包含残差层里的2个卷积)。结构图直接引用一个博主总结的,简洁明了https://blog.csdn.net/qq_37541097/article/details/81214953#commentBox2. mobilenet网络介绍...原创 2019-04-18 23:54:08 · 27177 阅读 · 9 评论 -
ubuntu16.04+显卡驱动安装+cuda9.0+cudnn7.05+python3.6.6+Anaconda+pytorch(GPU版)+pycharm安装
1.ubuntu16.04安装教程多的是,百度一下就可以,不赘述https://blog.csdn.net/uniqueyyc/article/details/810868292.Ubuntu16.04安装Nvidia显卡驱动https://www.cnblogs.com/fanminhao/p/8902296.html注:需要禁用nouveau,亲测可用https://...原创 2019-04-27 14:51:30 · 837 阅读 · 0 评论 -
COCO数据集 —— 介绍,数据集下载,win10下的api安装及调用
一. 介绍COCO数据集是Microsoft制作收集用于Detection + Segmentation + Localization + Captioning的数据集。根据年份来区分, 到目前为止, COCO 的数据集, 分别有 2014, 2015, 2017。分大类12个,分别:[‘appliance’, ‘food’, ‘indoor’, ‘accessory’, ‘ele...原创 2019-05-07 15:45:15 · 3603 阅读 · 0 评论 -
准确率(Accuracy)、精确率(Precision)、召回率(Recall)、F值(F-Measure)
TP(True Positive,真正的正):正预测为正TN(True Negative, 真正的负):负预测为负FP(False Positive,假的正):负预测为正FN(False Negative,假的负):正预测为负1.准确率(正确率):预测对了的 / 总数,预测对了的=TP+TNAccuracy = (TP+TN) / (TP+TN+FP+FN)错误率 E...原创 2019-05-20 10:44:06 · 1611 阅读 · 0 评论 -
深度学习(计算机视觉)面试问题总结 随时补充
1.如何解决梯度爆炸与消失答:1. 预训练加微调——每次训练一层隐节点,训练时将上一层隐节点的输出作为输入,而本层隐节点的输出作为下一层隐节点的输入,此过程就是逐层“预训练”;在预训练完成后,再对整个网络进行“微调”(fine-tunning)。在各层预训练完成后,再利用BP算法对整个网络进行训练。此思想相当于是先寻找局部最优,然后整合起来寻找全局最优,此方法有一定的好处,但是目前应用...原创 2019-09-24 13:38:43 · 432 阅读 · 0 评论 -
embedding层 通俗理解
https://blog.csdn.net/u013249853/article/details/89194787通常都会先将文字转换成普通整数编码,然后再用embedding层进行可更新向量编码。将正整数(索引值)转换为固定尺寸的稠密向量。 例如: [[4], [20]] -> [[0.25, 0.1], [0.6, -0.2]]...转载 2019-06-17 14:34:08 · 1610 阅读 · 0 评论 -
深度学习入门基础教程(三) CNN做MNIST数据集图像分类 pytorch版代码
一. 原理解读这个和上一篇教程一样,都是简单的图像分类,只是针对的数据集不同。鉴于是入门教程,再仔细写一遍分享一篇我觉得非常适合新手理解CNN的博文https://blog.csdn.net/XYlittlework/article/details/79903225MNIST数据集(训练集6万张,测试集1万张,每张灰度图28*28*1(单通道),数字0-9对应标签值0-9)如下:...原创 2019-06-06 17:36:24 · 2067 阅读 · 1 评论 -
深度学习入门基础教程(二) CNN做CIFAR10数据集图像分类 pytorch版代码
一. 原理解读分享一篇我觉得非常适合新手理解CNN的博文https://blog.csdn.net/XYlittlework/article/details/79903225CIFAR10数据集(训练集5万张,测试集1万张,每张彩图32*32*3,10类对应标签值0-9)如下:二. pytorch版完整代码复现1.全代码名称展示可见,跑了几十轮后,在测试集上的准...原创 2019-06-06 14:47:50 · 4203 阅读 · 2 评论 -
pixelCNN及其改进版gated pixelCNN
由于最近要着手复现谷歌的生成模型VQ-VAE及改进版VQ-VAE2,里面涉及gated pixelCNN,索性把相关的masked convolutions等都仔细研究了下。以下这篇博客讲的很细致,推荐看看,我就不赘述了https://blog.csdn.net/like_red/article/details/79192374#commentBox...转载 2019-06-12 17:34:34 · 1685 阅读 · 0 评论 -
one-hot的简单表示 python
import numpy as npdef one_hot(CLASS_NUM, i): b = np.zeros(CLASS_NUM) b[i] = 1. return bprint(one_hot(2,0))print(one_hot(2,1))print(*one_hot(2,1))#取出list里的元素print('-----------------...原创 2019-05-17 18:10:59 · 409 阅读 · 0 评论 -
深度可分离卷积实例讲解 python
import torch'''此处应用深度可分离卷积的过程是①用in_channel个2×2大小的卷积核(1通道:因为设置groups=in_channel,把输入划分in_channel份,使得每份的输入成了单通道,故每个卷积核也是单通道),分别与输入的in_channel通道的数据做卷积(这里使用了in_channel个1通道的卷积核,输入数据的每个通道对应1个2×2的卷积核卷积)...原创 2019-05-13 14:43:21 · 2195 阅读 · 0 评论 -
神经网络常见可视化方法
1.打印出网络的参数量 , 直接打出网络结构(不够直观) .2. 利用可视化工具,直观显示网络结构Netron是一款可视化网络模型的软件,目前的Netron支持主流各种框架的模型结构可视化工https://github.com/lutzroeder/Netron支持的文件类型如下:点开链接后,按自己的系统直接点击下载就可以了,比如我用的win10,就按如下下载:...原创 2019-05-16 11:58:37 · 4763 阅读 · 0 评论 -
Python cv2 摄像头获取与视频保存
import cv2cap = cv2.VideoCapture(0)fourcc = cv2.VideoWriter_fourcc(*'XVID')# fps = cap.get(cv2.CAP_PROP_FPS)size = (int(cap.get(cv2.CAP_PROP_FRAME_WIDTH)), int(cap.get(cv2.CAP_PROP_FRAME_HEIGHT)...转载 2019-03-19 15:21:43 · 3505 阅读 · 0 评论 -
python爬虫
复制粘贴,拿来直接跑就行,url之类的都不用改。import urllib.requestimport urllib.parseimport reimport os#添加header,其中Referer是必须的,否则会返回403错误,User-Agent是必须的,这样才可以伪装成浏览器进行访问header=\{ 'User-Agent': 'Mozilla/5.0 (W...原创 2019-03-19 22:19:44 · 21131 阅读 · 31 评论 -
解决teamviewer 被控制端在退出时的默认锁屏问题
1.点击箭头处的‘编辑配置文件’2.高级——>显示高级选项3.到其他计算机的连接高级设置——>‘锁定远程计算机’选择‘从不’注:对方电脑即使把显示器关闭(黑屏),只要对方电脑的主机仍在运行,也不会影响这一边控制方的正常显示!...原创 2019-03-23 15:19:20 · 15662 阅读 · 0 评论 -
神经网络中Epoch、Iteration、Batchsize辨析
1.深度学习中经常看到epoch、iteration和batchsize,三者区别:(1)batchsize:批大小。在深度学习中,一般采用SGD训练,即每次训练在训练集中取batchsize个样本训练;(2)iteration:1个iteration等于使用batchsize个样本训练一次;(3)epoch:1个epoch等于使用训练集中的全部样本训练一次;举个例子,训练集有1000个...转载 2019-03-25 13:07:49 · 775 阅读 · 0 评论 -
样本扩充 完整代码 超级实用 python
这是博主用来做样本扩充常用的代码,里面备注已经很详细了,直接拿来用吧!其中autoaugment.py直接借用的github的代码,很棒。一.代码1. autoaugment.py'自动数据增强方法AutoAugment'"""基于扩充样本操作的流程:比如先找来500张车辆的图片,并标注得xml文件,再转化得txt文件。然后用此autoaugment.py做扩充操作—&g...原创 2019-03-25 16:18:52 · 4684 阅读 · 3 评论 -
全卷积FCN理解备注 python
通常CNN网络在卷积层之后会接上若干个全连接层,将卷积层产生的特征图(feature map)映射成一个固定长度的特征向量。 FCN 对图像进行像素级的分类,从而解决了语义级别的图像分割(semantic segmentation)问题,与经典的CNN 在卷积层之后使用全连接层得到固定长度的特征向量,进行分类(全连接层+softmax输出)不同。FCN可以接收任意尺寸的输入图像,采用反卷积...转载 2019-03-25 17:02:11 · 487 阅读 · 0 评论 -
维度问题 备忘 python
1. a为4维数组, 则a[0], a[0][0],a[0][0][0], a[0][0][0][0]如:对于一个2维数组a, 则a[m]是取第m+1行,a[m][n]是取第m+1行第n+1列。2.a = torch.randn(1,1)b,c = np.where(a > 0)print('a',a) #tensor([[0.9415]])print('b',...原创 2019-03-27 13:12:48 · 127 阅读 · 0 评论 -
MTCNN论文实现细节详解 附疑难点纯手绘讲解图 python
一.论文解读论文链接:https://arxiv.org/ftp/arxiv/papers/1604/1604.02878.pdf1. P、R、O网络结构图解2. 流程图解3. 代码实现步骤:样本预处理(数据集用celeba,拿来先生成3种尺寸12*12/24*24/48*48,每种尺寸含正、负、部分3类) ——> 写P、R、O网络——> 训练...原创 2019-04-08 10:42:47 · 1383 阅读 · 0 评论 -
常见神经网络激活函数讲解
一.什么是激活函数激活函数,并不是去激活什么,而是指如何把“激活的神经元的特征”通过函数把特征保留并映射出来(保留特征,去除一些数据中是的冗余),这是神经网络能解决非线性问题关键。二.为什么要使用激活函数激活函数是用来加入非线性因素的,因为线性模型的表达力不够。 在具体处理图像的时候是什么情况呢?我们知道在神经网络中,对于图像,我们主要采用了卷积的方式来处理,也就是对每个像素点赋予一...转载 2019-03-17 18:48:50 · 688 阅读 · 0 评论 -
pytorch 数据加载的2种方法
一. 封装成类Dataset,再用加载器Dataloader1.封装成类Dataset:数据集合转化成Dataset这个类,然后必须有__init__来加载数据集,__len__来获取数据集的数据数量,用于for循环的次数,__getitem__来索引数据集中的某条数据1.import torchimport osimport torch.nn as nnfro...原创 2019-03-12 21:02:33 · 3878 阅读 · 2 评论 -
YOLO 原理及网络结构细节 入门介绍
yolov3 darknet53网络及mobilenet改进的pytorch代码可以参考我的这篇博客:https://blog.csdn.net/qq_39938666/article/details/89390945关于基本介绍,网上很多,搜一下就有https://blog.csdn.net/Maybemust/article/details/83450321...原创 2018-11-04 09:46:19 · 14119 阅读 · 0 评论 -
pytorch随记(随时更新)
1.①任何在原地(in-place)改变张量的操作都需要加一个’_’后缀。例如x.copy_(y), x.t_()操作将改变x②神经网络的典型训练过程如下:(一)1. 定义神经网络模型,它有一些可学习的参数(或者权重);2. 在数据集上迭代;3. 通过神经网络处理输入;4. 计算损失(输出结果和正确值的差距大小)5. 将梯度反向传播会网络的参数;6. 更新网络的参...转载 2018-12-26 00:33:11 · 591 阅读 · 2 评论 -
训练神经网络时,batchsize的设置方法,以达到GPU算力的充分利用
先在窗口转路径 cdC:\Program Files\NVIDIA Corporation\NVSMI 然后输入指令nvidia -smi 就会显示图右侧的信息框,那里可以看到显卡总显存和正在占用的显存数值。此外,更直接的方法就是到任务管理器 -> 性能 -> GPU0 -> 专用GPU内存,就可以看到总显存及实时占用显存。注:batchsize大小与网络复杂程度负...原创 2019-01-23 17:24:15 · 11536 阅读 · 3 评论 -
卷积网络升采样
自从步入深度学习时代,我们越来越追求end2end,那么升采样能不能不用人为定义的权重,而让模型自己学习呢?答案是显然的,deconv就是解决方案之一。deconv和插值的区别与联系:deconv和插值,都是通过周围像素点来预测空白像素点的值,区别在于一个权重由人为预先定义的公式计算,一个通过数据驱动来学习。https://bigquant.com/community/t/to...转载 2019-02-25 11:36:44 · 305 阅读 · 0 评论 -
python 批量图片resize代码——分别3种库函数实现
一.1.opencv: cv2'cv2'import cv2import osimport globpath = r'C:\Users\87419\Desktop\cg1\img\*.jpg'for i in glob.glob(path): im1 = cv2.imread(i) im2 = cv2.resize(im1,(256,256)) ...原创 2019-02-27 13:54:13 · 6130 阅读 · 1 评论 -
python 三种常用图像库opencv、matplotlib、PIL图片读取方式对比总结
一.opencv: cv2'cv2'import cv2import os# im1 = cv2.imread(r'C:\Users\admin\Desktop\Celeba\celeba/000001.jpg')#对# im1 = cv2.imread(r'C:\Users\admin\Desktop\Celeba\celeba')#报错,要明确到图片名im1 = cv...原创 2019-02-27 17:46:39 · 4058 阅读 · 1 评论 -
神经网络为什么要归一化
想要在网络搭建上培养出自己的独立想法,扎实的理论基础还是很有必要的,不要只停留于工程应用。一直在用归一化操作,但没仔细想过好处在哪里,所以特意去查看了一下,加深理解。https://blog.csdn.net/liuheng0111/article/details/52841838mark...转载 2019-03-01 15:30:06 · 580 阅读 · 0 评论 -
OpenCV | imshow()弹出窗口图片未响应;无法显示图片
报错 cv2.error error: (-215:Assertion failed) dst.data == (uchar*)dst_ptr in function 'cvShowImage'同样的代码,我发现在公司电脑1060上,cv2.imshow()就可以显示,但在自己2080ti上就总是报错如上。于是锁定在cv2版本问题,果然卸掉最新的4.0版本,换上3.4.4.19就好了。...原创 2019-03-05 14:06:20 · 1432 阅读 · 0 评论 -
自编码AE 实现图片去马赛克(完整代码奉献) pytorch
前言:博主闲来无事,写了个AE网络来实现任意图片的去马赛克(前提是训练样本是哪方面的马赛克图~~,博主是针对打码人脸的去码)。样本分为没打码人脸8000张和经打码处理的对应8000张(取自celeba人脸数据集)。预处理阶段:人脸resize到256x256,打码。为读入数据,把文件夹里的图片名读取出并保存到了label.txt文件。主程序分4块:网络定义文件net.py, 读数据dataset...原创 2019-03-09 10:37:20 · 5219 阅读 · 13 评论 -
pytorch权重初始化之kaiming_normal初始化
import torchimport torch.nn as nnw = torch.empty(2, 3)# torch.nn.init.kaiming_normal_(tensor, a=0, mode='fan_in', nonlinearity='leaky_relu')nn.init.kaiming_normal_(w, mode='fan_out', nonlineari...转载 2019-03-10 00:55:21 · 26584 阅读 · 2 评论 -
通过half()把单精度float32转为半精度float16 超实用网络训练技巧 python
我在网上之前找了半天,也没找到能简洁明了地说怎么做能实现转半精度的,趁着弄清楚了,分享给大家。我们都知道N卡早就支持半精度float16的运算了。跑深度学习的时候,在不苛求精度的前提下(大多数时候都是不需要的),通过half()把单精度float32转为半精度float16,使得整个网络调用的参数量直接砍掉一半,以便运行时间大大缩短。方法:我们知道把原在cpu运行的网络放到gpu上运行...原创 2019-04-08 17:18:46 · 14807 阅读 · 3 评论