自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(44)
  • 收藏
  • 关注

原创 堆排序及代码实现

堆排序(Heapsort)是指利用堆这种数据结构所设计的一种排序算法。堆积是一个近似完全二叉树的结构,并同时满足堆积的性质:即子结点的键值或索引总是小于(或者大于)它的父节点。堆排序可以说是一种利用堆的概念来排序的选择排序。分为两种方法:大顶堆:每个节点的值都大于或等于其子节点的值,在堆排序算法中用于升序排列;小顶堆:每个节点的值都小于或等于其子节点的值,在堆排序算法中用于降序排列;堆排序的平均时间复杂度为 Ο(nlogn)。一般用数组来表示堆,下标为 i 的结点的父结点下标为(i-1)/2;其

2022-04-05 19:54:44 573

原创 归并排序及代码实现

归并排序是分治法的有效应用,算法步骤是:申请空间,使其大小为两个已经排序序列之和,该空间用来存放合并后的序列;设定两个指针,最初位置分别为两个已经排序序列的起始位置;比较两个指针所指向的元素,选择相对小的元素放入到合并空间,并移动指针到下一位置;重复步骤 3 直到某一指针达到序列尾;将另一序列剩下的所有元素直接复制到合并序列尾。下面这张图能更好的表达归并排序的步骤:归并排序是稳定排序,i指针设置在前面部分,j指针设置在后面部分,ij都是依次向后走,期间不会发生不稳定。Python实现

2022-04-05 19:22:56 293

原创 基数排序及代码实现

基数排序是一种非比较型整数排序算法,其原理是将整数按位数切割成不同的数字,然后按每个位数分别比较。由于整数也可以表达字符串(比如名字或日期)和特定格式的浮点数,所以基数排序也不是只能使用于整数。基数排序 vs 计数排序 vs 桶排序基数排序有两种方法:这三种排序算法都利用了桶的概念,但对桶的使用方法上有明显差异:基数排序:根据键值的每位数字来分配桶;计数排序:每个桶只存储单一键值;桶排序:每个桶存储一定范围的数值基数排序的实现可以采用一种从低到高的排序思想,先对数组中所有的个位数排序,个位

2022-03-31 23:03:29 438

原创 桶排序及代码实现

桶排序是一种用到了哈希表的排序方法。哈希表查找的方法是用取余做哈希函数,排序用取整做函数。桶排序是计数排序的升级版,计数排序的索引是这个数字出现的次数,而桶排序则更加灵活,索引可以由哈希函数任意设置你想要的样子,哈希函数的设计是决定桶排序是否高效的前提。它利用了函数的映射关系,高效与否的关键就在于这个映射函数的确定。为了使桶排序更加高效,我们需要做到这两点:在额外空间充足的情况下,尽量增大桶的数量使用的映射函数能够将输入的 N 个数据均匀的分配到 K 个桶中同时,对于桶中元素的排序,选择何种比较

2022-03-31 22:20:31 883

原创 计数排序及代码实现

计数排序的核心在于将输入的数据值转化为键存储在额外开辟的数组空间中。作为一种线性时间复杂度的排序,计数排序要求输入的数据必须是有确定范围的整数。当输入的元素是 n 个 0 到 k 之间的整数时,它的运行时间是 Θ(n + k)。计数排序不是比较排序,排序的速度快于任何比较排序算法。由于用来计数的数组C的长度取决于待排序数组中数据的范围(等于待排序数组的最大值与最小值的差加上1),这使得计数排序对于数据范围很大的数组,需要大量时间和内存。例如:计数排序是用来排序0到100之间的数字的最好的算法,但是它不适

2022-03-29 14:29:52 255

原创 希尔排序及代码实现

希尔排序(Shell Sort)是插入排序的一种算法,是对直接插入排序的一个优化,也称缩小增量排序。希尔排序是非稳定排序算法。希尔排序是基于直接插入排序的以下两点性质而提出的改进方法:1.插入排序在对几乎已经排好序的数据操作时,效率高,即可以达到线性排序的效率。2.插入排序一般来说是低效的,因为插入排序每次只能将数据移动一位。思想:希尔排序是将待排序的数组元素 按下标的一定增量分组 ,分成多个子序列,然后对各个子序列进行直接插入排序算法排序;然后依次缩减增量再进行排序,直到增量为1时,进行最后一次直

2022-03-29 14:23:25 1394

原创 冒泡排序及代码实现

