自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(19)
  • 资源 (2)
  • 问答 (2)
  • 收藏
  • 关注

原创 torch.cuda.empty_cache无法释放显存的原因

torch.cuda.empty()并不能保证100%释放显存,以下是例外情况:

2021-04-26 09:19:10 4480 1

原创 【深度学习】经典CNN模型梳理与Pytorch实现:LeNet、AlexNet、NiN、VGGNet、ResNet

1. 前言经典永不过时。这篇文章中,我们要回顾卷积神经网络发展史上几个经典模型:LeNet、AlexNet、NiN、VGGNet、ResNet,梳理它们的发展脉络,总结它们各自的特点,并借助Pytorch完成实现。2. 模型及实现2.1 LeNetLeNet是LeCun在1998年提出的用于解决手写数字识别任务的卷积神经网络模型,这一网络模型奠定了之后CNN的基本架构。它又被称为LeNet-5,5表示第5代版本。LeNet-5的基本结构是:卷积、池化、卷积、池化、全连接。LeNet.

2021-03-19 21:26:10 1356

原创 小样本学习概述

目录前言小样本学习存在的意义?什么是小样本学习?小样本学习的方法有哪些?结语前言小样本学习(Few-Shot Learning)是近几年兴起的一个研究领域,小样本学习旨在解决在数据有限的机器学习任务。小样本学习存在的意义?近些年,以深度卷积神经网络为代表的深度学习方法在各类机器学习任务上取得了优异的成绩——很多任务上已经超越了人类表现。狂欢背后,危机四伏。因为这些深度学习方法work的关键之一是海量标注数据的支持。但是在工业界,很多时候难以获得海量的训练数据,更.

2020-12-09 16:44:05 31490 14

原创 2020个人网站搭建指南(华为云+wordpress)

1. 前言拥有个人网站是一件很酷的事情,你可以自由决定网站的布局、样式、内容等等。其中最吸引人的,就是拥有属于自己的域名。个人网站的持续运行需要服务器的支持。由于我用过了腾讯学生云,也用过了阿里学生云,所以这次建站之旅就选择了华为学生云(华为,打钱!)。建站的大致步骤分为:1.购买服务器、域名;2.配置服务器;3.网站备案与域名解析;4.制作并发布网站。实际上,壕完全可以跳过这4步,因为华为云有现成的网站发布方案,买下来就能用,但是这种方案要比手动配置贵上不少(华为,再打钱!)。2. 搭建过

2020-11-29 16:14:32 1357

原创 【深度学习】使用C++手动搭建一个神经网络

