自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(42)
  • 资源 (1)
  • 收藏
  • 关注

原创 SE-ResUNet论文解读

《Deep Learning Prediction of Incoming Rainfalls:An Operational Service for the City of Beijing China》论文解读这是一篇通过扩展FCN结构来预测降水的文章。文章提出的服务主要运用于北京区域。它能对未来两小时内的降水进行预测,时间和空间分辨率分别为1km和6分钟。该神经网络模型结合了已知的U-Net,ResNet,Sqeeze-and-Excitation和注意力机制模块。这种方法得到的结果要好于传统方法,且

2021-01-14 16:59:06 6509 4

原创 《Visual C++编程之道》笔记

看了《Visual C++ 编程之道》,对书中的一些知识点做一个记录。1、初始化静态成员的陷阱在成员变量的类型或者方法返回值类型的前面加上关键字static,就能将该成员定义为静态成员,静态成员属于类而不属于实例。在一个应用程序中,无论创造了一个类的多少个实例,该类的静态字段都只会被初始化一次。2、注意复合赋值在复合赋值时,例如将short和int类型的数值相加,要注意是否会发生溢出。3、switch语句记得加上break在使用switch语句时,如果在case语句块结束后,没有使用break语

2020-11-27 10:22:08 277

原创 C++输入输出流

ofstream是从内存到硬盘,ifstream是从硬盘到内存。C++中通过类fstream来实现在fstream类中,有一个成员函数open(),就是用来打开文件的,其原型是void open(const char* filename,int mode,int access);其中filename表示要打开的文件名,mode表示要打开文件的方式,access表示打开文件的属性。打开方式有以下几种:描述ios::app以追加的方式打开文件ios::ate文件打开后定位到文

2020-11-19 10:17:43 244

原创 Python封装模型

在做深度学习项目的时候遇到一个问题,Boss不想把模型的代码的给甲方,让我直接提供模型或是将源码封装好。Tensorflow中好像有对应功能,但是在Pytorch中我知道的官方指定的保存模型只有两种办法:(1)保存模型参数这要求在使用时需要重建一个模型(2)保存模型需要提供类的定义这两种都达不到Boss的要求,查阅了知乎,有人说使用torchscript,尝试了一下,没有成功(可能因为太菜了)。后来尝试着使用pyc文件进行调用模型,可以做到不提供py文件。具体流程如下:(1)将所有__pyca

2020-10-11 10:02:28 1882 1

原创 《SmaAt-UNet Precipitation Nowcasting using a Small Attention-UNet Architecture》论文解读

《SmaAt-UNet: Precipitation Nowcasting using a Small Attention-UNet Architecture Kevin》论文解读​ 这是一篇通过卷积神经网络预测降水的文章。一直以来,专家们通过数值天气预报(NWP)的方式预测降水,但这种方法很难利用过去的时刻信息,且需要大量的数学计算和时间需求。因此,作者提出了一种数据驱动的神经网络用于降水预报。过去在深度学习方面,预测降水之前更多用的是RNN模型,如ConvLSTM,TrajGRU等模型,这些模型

2020-08-01 11:19:55 2631

原创 Python基础笔记

1、fn是函数对象,fn()是调用函数。2、如果形参执行的是一个对象(如a),当我们通过形参去修改对象时,会影响到所有指向该对象的变量。解决方法:a.copy()或a[:]3、在定义函数时,可以在形参前边加上一个*,这样这个形参将会获得到所有的实参,它将会将所有的实参保存到一个元组中,如a,b,*c = (1,2,3,4,5,6),则a=1,b=2,c=(3,4,5,6),如果*在中间,则需要使用关键字参数的形式传递。​ 如果在形参的开头直接写一个*,则要求我们的所有的参数必须以关键字参数的

2020-07-16 17:25:25 436

转载 easydict库的用法以及改进型Easydict

(1)、在python中使用字典可以很方便的查看属性,但是字典遍历的方法不是那么方便,因此python提供了快速遍历字典的方法。dict1 = {'num1':1,'num2':2}print(dict1['num1'])#以上为普通的字典的遍历方法,这种遍历在应用的时候不是很方便,查找属性必须按照列表的方法进行查找from easydict import EasyDict as edictdict1 = {'num1':1,'num2':2}dict2 = edict(dict1)#dic

2020-05-14 16:12:53 1677

转载 __init__()与__getitem__()及__len__()