冒泡排序(Bubble Sort)也是一种简单直观的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越小的元素会经由交换慢慢"浮"到数列的顶端。比较相邻的元素。如果第一个比第二个大,就交换他们两个。对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。这步做完后,最后的元素会是最大的数。针对所有的元素重复以上的步骤,除了最后一个。持续每次对越来越少的元素重复上

2022-03-27 12:54:14 247

原创 插入排序及代码实现

插入排序是最简单最直接,最符合人类思维的排序方式。和打扑克一样,将未排序的数值插入到已排序的数列中。将待排序序列第一个元素看做一个有序序列,把第二个元素到最后一个元素当成是未排序序列。从头到尾依次扫描未排序序列,将扫描到的每个元素插入有序序列的适当位置。如果待插入的元素与有序序列中的某个元素相等,则将待插入元素插入到相等元素的后面。数组:[8,20,9,1,34,27,1,10]插入排序如下:先将0号元素8看做一个有序数列,即已经排好过的,从20开始,依次将后面的数插入。pre代表已经排好的最后元素,

2022-03-27 12:37:25 2750

原创 快速排序及代码实现

快速排序的思想是分治法,即分而治之。快排算法的思想非常简单,在待排序的数列中,我们首先要找一个数字作为基准数。为了方便,我们一般选择第 1 个数字作为基准数。接下来我们需要把这个待排序的数列中小于基准数的元素移动到待排序的数列的左边,把大于基准数的元素移动到待排序的数列的右边。这时,左右两个分区的元素就相对有序了;接着把两个分区的元素分别按照上面两种方法继续对每个分区找出基准数,然后移动,直到各个分区只有一个数时为止。快速排序的操作是这样的:首先从数列的右边开始往左边找,我们设这个下标为 j,也就是进行

2022-03-26 20:14:00 2604

原创 选择排序及代码实现

直接选择排序是一种简单直观的排序算法,无论什么数据进去都是 O(n²) 的时间复杂度。朴素的想法是,如果我们用一个新数组存放排序后的结果,那么我们只需要寻找数组中最小的数,然后将这个数在原数组中弹出,并放入新数组中,这样好像更符合实际逻辑。但是实际上完全不必这样做,在直接选择排序中,是不占用额外的内存空间的,也就是说,数据的交换是在原数组上进行的。从数组的第0个元素开始,假定它就是当前最小的数,然后将它与它后面的数依次比较,如果有比它更小的,就记录下那个数字的索引,这样遍历过之后,我们就得到了最小数的索

2022-03-26 17:35:14 1926

原创 vscode配置livecode for python

livecode for python这个扩展很好用,可以实时查看python变量,加强了vscode的debug和可视化能力,但是注意它必须要python3.5以上的环境。最开始一直配置不成功,是因为python path不对,这个地址在哪里更改呢?打开设置搜索python,会出现一系列的配置有一个settings.json,然后把几个python路径都更改了。...

2022-03-13 14:12:16 3808 1

原创 机器视觉:空间几何变换与摄像机模型

系列文章目录:机器视觉:霍夫变换-理论与python实现机器视觉:空间几何变换与摄像机模型本文目录1 空间几何变换摄影变换:仿射变换比例变换欧式变换2 几何变换的不变量简比与交比不变量射影变换不变性仿射变换不变性比例变换不变性欧式变换不变性3 欧式空间的刚体变换旋转矩阵的表示4 摄像机透视投影模型三大坐标系图像坐标系摄像机坐标系世界坐标系针孔成像模型非线性模型5 摄像机透视投影模型近似模型仿射摄像机1 空间几何变换这部分是个总结,适合看完下面4个变换后再回来看。欧式变换是比例变换的特例,比例变换

2021-11-01 13:43:08 407 1

原创 机器视觉:霍夫变换-理论与python实现

目录前言霍夫变换—直线原理实现方法python实现前言这学期在学习机器视觉,课上讲到了霍夫变换,霍夫变换在图像处理和CV中很常用,借此十一假期仔细了解一下。霍夫变换用来检测给定形状的曲线,其最开始是用来检测图像中的直线的,但经发展也可检测到圆等曲线。在目标检测中,如果不知图像中目标的位置而知道其轮廓的曲线方程,则可用霍夫变换进行检测。霍夫变换—直线原理在平面O-xy中,直线方程的基本形式为:y=ux+v。其中,u和v分别是直线的斜率和截距。对于一条确定的直线y=ux+v,它唯一地对应于平面O-uv

2021-10-31 15:09:39 3627 3