1.前言深度学习框架给我们带来了很多方便,但是过于依赖框架反而会让我们不知所以然。本篇博客中,我使用C++语言实现了一个简单的神经网络。2.原理神经网络由正向传播和反向传播构成。正向传播指的是输入样本数据x,通过一层层网络的计算后得到结果。反向传播值得是通过预测结果与正确结果的差异来对网络中的参数进行修正的过程。下面我们分别来介绍正向传播算法和反向传播算法:首先以一个最简单的神经元单元为例:其中x1,x2,x3是一个输入样本的三个数据,输出是y =σ( x1*w1 + x2*w.

2020-09-21 18:08:17 12209 9

原创 【算法】递归设计以及优化技巧

递归的难点在于构造而不在于求解,一个良好的递归算法的实现,其实是需要很多技巧的。首先,递归的组成部分包含递归边界与递归式。前者是边界条件,任何递归如果想有结果,就必须要有边界,后者是递推关系,可以理解为状态转移函数。让我们先看一段代码来体验递归的快感://求最大公因数int gcd(int x,int y){ if(y==0)return x; return ...

2020-05-26 21:42:16 397

原创 【算法】完全掌握Two Pointer(双指针&尺取法)详解&例题

1.前言Two Pointer(双指针)有两种移动方式,一种相向移动,一种同向移动。这里我们讨论同向移动的双指针,这种算法又名尺取法,最终的时间复杂度一般是线性的,是一种广泛应用的算法技巧。2.应用场景Two Pointer解决的问题形式一般都是一个区间内满足某种性质的最优解。尺取法的求解过程就像一只移动的毛毛虫,每次交替移动L、R指针,在移动指针的过程中更新求得的解。由于L,R都...

2020-05-26 21:35:20 1332

原创 【密码学】基于英文字母自然统计规律破解凯撒算法加密

1. 前言凯撒密码是一种古老的加密算法,至今也被应用在某些加密算法的过程中。一般而言,破解凯撒密码需要密钥,但是由于加密空间太小,解密可以穷举进行。因此本文给出了一种基于统计的解密算法,这种算法思想也可以应用到其他场合。2. 算法2.1 凯撒加密算法凯撒加密算法是采取字母移位的思路进行,加密公式如下:word = (word + x) mod 26根据鸽巢原理可知,穷举26次必然能得到加密原文。2.2 基于统计分析解密算法算法求解前提假设:加密原文符合英文字母自然统计规律.

2020-05-19 23:47:34 2404

原创 【Python】使用Pyinstaller+pipenv将python编译成尽量小的.exe文件

1. 前言最近用python写了一些工程,需要把它们编译成可执行的.exe文件。网上主流的方法是使用Pyinstaller进行编译,于是我就顺着这个路线点完了技能树。本篇博客共介绍了四个问题:1. 如何管理pipenv环境2. 如何使用pipenv缩小打包后的exe文件3. 如何应对pipenv lock时间过长4. 如何应对failed to execute script...

2020-05-06 09:56:39 844

原创 【Python】利用摸鱼的时间,我写了一个三国杀开盒模拟器...

1.前言今年的疫情来得突如其然,被窝在家里的我,又重拾旧业——三国杀。我接触三国杀时间也不短了,现在却也只有两个史诗将(左慈、许攸)QAQ。在氪金上我应该算个非洲土著吧,但是我又抑制不住开盒时刻的那种爽感。于是,我想起来何不自己写个抽奖模拟器呢?这样我就可以省下很多钱,又享受了土豪开盒的快感.....花了大概一晚上,我用Python写出来一个普通的开盒模拟器——只能在Python编程环...

2020-04-04 21:50:43 7003 7

原创 【编译原理】DFA自动机设计 算法&例题&代码实现

1.前言设计DFA是编译原理中非常重要的一环,在词法分析中占有很重要的地位。一般而言,我们会先求正则表达式,然后根据正则表达式来求DFA。所以,在设计DFA之前,首先要确保你的正规文法正确。简单的正规表达式可以直接求出DFA,但是稍微复杂的就困难了。一般而言DFA的设计需要经过三步,第一步,设计符合要求的ε-NFA;第二步,转化成DFA;第三步(如果没要求可省略),DFA的化简。2.算...

2020-02-28 13:10:05 5823

原创 【编译原理】词法分析(自定义标识符、常数、关键字、界符识别)代码实现

1.前言本篇博客实现一个编译原理的词法分析器,能够识别用户自定义标识符、常数、字符串、关键字、界符。词法分析包括:用户自定义标识符、常数、字符串、关键字、界符的识别。用户自定义符号,顾名思义就是自己定义的变量名;函数名,常数包括整数、浮点数、科学计数;字符串包括‘ ’、" "两种形式的字符串;关键字就是程序内置的关键字,如int、main等;界符就是各类符号,如运算符、{}、[]等。词...

2019-12-23 20:17:14 16485

原创 【编译原理】LL(1)语法分析 算法流程&实例详解&代码实现

1.前言LL(1)文法是为了语法分析的中自上而下推导而专门打造的一个规范化的文法。给定一个文法,首先要判定是不是LL(1)文法,如果不是,需要转化成LL(1)文法;然后构建LL(1)分析表;最后,构造相应的求解器。2.算法2.1 LL(1)文法判定对于每个产生式(A->α),定义first(α)为first(α)={t|α=>t...,t∈VT},follow(A)...

2019-12-14 11:19:20 13614

原创 【数字系统】基于VHDL语言设计电子时钟(Quartus II开发)

一、实验设计设计一个电子时钟,要求能够完成时间的显示、复位、设置时间、整点报时的功能。采用VHDL语言写程序,使用Quartus II进行编程,最后在睿智四代AX4010板子上进行实验验证。二、模块设计按键消抖模块、时钟分频模块、置数模块、秒分时计数模块、蜂鸣器模块、数码管输出模块。实现的功能:按键消抖、用户置数、时分秒计时显示、整点报时(n点钟n次)。三、模块代码时钟...

2019-11-05 18:33:18 19846 56

原创 【FPGA开发】Quartus II新手入门需克服的几个问题

首先要明确几个概念:FPGA代表可编程逻辑器件。市面上有形形色色的FPGA开发板,开发板提供硬件支持,当然你也可以买一些外设(比如摄像头等)拓展开发板功能。开发板的软件部分需要用户进行编程设计,常用的编程语言有Verilog、VHDL,我比较喜欢VHDL,因为VHDL的形式看起来更严谨。常用的开发环境是Quartus II。Quartus II的安装网上有很多教程,我这里直接提供一个最简单的、...

2019-10-31 21:38:47 1896

原创 【Matlab】基于K-means的乳腺癌转移识别

本文要研究的问题是:通过医疗大数据对乳腺癌转移与否进行甄别。在医院中,通过化验我们可以得到非常多的指标,这些指标被用来作为诊断的依据。但是有的指标是与疾病密切相关的,有的不是,而且它们的相关性也不同。这就给诊断造成了很大的困难。本文的解决思路是:首先对已有数据进行清洗、归一化处理,然后通过Relief算法对特征信息进行筛选,再用K-means算法对数据进行聚类,最后根据聚类结果来判别乳腺癌的转...

2019-09-19 11:27:31 1798

原创 时间序列预测常见模型总结

1.定义时间序列是一组与时间关联的数据序列。2.分类按照研究对象可分为一元时间序列、多元时间序列;按照连续性可分为离散时间序列、连续时间序列;按照统计特性分为平稳时间序列、非平稳时间序列。其中,序列概率分布与时间无关,则称该序列为狭义平稳时间序列;如果序列的一二阶矩存在,且对任意时刻满足:1.均值为常数;2.协方差为时间间隔的函数;则称该序列为广义平稳时间序列。按照时间序列...

2019-09-09 22:00:08 17935

原创 program received signal sigsegv的解决思路

编写C++程序有时候就会遇到这种问题,program received signal sigsegv。一般都是数组越界、死循环或者对空容器进行某些操作导致的。这里要说的一点是像这种错误一般不会在“问题”那里显示,程序出错中止,然后在“Debug Console”那里会显示在哪里遇到断点,有时显示的位置是一段根本不可能出错的代码。大多数情况下编译器总是对的,但是这种情况下,就要换种思路调...

2019-08-24 15:15:41 30459 2

原创 汇编语言MOV指令详解以及错误写法修正

汇编语言中,MOV是最基本的一种操作。格式:MOV dest,src操作:将src的内容移至dest,移动后src的内容仍在,dest的内容被src覆盖。其规则如下:1.CS、IP的值不可以作为目标操作数;2.dest、src不可以同时作为存储器操作数出现;3.段寄存器不能相互转送;4.不能把立即数送人段寄存器。常见错误写法:1.DATA DB 10HMOV [SI],DA...

2019-06-16 14:41:50 26298 2

数字系统实验-电子钟.docx

使用Quartus II开发、基于VHDL语言实现的电子时钟,在睿智四代AX4010板子上进行验证。实现的功能有:时分秒显示、重置、按键消抖、整点报时。 补充说明: 1.代码可能还不完善,供参考学习使用。 2.顶层连线图中部分连线是采用了“隔空连线”的方法,就是右键管脚直接绑定,这样可以使顶层图连线尽可能少,以减少线的交叉。所以需要读懂每个接口的输入输出。

2020-01-11

TuringMaichine.rar

单头图灵机的C++代码实现,附有测试函数、说明文档。

2019-07-29

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

TA关注的人

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