![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
深度学习
文章平均质量分 69
黑夜里游荡
这个作者很懒,什么都没留下…
展开
-
voc数据集格式转coco数据集格式
计算机视觉的第一步就是准备数据集,常用的数据集是coco标准,网上大部分数据集的格式都不是coco格式,所以需要转换。转换的第一步是认识voc和coco格式原创 2022-04-27 23:07:52 · 8063 阅读 · 6 评论 -
Five reasons to embrace Transformer in computer vision/在计算机视觉领域拥抱Transformer的5条理由
翻译自微软亚洲研究院官网文章Five reasons to embrace Transformer in computer vision 2021.12.5人工智能的统一建模故事“大一统模型”是许多学科的共同目标。例如,在物理学领域,科学家长期以来一直在追求大一统理论,这是一种可以用来解释不同力之间相互作用的单一理论。人工智能领域也有类似的“统一”目标。在当前的深度学习浪潮中,我们朝着实现团结的目标迈出了一大步。例如,对于新的人工智能任务,我们通常遵循相同的过程:收集数据、标记数据、定义网络架构,以及训翻译 2022-04-13 00:52:31 · 470 阅读 · 0 评论 -
numpy手撕逻辑回归分类MNIST公式+代码
简介逻辑回归虽然顶着一个回归的名称,但是实际上做的是分类的事情。回归的一般形式可以表示为:f(x)=wx+bf(x)=wx+bf(x)=wx+b然而,分类任务的最终结果是一个确定的标签值,逻辑回归的输出范围为[-∞,+∞],需要使用Sigmoid函数将输出Y映射为一个[0,1]之间的概率值,再根据设定的阈值分类出正样本和负样本,比如>0.5作为正样本,<0.5的作为负样本逻辑回归在周志华的西瓜书中被称作对数几率函数,为了让模型去预测逼近y的衍生物,按照我的理解就是从线性推广到非线性的情况,原创 2021-10-28 21:55:00 · 896 阅读 · 0 评论 -
如何理解Python中的深拷贝与浅拷贝/可变对象/不可变对象
深拷贝与浅拷贝需要先理解什么是可变对象和不可变对象:可变对象与不可变对象的区别在于对象本身是否可变。https://zhuanlan.zhihu.com/p/34395671https://cloud.tencent.com/developer/article/1796730python内置的一些类型中可变对象:list dict set不可变对象:tuple string int float bool可变对象>>> a = [1, 2, 3]>>&g原创 2021-10-27 22:24:08 · 436 阅读 · 0 评论 -
mmdetection环境配置与训练自己的VOC数据集
mmdetection环境安装requirementsLinux或者macOSPython 3.6+PyTorch 1.3+CUDA 9.2+ (If you build PyTorch from source, CUDA 9.0 is also compatible)GCC 5+MMCV建议最好用Linux系统,Windows环境下坑特别多,不建议使用,填坑环节过于繁琐且费事。安装必要的环境和库官方安装教程:https://mmdetection.readthedocs.io/en原创 2021-06-27 17:36:12 · 1189 阅读 · 0 评论 -
通过Backprop计算CNN的感受野
翻译自https://learnopencv.com/cnn-receptive-field-computation-using-backprop/Introduction在上一篇文章中,我们学习了如何对任意大小的图像进行分类,并可视化网络的响应图。图1:“camel”类激活的边界框。改图来自我们之前的文章,标题是完全卷积图像分类。在图1中,请注意骆驼的头部几乎没有高亮显示,而响应图包含大量的沙子纹理。边界框也明显关闭。有点不对劲。我们使用的ResNet18网络非常精确,事实上它能正确地对图像翻译 2021-06-18 21:35:50 · 448 阅读 · 0 评论 -
深度学习中常见的LOSS函数及代码实现
Introduction训练深度学习模型地目的只有一个,尽可能地学习到训练数据的分布。像往常地考试一样,考试成绩会有一个分数作为评判标准,评价你对于知识点地掌握情况,以便后续针对性地去学习。深度学习也一样,需要一个数值对训练的效果进行评价。在有监督学习中,这个数值也就是评价标准被称作loss值,即损失值。对于给定的输入xxx,对应标签值为yyy。定义深度学习模型的映射为f(x;θ)f(x;\theta)f(x;θ)。输出的预测值为y^\hat{y}y^,损失函数LossLossLoss是用来计算便签值原创 2021-06-18 11:33:13 · 3849 阅读 · 5 评论 -
深度理解感受野(一)什么是感受野?
IntroductionCNN用分布式的代码去表示目标经典目标检测和最新目标跟踪都用到了RPN(region proposal network),锚框(anchor)是RPN的基础,感受野(receptive field, RF)是anchor的基础。本文介绍感受野及其计算方法,和有效感受野概念什么是感受野?感受野与视觉感受野(receptive field)这一概念来自于生物神经科学,是指感觉系统中的任一神经元,其所受到的感受器神经元的支配范围。感受器神经元就是指接收感觉信号的最初级神经元视原创 2021-05-27 22:00:43 · 35396 阅读 · 3 评论 -
实战:使用Faster R-CNN完成肺结节检测(LUNA16)(1)/LUNA16数据集初探
LUNA16LUNA16,全称Lung Nodule Analysis 16。该数据集来自另一个更大的数据集LIDC-IDRI,旨在推动更多计算机视觉领域的SOTA算法用于CAD领域。比赛共分为两个部分结节区域检测:确定每个疑似结节的区域,并给他们一个概率值假阳性减少:对提取出的区域进行分类,类别为是或者不是一个真实结节LUNA16数据集数据集的由来LUNA16由LIDC-IDRI数据集筛选而来,LIDC-IDRI它包括1018个低剂量的肺部CT影像。LUNA16排除了其中切片厚度大于2.原创 2021-05-18 21:11:29 · 6175 阅读 · 2 评论 -
PIL读取图片转numpy格式并用matplolib显示
导入库import osimport nunpy as npfrom PIL import Imagefrom matplotlib import pyplot as pltos.listdir()----------------------------OUT---------------------------['1.png']用PIL读取图片im = Image.open('1.png')----------------------------OUT---------------原创 2021-05-17 23:00:56 · 1069 阅读 · 2 评论 -
Python实现K-means聚类算法并可视化生成动图
K-means算法介绍简单来说,K-means算法是一种无监督算法,不需要事先对数据集打上标签,即ground-truth,也可以对数据集进行分类,并且可以指定类别数目牧师-村民模型K-means 有一个著名的解释:牧师—村民模型:有四个牧师去郊区布道,一开始牧师们随意选了几个布道点,并且把这几个布道点的情况公告给了郊区所有的村民,于是每个村民到离自己家最近的布道点去听课。听课之后,大家觉得距离太远了,于是每个牧师统计了一下自己的课上所有的村民的地址,搬到了所有地址的中心地带,并且在海报上更原创 2021-05-07 19:21:48 · 7221 阅读 · 4 评论 -
用Pandas记录10次5折交叉验证的结果并求平均值写入csv文件中
Introduction最近在训练一个病灶区域的分类模型,代码用的是MedMNIST。先是把MRI图像中的病灶区域抠出来保存成图片,然后resize到28*28的大小,再制作成.npz格式的数据集送入模型中进行训练并分类。按照5-folds-cross-validation 的方法,把数据集分成了5个部分,因为.npz格式的特殊性,label和image必须在ndarray中的索引值一一对应上,所以在选取val-sets时只得按照步长来选取图片作为验证集,每隔10step选取一张图片。从最终实验结果来原创 2021-05-06 17:19:17 · 1795 阅读 · 4 评论 -
使用NumPy和PyTorch实现反卷积/转置卷积操作
前言转置卷积又被称为反卷积和逆卷积,但是转置卷积才是最正规和主流的叫法,在主流的深度学习框架中,转置卷积的函数名都是conv_transpose因为转置卷积的运算过程很容易让人误解,举一个例子,一个4*4的输入经过3*3的卷积核(stride=1,padding=0)输出为2*2,而转置卷积将这个输出当作输入,即一个2*2的输入经过3*3的转置卷积核输出为4*4,看起来很像是卷积的逆操作,但事实并不是一个逆过程的概念转置卷积用公式可以更好的说明转置卷积与逆卷积的不同卷积运算可以这么表示:y=Cx原创 2021-04-22 17:06:44 · 857 阅读 · 0 评论 -
用Numpy实现卷积和反卷积操作
import numpy as npbatch_size = 1stride = 1padding = "VALID"input_channel = 1input_size = 5output_channel = 1filter_size = 3output_size = 3input_np = np.reshape(np.arange(input_size*input_size, dtype="float32"),newshape=[input_size,input_size])pr原创 2021-04-22 10:29:25 · 664 阅读 · 0 评论 -
如何寻找数据集?
如何寻找数据集?除了医疗领域之外,其他领域的数据集有时也很难获取,这就需要我们掌握一些常见的数据集搜集方法和常用资源。最近,Medium 上的一位博主介绍了多个常用的数据集获取来源:1 Awesome Data这是一个 GitHub 存储库,包含多个不同类别的数据集。链接:https://github.com/awesomedata/awesome-public-datasets2 Data Is Plural这是一个以电子表格形式展示的数据集资源,从 2015 年开始定期更新,最新一期是 20原创 2021-04-21 09:10:27 · 9461 阅读 · 0 评论 -
Microsoft Office 全家桶下载地址
VisioProhttps://officecdn.microsoft.com/pr/492350f6-3a01-4f97-b9c0-c7c6ddf67d60/media/zh-CN/VisioPro2019Retail.img专业增强版(强烈推荐):http://officecdn.microsoft.com/pr/492350f6-3a01-4f97-b9c0-c7c6ddf67d60/media/zh-cn/ProPlus2019Retail.img专业版:http://officecdn.原创 2021-03-31 18:35:53 · 7185 阅读 · 0 评论 -
VGG16
VGG简介VGG是由Simonyan 和Zisserman在文献《Very Deep Convolutional Networks for Large Scale Image Recognition》中提出卷积神经网络模型,其名称来源于作者所在的牛津大学视觉几何组(Visual Geometry Group)的缩写。该模型参加2014年的 ImageNet图像分类与定位挑战赛,取得了优异成绩:在分类任务上排名第二,在定位任务上排名第一。结构用PyTorch实现VGG-16...原创 2021-03-16 18:49:01 · 518 阅读 · 0 评论 -
用PyTorch训练CIFAR-10数据集训练集精度达100%/AlexNet
文章目录0 CIFAR-10数据集简介1 下载CIFAR-10数据集1.1 查看数据集的组成2 装载数据集并可视化0 CIFAR-10数据集简介官网链接:The CIFAR-10 datasetCIFAR-10和ClFAR-100是8000万个微型图像数据集的被标注过后的子集。它们由Alex Krizhevsky,Vinod Nair和Geoffrey Hinton收集。CIFAR-10数据集包含10个类别的60000个32x32彩色图像,每个类别有6000张图像。有50000张训练图像和1000原创 2021-03-15 15:45:59 · 11934 阅读 · 16 评论 -
mnist手写数字识别+dropout+weight_decay提升test精度到0.99
什么是dropout?2012年,Hinton等人在《 Improving neural networks by preventing co-adaptation of feature detectors 》论文中首次提出Dropout,并在随后的比赛中用到了Dropout算法,用于防止过拟合。Dropout可以看作在训练深度神经网络的一种trick,在训练过程中以一定的概率将神经网络单元暂时丢弃掉(一定要注意是暂时丢掉),也就是让一部份hidden layers中的节点权重为0,这样可以减少特征检测器原创 2021-02-26 00:59:00 · 1559 阅读 · 0 评论 -
PyTorch中设置学习率衰减的方法/torch.optim.lr_scheduler/learning_rate_decay
文章目录学习率衰减(Learning Rate Decay)为什么引入学习率衰减?学习率衰减方式手动设置学习率衰减调用PyTorch函数lr_scheduler.LambdaLRtorch.optim.lr_scheduler.StepLRtorch.optim.lr_scheduler.MultiStepLRtorch.optim.lr_scheduler.ExponentialLRtorch.optim.lr_scheduler.CosineAnnealingLR学习率衰减(Learning Rate原创 2021-02-23 00:16:45 · 3260 阅读 · 1 评论 -
PyTorch中的item()用法
torch.item()按照官方文档,可以理解为从只包含一个元素的tensor中提取值,注意是只含有one element,其他情况用tolist()在训练时统计loss的变化时,经常用到,否则会累积计算图,造成GPU的额外开销x = torch.tensor([1.0])x.item()# -------------------out----------------1.0...原创 2021-02-22 22:01:22 · 1404 阅读 · 0 评论 -
PyTorch中的torch.manual_seed()
为啥要设置随机数种子由于每次初始化时,参数都是默认进行随机初始化的。然而每次运行py文件时,随机变量就会发生了变化。为了保证每次产生固定的随机数,可以通过torch.manual_seed()函数每次生成相同的随机数,这样有利于实验的比较和改进torch.manual_seed(2) ...: x = torch.randn(2) ...: torch.manual_seed(2) ...: y = torch.randn(2)xOut[16]: tensor([ 0.3923,原创 2021-02-14 01:12:11 · 268 阅读 · 0 评论 -
PyTorch中tensor与numpy和PIL格式变量相互转换
文章目录tensor与numpy格式相互转换tensor转numpyNumPy Array 转化成 Torch Tensortensor与PIL格式相互转换PIL格式的图片转tensortensor转PIL格式tensor与numpy格式相互转换将一个Torch Tensor 转换为numpy数组是一件轻松的事,反之亦然Torch Tensor与numpy数组共享底层内存地址,修改一个会导致另外一个的变化tensor转numpy将一个Torch Tensor转换为NumPy数组In:原创 2021-02-14 01:08:41 · 273 阅读 · 1 评论 -
PyTorch实现MNIST手写数字识别/LeNet/tensorboard绘制loss曲线
0 MNIST是什么?MNIST数据集(Mixed National Institute of Standards and Technology database)是美国国家标准与技术研究院收集整理的大型手写数字数据库,包含60,000个示例的训练集以及10,000个示例的测试集MNIST可以算是深度学习中的Hello World了,几乎每个初学者都会先从MNIST数据集入手,来训练自己的第一个基于CNN的分类器1 环境搭建本文将使用PyTorch1.7来训练LeNet网络来对手写数字进行分类i原创 2021-02-08 23:51:38 · 4071 阅读 · 4 评论 -
用Anaconda+PyCharm搭建深度学习开发环境/PyCharm使用conda虚拟环境
PyCharm使用conda虚拟环境打开PyCharm新建Project,找到上方菜单栏,打开File->Settings找到Project->Python Interpreter->红色箭头所指的小齿轮,单击->Add…可以看到,PyCharm已经自动搜索到了刚才创建的Conda环境Tip:如果没有显示的话可以根据路手动添加,C:\Users\Administrator\anaconda3\envs (按照默认路径安装)配置成功后可以看到右下角发生了变化可以直接原创 2021-01-30 17:17:15 · 413 阅读 · 0 评论 -
用Anaconda+PyCharm搭建深度学习开发环境/安装软件
Anaconda是什么?Anaconda是一个基于Python的数据处理和科学计算平台,它已经内置了常用的250多个工具包,装上Anaconda,就相当于把Python和一些如Numpy、Pandas、Scrip、Matplotlib等常用的库自动安装好了,比常规的用pip install一个一个下节省很多时间,过程痛苦,且要考虑各个包之间的版本兼容性。因而推荐直接使用Anaconda进行python版本管理和Packages管理简单的说:方便Python版本管理和Packages安装下载方便创建原创 2021-01-30 16:48:21 · 337 阅读 · 0 评论 -
用Anaconda+PyCharm搭建深度学习开发环境/安装conda环境/conda pip下载换源
配置环境打开Anaconda可以看见,只有一个base环境使用Anaconda Powershell Prompt打开WIN10的开始菜单栏,找到Anaconda Powershell Prompt(如果在安装包的过程中出问题时,建议用这个进行操作)查看当前存在哪些环境conda env list更新conda版本conda update conda创建虚拟环境conda create -n your_env_name python=x.x # your_env_na原创 2021-01-30 16:17:35 · 789 阅读 · 2 评论 -
谷歌免费云服务器Colab使用入门
什么是Colab?Colaboratory 是一个 Google 研究项目,旨在帮助传播机器学习训练和研究成果是一个 Jupyter 笔记本环境,不需要进行任何设置就可以使用,并且完全在云端运行Colaboratory 笔记本存储在 Google 云端硬盘中,并且可以共享,就如同你使用 Google 文档或表格一样Colaboratory 可免费使用同时也可以运行 Keras、TensorFlow、PyTorch、OpenCV 等框架进行深度学习的开发与应用Colab是一个免费的远程服务器,而原创 2021-01-21 21:52:34 · 5300 阅读 · 1 评论