原创 yolov5代码解读-训练

上两篇:yolov5代码解读-datasetyolov5代码解读-网络架构前言:目录前言:参数解读超参数hyp文件命令行参数训练流程训练前训练yolov5的数据处理模块和网络架构已经写完了,做好了这些基础工作,就可以来训练了。yolov5支持多种训练策略,例如单机单卡,单机多卡,多机多卡。参数解读超参数hyp文件在训练之前,先看一下有哪些超参数。在yolov5工程里面有一个 data文件夹,里面有一个hyp.scratch.yaml文件,可以用写字板或者记事本打开。上面这些参数默认就好,

2021-10-04 19:44:07 8087 2

原创 随机种子np.random.seed()

之前看到有个博主在讲随机种子的时候,举了这样一个例子,https://www.cnblogs.com/sddai/p/14606613.htmlnp.random.seed(0)a = np.random.rand(10)b = np.random.rand(10)print(a)print(b)输出结果[0.5488135 0.71518937 0.60276338 0.54488318 0.4236548 0.645894110.43758721 0.891773 0.96

2021-10-03 17:27:30 284

原创 yolov5代码解读-网络架构

目录前言网络架构可视化可视化工具(1)netron(2)onnx配置文件解读网络层网络架构代码yolo.pymodelparse_modelcommon.pyConvfocusBottleneckCSPSPPUpsample前言之前解读了yolov5的数据处理模块:yolov5代码解读-dataset数据处理好之后,就来具体看看网络模型是怎么搭建的吧。网络架构可视化可视化工具网络架构可视化工具netron的安装参考:(1)netron可以看我之前写的netron安装和使用文章。也可以直接下

2021-10-03 12:48:21 6466 4

原创 图像插值:理论与Python实现

这里写目录标题前言最近邻插值法(1)理论(2)python实现双线性插值(1)单线性插值(2)双线性插值(3)计算过程(4)python实现双三次插值(1)理论(2)python实现前言参考这篇论文:《Deep Learning for Image Super-resolution:A Survey》1 插值法简单来说,插值指利用已知的点来“猜”未知的点,图像领域插值常用在修改图像尺寸的过程,由旧的图像矩阵中的点计算新图像矩阵中的点并插入,不同的计算过程就是不同的插值算法。插值算法有很多种,这里列

2021-10-02 23:50:07 3099 5

原创 yolov5代码解读-dataset

yolov5在数据处理这方面已经做的较为完善了,但是我现在遇到一个问题,就是我明明的是4通道的tiff数据,它用cv2.imread一下就给我读成3通道了。如果只是有个加载数据,我当然可以直接加个标志位解决,但是读取数据不止一个地方,后面还有画图等等操作,每个地方都要考虑,去看看它实际是怎么写的,读懂它,再修改它。这里写目录标题加载数据设置标签缓存训练时实际加载数据 __getitem__马赛克增强第一部分:坐标计算第二部分:更新标签。第三部分:图像增强。图像增强第一部分:构建随机仿射矩阵并变换。第二部分

2021-10-01 18:03:40 3173 10

原创 图像的仿射变换:cv2.warpAffine()

概述图像的几何变换主要包括:平移、旋转、缩放、剪切、仿射、透视等。图像的几何变换主要分为:刚性变换、相似变换、仿射变换和透视变换(投影变换)刚性变换:平移+旋转相似变换:缩放+剪切仿射变换:从一个二维坐标系变换到另一个二维坐标系,属于线性变换。通过已知3对坐标点可以求得变换矩阵透视变换是从一个二维坐标系变换到一个三维坐标系,属于非线性变换。通过已知4对坐标点可以求得变换矩阵。仿射变换仿射变换(Affine Transformation)是指在向量空间中进行一次线性变换(乘以一个矩阵)和

2021-10-01 14:03:45 10730 5

原创 YOLO系列

前言本文是博主整理的学习笔记,不是yolo讲解文章,适合有一定yolo基础的同学复盘学习。长文预告,多图预告。yolo主要关注两个检测指标:mAP和速度。mAP:综合衡量检测效果,包括精度和recall(召回率)等,是精度和recall的交点与原点形成的矩形的面积。召回率:有多少框被检测到了(查全率)精度:iou(查准率)精度和召回率互相矛盾,一个高,另一个就低。所以就直接用mAP一个指标了。其实就是iou的阈值设置的原因。yolo的口号:速度第一,mAP第二。整个yolo系列,在预

2021-09-09 20:37:46 286