__init __()用于类的初始化,几乎在任何框架定义类时都避免不了使用它,因为它负责创建类的实例属性并进行赋值等重要操作,尽管在新建对象时并不需要“显式”调用这个函数。(不使用pytorch框架可以忽略:此外,在pytorch中,如果需要自定义Dataset,就需要实现__getitem__()和__len__()方法。自己当初比较疑惑为什么这两个方法不需要“显式调用”?另外,pytorch...

2020-03-15 15:51:37 942

原创 UNet网络结构

UNet是医学图像处理方面著名的图像分割网络,过程是这样的:输入是一幅图,输出是目标的分割结果。继续简化就是,一幅图,编码,或者说降采样,然后解码,也就是升采样,然后输出一个分割结果。根据结果和真实分割的差异,反向传播来训练这个分割网络。其网络结构如下:可以看出,该网络结构主要分为三部分:下采样,上采样以及跳跃连接。首先将该网络分为左右部分来分析,左边是压缩的过程,即Encoder。通过卷积和...

2020-03-01 12:35:24 26677

转载 数字图像中的亮度、对比度和饱和度

亮度是指图片的明暗程度,对比度是指图片明暗的差异,饱和度则是图片颜色的饱满程度。图片文件一般是RGB格式,当然也有的是YCBR格式。前者主要用于显示,后者则主要用于印刷。当然世上没有绝对的事情,也有人喜欢在电脑或手机上看YCBR格式的,至于印刷嘛,如果用RGB格式则可能会偏色。RGB是三种颜色的缩写,其中R是指红色(Red)、G是指绿色(Green),B是指蓝色(Blue)。现代的时候颜色理论...

2020-02-26 20:24:40 4946

原创 一些常见的CNN模型

最近闲着无聊在家学习一些基本的CNN模型,这里做一个简要的总结,供自己学习使用。一、VGG​ VGG模型是2014年ILSVRC竞赛的第二名,第一名是GoogLeNet。但是VGG模型在多个迁移学习任务中的表现要优于googLeNet。而且,从图像中提取CNN特征,VGG模型是首选算法。它的缺点在于,参数量有140M之多,需要更大的存储空间。但是这个模型很有研究价值。VGG有多种网络结...

2020-02-24 21:56:33 12518

原创 《DeepRain:ConvLSTM Network For Precipitation Prediction Using Multichannel Radar Data》论文解读

《DeepRain:ConvLSTM Network For Precipitation Prediction Using Multichannel Radar Data》论文解读Abstract​ 在本文中,作者提出了一种新的数据驱动的深度学习模型——DeepRain。这个模型可以通过三维四通道的数据对雷达数据进行预测,采用的是ConvLSTM。Introduction​ 在...

2020-02-18 20:05:34 1110 3

原创 数据结构——动态规划

数据结构与算法(十九):动态规划最近开始学习王争老师的《数据结构与算法之美》,通过总结再加上自己的思考的形式记录这门课程,文章主要作为学习历程的记录。动态规划适合用于求解最优问题,比如求最大值、最小值等。它可以显著地降低时间复杂度,提高执行效率。0-1背包问题对于一组不同重量、不可分割的物品,需要选择一些装入背包,在满足背包最大重量限制的前提下,背包中物品总重量的最大值为多少?如果用回溯...

2019-12-19 10:14:28 1580

原创 数据结构——回溯算法

最近开始学习王争老师的《数据结构与算法之美》,通过总结再加上自己的思考的形式记录这门课程,文章主要作为学习历程的记录。回溯的处理思想,有点类似于枚举搜索——枚举所有的解,找到满足期望的解。为了有规律地枚举所有可能的解,避免遗漏和重复,我们把问题求解的过程分为多个阶段。每个阶段,我们都会面对一个岔路口,我们先随意选一条路走,当发现这条路走不通时,就回退到上一个岔路口,另选一种走法继续走。以八皇后...

2019-12-13 20:20:17 572

原创 数据结构——分治算法

最近开始学习王争老师的《数据结构与算法之美》,通过总结再加上自己的思考的形式记录这门课程,文章主要作为学习历程的记录。分治算法的核心是分而治之,将原问题划分为n个规模较小,且结构与原问题相似的子问题,递归地解决了这些子问题,然后合并其结果,得到原问题的解。分治算法一般都比较适合用递归来实现,每一层递归都会涉及这样三个操作:1、分解:将原问题分解成一系列子问题。2、解决:递归地求解各个子问题...

2019-12-13 11:20:03 1283

原创 数据结构——贪心算法

最近开始学习王争老师的《数据结构与算法之美》,通过总结再加上自己的思考的形式记录这门课程,文章主要作为学习历程的记录。首先来看一个例子,假设我们有一个可以容纳100kg物品的背包为了使背包中所装物体的总价值最大,如何选择在背包中装哪些豆子?这个问题的解决是将单价从高到低排列,它的本质借助的是贪心算法。总结一下贪心算法解决问题:第一步,当我们看到这类问题时,首先要联想到贪心算法。针对一组数...

2019-12-12 16:56:25 2198

原创 数据结构——字符串匹配基础

字符串匹配基础字符串匹配算法有很多,首先讲一下BF算法和RK算法。RK算法是BF算法的改进,借助了前面讲的哈希算法来实现高效字符串匹配。BF算法BF算法是Brute Force的缩写,中文叫作暴力匹配法,也叫朴素匹配算法。首先要了解主串和模式串的概念。比如我们在字符串A中查找字符串B,则A为主串,B为模式串。若主串长度为n,模式串长度为m,则n>m。BF算法作为最简单、最暴力的字符串...

2019-12-07 22:34:12 369

原创 数据结构——图

最近开始学习王争老师的《数据结构与算法之美》,通过总结再加上自己的思考的形式记录这门课程,文章主要作为学习历程的记录。涉及图的算法有很多,比如图的搜索、最短路径、最小生成树、二分图等。图是一种非线性数据结构。树的元素称为节点,图的元素称为顶点。图中的顶点可以与任何其他顶点建立连接关系。这种关系称为边。顶点相连接的边的条数称为顶点的度。实际上,边还有方向的概念。我们把有方向的图称为“有向图”...

2019-11-30 20:58:41 284

原创 数据结构——堆与堆排序

最近开始学习王争老师的《数据结构与算法之美》,通过总结再加上自己的思考的形式记录这门课程,文章主要作为学习历程的记录。堆是一种特殊的树,只要满足以下两点,它就是一个堆:一、堆是一个完全二叉树二、堆中每一个节点的值都必须大于等于(或小于等于)其子树中每个节点的值。对于每个节点的值都大于等于子树中每个节点值的堆,叫作“大顶堆”。对于每个节点的值都小于等于子树中每个节点值的堆,叫作“小顶堆”。...

2019-11-28 16:29:17 507

原创 数据结构——二叉树

数据结构与算法(十二):二叉树树是一种非线性表结构。树这种数据结构比线性表的数据结构要复杂得多。树中的每个元素叫做“节点”,用来连线相邻节点之间的关系,叫做“父子关系”。如上图,A节点是B节点的父节点,B节点是A节点的子节点。B、C、D这三个节点的父节点是同一个节点。因此,它们互称兄弟节点。把没有父节点的节点叫做根节点,也就是图中的节点E。将没有子节点的节点叫做叶子节点或叶节点,其中G、H、...

2019-11-18 11:27:40 268

原创 《LightNet:A Dual Spatiotemporal Encoder Network Model for Lighting Prediction》论文解读

本文提出了一种名叫LightNet的模型用于对雷电进行预测。通过数值天气预报系统(NWP)计数出参数,对参数进行编码,同时通过对观测图像也进行编码,其目的是校准参数编码并协助预测,对两个编码后的输出进行融合,在进行编码,最后得到需要的结果。实验证明LightNet效果优于传统气象方法和单纯的ConvLSTM。研究目的严重的雷电现象通常会对人类活动产生危害,因此对雷电现象的预测就显得至关重要。现...

2019-11-15 11:09:43 1040

转载 Python编写惯例

“惯例”这个词指的是“习惯的做法,常规的办法,一贯的做法”,与这个词对应的英文单词叫“idiom”。由于Python跟其他很多编程语言在语法和使用上还是有比较显著的差别,因此作为一个Python开发者如果不能掌握这些惯例,就无法写出“Pythonic”的代码。下面我们总结了一些在Python开发中的惯用的代码。1.让代码既可以被导入又可以被执行。if __name__ == '__main__...

2019-11-14 21:29:21 198

原创 《All convolutional neural networks for radar-based precipitation nowcasting》论文解读

这篇文章于2019年1月在Procedia Computer Science上发表。这篇文章的贡献在于选择和采用了合适的数据预处理方法和损失函数,提出了网络模型——Dozhdya.Net。数据在介绍模型之前首先说一下该实验所采用的数据。数据名为RY,其测量范围为900∗900km900*900km900∗900km,它的空间和时间的分辨率分别为1∗1km1*1km1∗1km和5min。数据的时...

2019-11-14 19:57:16 943

原创 数据结构——哈希算法

哈希算法的定义是将任意长度的二进制值串映射为固定长度的二进制值串。这个映射规则就是哈希算法。通过原始数据映射后得到的二进制值串就是哈希值。设计一个优秀的哈希算法应满足几点要求:1.从哈希值不能反向推导出原始数据(因此哈希算法也叫单向哈希算法)。2.对输入数据非常敏感,哪怕原始数据只修改了一个Bit,最后得到的哈希值也大不相同。3.散列冲突的概率要很小,对于不同的原始数据,哈希值相同的概率非...

2019-11-13 20:53:24 1317

原创 数据结构——散列表(Hash Table)

散列表用的是数组支持按照下标随机访问数据的特性,所以散列表其实就是数组的一种扩展,由数组演化而来。举个例子,运动员参加学校运动会,每个运动员有自己的编号。希望实现一个功能通过编号快速找到对应的选手信息,我们可以把这些运动员信息放在数组里,编号为k的选手放在数组中下标为k的位置。这个例子已经用到了散列表的思想。参赛编号与数组的下标形成一一映射,所以利用数值支持根据下标随机访问的时候,时间复杂度为O...

2019-11-12 14:58:41 658

原创 数据结构——跳表

最近开始学习王争老师的《数据结构与算法之美》,通过总结再加上自己的思考的形式记录这门课程,文章主要作为学习历程的记录。二分查找只适用于数组,但当数据存储在链表时,我们只需要对链表稍加修改就可以支持“二分”的查找算法。我们将改造后的数据结构称为跳表。跳表是一种各方面性能都比较优秀的动态数据结构,可以支持快速的插入,删除和查找操作,甚至可以代替红黑树。对于一个单链表而言,即使链表中存储的数据是有...

2019-11-08 16:06:34 425

原创 数据结构——二分查找(python实现)

最近开始学习王争老师的《数据结构与算法之美》,通过总结再加上自己的思考的形式记录这门课程,文章主要作为学习历程的记录。课前问题:假设有1000万个整数数据,每个数据占8个字节,如何设计数据结构与算法,快速判断某个整数是否出现在这1000万数据中,同时又希望这个功能内存不要超过100M?这个问题就引入了二分查找,举个例子来理解二分查找:假设一个数组为0-99,要查找元素23在数组中的位置...

2019-11-07 17:04:28 780

转载 Python标准库glob模块

最近做了一个将.dat文件转化为.nc文件的任务,由于要进行批量转化所以遍历文件夹必不可少,刚开始学习python编程,所以把用过的模块用法记录下来,以加深记忆,方便查阅。glob模块的主要方法就是glob,该方法返回所有匹配的文件路径列表(list);该方法需要一个参数用来指定匹配的路径字符串(字符串可以为绝对路径也可以为相对路径),其返回的文件名只包括当前目录里的文件名,不包括子文件夹里的文...

2019-11-05 15:13:46 2019

原创 Python中的变量与对象

Python中的变量与对象昨天在刷Leetcode时,遇到下面一个问题:t = [0 for i in range(3)]M = [t for i in range(3)]print(M)M[0][0]+=1print(M)最后的结果却为[[1,0,0],[1,0,0],[1,0,0]],通过询问才知道变量和对象。虽然以前在C++中学过变量和对象,但是在python中基本没使用过。...

2019-11-05 14:54:36 517

原创 数据结构——排序(python实现)

数据结构与算法(七):排序最近开始学习王争老师的《数据结构与算法之美》,通过总结再加上自己的思考的形式记录这门课程,文章主要作为学习历程的记录。最常见的排序方法有:冒泡排序、插入排序、选择排序、快速排序、计数排序、基数排序、桶排序等。按时间复杂度将其分为:排序算法时间复杂度是否基于比较冒泡、插入、选择O(n2n^2n2)√快排、归并O(nlognnlognn...

2019-10-31 15:36:40 869

转载 线程和进程的区别

进程是资源分配的最小单位,线程是CPU调度的最小单位做个简单的比喻:进程=火车,线程=车厢线程在进程下行进(单纯的车厢无法运行)一个进程可以包含多个线程(一辆火车可以有多个车厢)不同进程间数据很难共享(一辆火车上的乘客很难换到另外一辆火车,比如站点换乘)同一进程下不同线程间数据很易共享(A车厢换到B车厢很容易)进程要比线程消耗更多的计算机资源(采用多列火车相比多个车厢更耗资源)进程间...

2019-10-27 15:31:54 1288

原创 数据结构——递归

数据结构与算法(六):递归最近开始学习王争老师的《数据结构与算法之美》,通过总结再加上自己的思考的形式记录这门课程,文章主要作为学习历程的记录。递归是一种非常高效、简洁的编码技巧,一种应用非常广泛的算法,比如DFS深度优先搜索、前中后序二叉树遍历等都是使用递归。基本上所有的递归问题都可以用递推公式来表示。以寻找电影排数为例,只需要问前一排人的排数,然后前一排的人再向前询问······用递推公式...

2019-10-26 19:57:47 504

原创 数据结构——队列

数据结构与算法(五):队列最近开始学习王争老师的《数据结构与算法之美》,通过总结再加上自己的思考的形式记录这门课程,文章主要作为学习历程的记录。队列跟栈一样,也是一种操作受限的线性表数据结构(如下图所示),其满足先进者先出。队列最基本的操作时入队enqueue(),即放一个数据到队列尾部;出队dequeue(),从队列头部取一个元素。和栈一样,队列可以用数组来实现,也可以通过链表来实现。用...

2019-10-25 15:37:56 300

转载 Python标准库os模块

在Python的标准库os模块中包含普遍的操作系统功能os 模块引入的方法是: import os以下为 os 模块常见的使用方法:1、os.getcwd 获取当前的工作目录,即程序执行的目录2、os.name 字符串指示正在使用的平台。比如,windows是“nt”,linux 或 unix 是“posix”3、os.getenv() 读取环境变量。比如,os.getenv('P...

2019-10-24 11:00:13 378

原创 数据结构——栈

数据结构与算法(四):栈最近开始学习王争老师的《数据结构与算法之美》,通过总结再加上自己的思考的形式记录这门课程,文章主要作为学习历程的记录。栈可以看作是一种“操作受限”的线性表,当某个数据只涉及在一端插入和删除数据,并满足后进先出,先进后出的特性,应首选“栈”这种数据结构。如下图:**用数组实现的栈,叫做顺序栈,用链表实现的栈,叫做链式栈。**不管是顺序栈还是链式栈,存储数据只需要一个大...

2019-10-21 22:17:43 628

原创 数据结构——链表

数据结构与算法(三):链表最近开始学习王争老师的《数据结构与算法之美》,通过总结再加上自己的思考的形式记录这门课程,文章主要作为学习历程的记录。与数组需要一块连续的内存空间来存储不同,链表通过“指针”将一组零散的内存块串联起来。常见的链表结构有:单链表,双向链表以及循环链表。一、单链表链表通过指针将一组零散的内存块串联在一起。其中,我们把内存块称为链表的结点。为了将所有的结点串起来,每个链...

2019-10-19 10:45:59 493

原创 数据结构——数组

数据结构与算法(二):数组最近开始学习王争老师的《数据结构与算法之美》,通过总结再加上自己的思考的形式记录这门课程,文章主要作为学习历程的记录。一、如何实现随机访问数组是一种线性表数据结构。它用一组连续的内存空间,来存储一组具有相同类型的数据。(对这句话进行解释,引出了以下几个概念)1.线性表:数组,队列,栈,链表​ 非线性表:数和图2.连续的内存空间和相同类型的数据​ ...

2019-10-15 11:28:18 316

原创 数据结构——复杂度分析

数据结构与算法(一):复杂度分析最近开始学习王争老师的《数据结构与算法之美》,文章主要作为学习历程的记录。广义来说,数据结构是指一组数据的存储结构,算法则是操作数据的一组方法。算法复杂度分为时间复杂度和空间复杂度,在计算算法复杂度时一般用到大O符号。一、时间复杂度​ 所有代码执行时间T(n)=O(f(n)),其中f(n)表示每行代码执行的次数总和,O表示T(n)与f(n)表达式成正比,...

2019-10-14 11:16:01 557

原创 Python自测100题(下)

51.题目:学习使用按位与 & 。程序分析:0&0=0; 0&1=0; 1&0=0; 1&1=1。print(0&0,0&1,1&0,1&1)52.题目:学习使用按位或 | 。程序分析:0|0=0; 0|1=1; 1|0=1; 1|1=1print(0|0,0|1,1|0,1|1)53.题目:学习使用按...

2019-10-12 17:38:06 3112 1

原创 Python自测100题(上)

Python自测100题1.题目:有四个数字:1、2、3、4,能组成多少个互不相同且无重复数字的三位数?各是多少? 程序分析:可填在百位、十位、个位的数字都是1、2、3、4。组成所有的排列后再去 掉不满足条件的排列。for i in range(1,5): for j in range(1,5): for k in range(1,5): if...

2019-10-10 10:45:00 3449 2

convlstm(论文解读).pptx

本文简要地介绍了RNN以及其变体LSTM,着重介绍了施行健博士提出的ConvLSTM结构,以及其在预测降水方面的应用。

2020-05-22

空空如也

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

TA关注的人

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