原创 语义分割处理tiff数据,实现landsat8影像检测(一)

做了一个小实验,对矿山进行检测,属于语义分割的任务,是一个二分类。所用数据是landsat8,tif格式影像。环境是tensorflow2.4。另外,本次训练,不论是训练集还是测试集,准确率都高的离谱。训练集98以上,测试集直接100…不太清楚导致它如此高的原因是什么。因为要修改,特在此将原版记录一下。这一版主要是没有放弃波段8的信息,因为在landsat8中,波段8的分辨率是高于其他波段的,这造成维度不同,因此处理起来也较为麻烦,需要对它重采样以及特殊维度处理。新版计划直接放弃波段8了。所用代码与前

2021-06-03 18:49:44 2350 2

原创 keras搭建unet模型—语义分割

在前一篇文章基于keras的全卷积网络FCN—语义分割中,博主用keras搭建了fcn模型,使用猫狗数据集做了训练。本文在此基础上搭建了unet模型,数据介绍请看上面这篇文章,本文直接展示unet的模型。本文的环境是tensorflow2.4,gpu版本。unet:unet是u型结构,前面的层不断下采样,后面的层在不断上采样,同stage的跳接以保存信息。unet的层数不是很深,在医学领域上用于细胞检测效果显著。搭建unetdef unet(pretrained_weights=None, in

2021-05-30 17:00:38 3584 6

原创 基于keras的全卷积网络FCN—语义分割

语义分割:先码下有时间再写全卷积网络FCN:先码下有时间再写基于猫狗数据的代码实现:数据准备:本文用的是猫狗数据集,images里面存放的是对应的图片(3通道),annotation存放的是语义分割的标签(1通道)。数据的读取、转换和打乱操作:def read_jpg(path): img=tf.io.read_file(path) img=tf.image.decode_jpeg(img,channels=3) return imgdef read_png

2021-05-29 20:46:53 1732 7

原创 python影像裁剪并保存成tiff格式(滑动窗口法)

博主在上一篇文章python影像裁剪并保存成tiff格式(规则网格法)中介绍了将遥感影像按照网格切分,本章介绍滑动窗口的切分方法。介绍滑动窗口和规则网格的区别如下规则网格:滑动窗口:此外,还有一种随机裁剪的方法读取tiff文件数据,整理成我们需要的数组格式,将数组保存成tiff文件,和波段的叠加,mask矩阵的构建等等请参考博主之前的文章python影像裁剪并保存成tiff格式(规则网格法),内容不再重复,我们直接基于上篇文章开始修改,将规则网格升级为滑动窗口。当滑动窗口的重叠率为0时,就

2021-05-22 19:57:21 4652 18

原创 python影像裁剪并保存成tiff格式(规则网格法)

上一篇文章简单介绍了波段的叠加,本文对叠加的波段进行影像裁剪,输出是channels×256×256的tiff格式。本文构建了相应的mask矩阵加在了channel的最后一个通道。数据准备波段的读取可以参考python批量读取landsat8的波段,具体的函数整理数据的函数在这篇文章都介绍的很详细,这里不再重复,我们直接用它的返回列表。波段叠加的具体方式参考python矩阵堆叠-实现遥感影像波段叠加,这些都是博主刚刚更新过的内容,这里直接拿来用。from read_landsat8 import r

2021-05-22 18:19:42 2954 4

原创 python矩阵堆叠-实现遥感影像波段叠加

前文读取landsat8数据,计算NDVI并保存成tiff文件和python批量读取landsat8的波段分别介绍了对landsat8数据的不同读取方式,以及对利用波段数据进行简单的指数计算。本文在此基础上实现波段的叠加。准备工作这一部分参考python批量读取landsat8的波段,利用文中的函数,我们对landsat8的波段路径进行了一个整理,存放到了bands列表中并返回。看一下格式:第一张影像的前5个波段from read_landsat8 import read_landsat8_band

2021-05-22 14:13:17 1478 1

原创 用ltp提取文本关系并创建知识图谱(基于neo4j)(二)

博主在上一篇用ltp提取文本关系并创建知识图谱(基于neo4j)文章中用LTP对单句话做了分析,提取了语义依存关系,并用python在neo4j网站上创建了图谱。本章是对上篇文章的扩展,总体代码类似,本文可以实现对多个句子创建知识图谱,这次创建的不是语义依存关系,而是句法关系(主谓关系,动宾关系等)。可以参考ltp的官方文档和ltp附录阅读文本。使用ltp提取文本关系:本文只是简单演示,分析的句子是:他叫汤姆去拿外衣.汤姆生病了。他去了医院。你也可以随意替换它。from ltp import LT

2021-05-20 13:31:22 4017 14

原创 用ltp提取文本关系并创建知识图谱(基于neo4j)

LTP提供了一系列中文自然语言处理工具,用户可以使用这些工具对于中文文本进行分词、词性标注、句法分析等等工作。ltp的官方文档里演示了分词,句法分析,语义依存关系提取等简单demo。本文在此基础上,将提取出的语义依存关系构建出知识图谱,使用的是neo4j平台。同时本文也会演示怎么使用python在neo4j上创建图谱。neo4j的安装比较简单,请自行查阅。用ltp创建知识图谱至少需要3个信息:节点类型节点名字节点间的关系使用ltp提取文本关系:本文只是简单演示,分析的句子是:他叫汤姆去拿外

2021-05-19 13:06:58 3675 11

原创 win10+keras+tensorboard的使用

在训练模型时,不可避免地要对训练结果做一些评估。tensorboard可以对训练过程中的一些指标进行可视化,tensorboard在tensorflow、keras和pytorch等框架下都可以使用。而网上多是关于tensorboard在linux系统下的使用,给win10使用者造成不便。其实,不同用户对应的版本不同,使用的框架不同,最简单的方法就是参考tensorboard官网官网的实例也是linux系统,不过对于keras来说,win10也是相同的用法,只是路径格式不太相同。因为构建模型很简单,不

2021-05-18 15:01:54 260

原创 python批量读取landsat8的波段

在之前的文章读取landsat8数据,计算NDVI并保存成tiff文件中,博主介绍了怎么读取landsat8中B4,B5波段的信息,并计算NDVI指数。本文将对landsat8的读取函数做进一步扩展,使其能保存所有波段的路径。以便根据路径直接批量读取相应的波段文件。本函数的功能是给出一个包含多个landsat8影像文件夹的路径,返回一个列表,这个列表里面包含了所有影像的所有波段的信息。返回列表维度为:影像的数量 * 波段的数量。函数:"""存储文件的列表维度为:img*11,既每个影像的波段文件都存放

2021-05-15 00:05:43 2354 1

原创 读取landsat8数据,计算NDVI并保存成tiff文件

本文先实现批量读取一个文件夹下不同影响的landsat8数据。在此基础上实现ndvi指数计算。最后在main函数中实现批量保存生成的ndvi的tiff文件。代码及文字皆为原创。文章目录一、介绍二、读b4,b5波段三、计算NDVI四、运行,保存tiff文件一、介绍NDVI是归一化植被指数,可以作为入门遥感的简单指数学习。同时也是在实际应用中用的非常多的一个指数。NDVI的计算公式为:nir其中,NIR是近红外波段,Red是红光波段,NDVI就是两个波段反射率的差值 / 两个波段反射率的加和。

2021-05-14 15:59:22 7120 9

原创 遥感图像处理——非监督分类

上一篇:遥感图像处理——数据拉伸、主成分分析、裁剪要点:K-Means算法,IsoData算法,IsoData聚类,IsoData聚类非监督分类,最大似然法分类,主成分分析下的聚类。本文所用数据为landsat8,福州平潭,2013。文章目录1、K-Means算法2、IsoData算法3、Iso聚类4、最大似然法分类5、Iso聚类非监督分类聚类操作查看属性表计算面积6、主成分分析下的聚类遥感中的非监督分类指人们事先对分类过程没有任何的先验知识,根据遥感影像地物的光谱特征的分布规律,对其特征值进行分

2021-03-25 16:19:04 6186

原创 遥感图像处理——数据拉伸、主成分分析、裁剪

要点:直方图、乘除拉伸,主成分分析,两种裁剪要对遥感影像数据进行分类,那我们首先要对其进行分析。本文所用数据为landsat8,福州平潭,2013。首先对于分类我们有假设前提:波段数据和训练样本数据符合正态分布。如何查看是否符合正太分布。分类过程对各波段中的值范围很敏感。要使各波段的属性数大致相同,各波段的值范围应类似文章目录1、直方图和数据拉伸2、主成分分析3、裁剪方法一:栅格裁剪方法二:按掩膜提取1、直方图和数据拉伸首先对于分类我们有假设前提:波段数据和训练样本数据符合正态分布。如何查看

2021-03-24 14:40:12 3480 2

转载 理解编程中的API

阅读编程资料时经常会看到API这个名词,网上各种高大上的解释估计放倒了一批初学者。初学者看到下面这一段话可能就有点头痛了。API(Application Programming Interface,应用程序编程接口)是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节。——百度百科这篇文章我们就来通俗易懂地解释下什么叫做 API。从文件操作开始谈API。以C语言为例,我们使用fopen()函数可以打开一个文件,感觉

2021-03-23 22:08:09 547

原创 可视化理解深度神经网络

#andrew ng课程学习笔记深度神经网络究竟在做什么?(1)浅层的网络对线条和颜色等比较敏感,容易被一些特定区域激活。(2)在深层中,会看到一个图片更大的部分。在极端情况下,可以假设每一个像素都会影响到神经网络更深层的输出,背后的掩藏单元可以看到更大的隐藏块。在第二层中,标出的两个红框代表了最大化激活隐藏单元的两个图片块。这个可视化展示了最大化激活第二层的9个图片块。每个块又有9个图片块,使得隐藏单元有较大的输出,或者说较大的激活。(3)在更深的层上,可以重复这个过程。在第一层上,似乎

2021-03-09 13:36:08 207 1

原创 github下载代码

github上面有非常多的开源代码,非常适合大家站在巨人的肩膀上学习和实践,也是合作开发的利器。在从giuhub下载代码前,默认读者已经拥有了属于自己的github账号。本文介绍的是用HTTP的方式克隆源码,压缩包方式因不常用,暂且不提。在下载前,我们要先配置好系统环境,已安装好python,pip和Git。如何用下载和安装Git,博主有时间再更新。一、首先,我们以深度学习中的ResNets的开源代码为例在浏览器输入所需代码关键字,这里我们选择何凯明论文中的代码点进去后可以看到关于源码的各种

2021-03-07 21:02:41 8857 4

原创 “上采样”与“反卷积”

在阅读YOLO模型和DenseNet网络模型的时候,对“上采样”和“反卷积”的概念不甚理解,查阅了一些资料,整理如下。并附上pytorch实现上采样的源码。在阅读本文前,默认读者已经了解了深度学习中的卷积操作。声明:本文用到的部分资料来自简书作者@乔大叶_803e和知乎作者@幽并游侠儿_1425文章目录上采样(Upsample)反卷积(Transposed Convolution)pytorch实现上采样上采样(Upsample)在介绍上采样前,还有一个概念叫做下采样。下采样简单来讲,就是在卷

2021-02-21 21:36:11 6727 1

原创 torch.max()用法

函数:torch.max(input, dim, keepdim=False, out=None)返回值:Tensor, LongTensor作用:输入tensor,按维度返回其最大值,并返回其最大维度的索引。创建2个张量a和ba = torch.tensor([[10, 5, 1], [2, 4, 3]])b = torch.tensor([[6, 8, 9], [1, 4, 2]])print(a)print(b)tensor([[10, 5, 1], [ 2,

2021-02-19 20:08:28 600

原创 理解深度学习中的“卷积神经网络”(二)

上一篇:理解深度学习中的“卷积神经网络”(一)在上一篇文章中,博主详细介绍了卷积基础,包括二维卷积、三维卷积、卷积核的特点,以及使用卷积网络的原因。在这一篇,我们将更加深入地理解卷积,包括卷积中常见的padding、步长和池化操作。声明:本文用到的部分材料来自吴恩达老师的《深度学习》和51CTO小超老师的 “YOLOV4代码复现-—行人车辆检测”课程。文章目录padding步长(stride)池化(pooling)padding下图是上一篇文章介绍三维卷积的用图。如果是6×6的输入图像,经过

2021-02-18 21:31:17 853

原创 理解深度学习中的“卷积神经网络”(一)

文章目录卷积介绍二维卷积操作三维卷积操作卷积核:人工卷积核的特点卷积核与全连接层的关系(为什么要使用卷积核?)博主最近在学习YOLO系列算法,本文是博主学习后的笔记,详细介绍了卷积,希望能帮助到入门深度学习和卷积网络的童鞋。声明:本文用到的部分材料来自吴恩达老师的《深度学习》和51CTO小超老师的 “YOLOV4代码复现-—行人车辆检测”课程。卷积介绍二维卷积操作假设:这里我们假设3种网格,对应3个矩阵。假设我们有一张7×7的输入图片,在计算机中,就是一个7×7的矩阵,记为A。同时,假设我们人

2021-02-17 21:34:03 2739 13

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除