自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(36)
  • 资源 (4)
  • 收藏
  • 关注

原创 读 DeepFake detection with multi-scale convolution and vision transformer 第五期:VIT

偶然看到的一个流程图,应该还是总结的很清楚的。

2023-05-18 17:19:28 179 1

原创 读 DeepFake detection with multi-scale convolution and vision transformer 第四期:Attention

qkv的生成可以直接通过全连接层实现,q乘k是点乘,向量点乘越大表示夹角越小,相似度越大,因为a点乘b等于|a||b|cos。q通过点乘n个k得到n个α,α越大表示和对应的a相似度越大,除以0.5次方的dimension通过softmax得到a’,然后乘以value得到b,认为b1含有各个与a1相关的较多的信息。可以用不用的q来负责不同种类的相关性,所以使用可以使用multihead,即直接将qkv均分称若干组,组内进行上述运算,最后再融合在一起。

2023-05-18 16:37:22 108

原创 读 DeepFake detection with multi-scale convolution and vision transformer 第三期:卷积部分

有了上两期的基础,已经可以慢慢的把网络搭建起来了,这里需要提醒的是因为论文采用的是EfficientNet-b4中的MBConv所以需要根据width_coefficient来调整通道,但是又并没有明确规定过程中的通道数,所以以下的代码的通道参数还需要再斟酌一下,我在预处理模块基本采取了EfficientNet-b4的过程,而在后面则统一规定通道数不变。

2023-05-13 15:20:18 187

原创 读 DeepFake detection with multi-scale convolution and vision transformer 第二期:深度可分离卷积

上一期在MBConv含有了Depthwise convolution,我在注释中提到Conv2d中的group参数可以决定是普通卷积还是逐深度卷积,但没有解释为什么。因为论文也含有深度可分离卷积所以打算说清楚一点。而逐点卷积即用kernel_size=1的卷积核进行常规卷积。

2023-05-12 23:05:11 114

原创 读 DeepFake detection with multi-scale convolution and vision transformer 第一期:MBConv

MBConv由下图组成。MBConv6指第一层1*1卷积层的卷积核个数为6,若是MBConv1则第一层可以省略。以下是MBConv网络的详细代码及注释,主要是根据上图的流程搭建。

2023-05-11 22:48:03 803

原创 《二叉树》

复习自用

2022-07-15 21:06:43 273

原创 《线性表》

复习自用

2022-07-14 22:09:11 61

原创 newhope代码在vs2019的编译

1安装opensslwindows版本的网址点进去下载以下这个按照提示安装即可,最后可以在终端使用openssl就可以了2在vs中使用第三方库新建一个项目,在源代码中选一个放进去去,比如我选的是Optimized_Implementation中的crypto_kem\newhope512cca把x86改成x64(之前一直用x86不行,但是现在突然可以了不知道是不是这个原因)。然后点击项目名右键属性,在包含目录和库目录中分别添加你自己的openssl的include和lib的地址。然后在

2022-01-16 18:08:38 283 1

原创 git git git

在项目文件夹右键git bash heregit init 创建了一个空仓库(假设要提交的代码文件为git.txt)git add git.txt 添加到暂存区git commit -m ‘注释’这样就完成了这个版本的提交了可以通过 git status 和git log 去查看状态和日志git reset --hard head^ 可以回退到上个版本git reset --hard 版本号 发现回退前的版本没有问题可以这样回到最新的版本...

2021-08-24 17:06:52 79

原创 电信实习总结

这个暑假实话说过的挺充实也挺漫长的,往常呆在家里时间总是不经意间就溜走了,起床挂会方舟,刷刷b站知乎好像一个上午就没了,开始定下的计划往往也会夭折。电信虽不算是工作强度很大的公司,但是也恰恰是这种工作会让我在身体与精神上都能得到平衡与满足(当然出外勤还是比较累的)。早上8点在三楼饭堂吃个早餐,下午六点上班回家,吃完晚饭去对面的体育中心跑几圈,一天的稍许疲劳都会随着汗水蒸发,这也让我头脑变得格外清晰,敲代码都快了起来呢(bushi)。这一个月无疑是我高考过后最舒服的一段时间,我不需要去想我要做什么去提升自己的

2021-08-21 10:37:19 217

原创 线性时间排序

这是算法导论的总结性文章。在学习过程中已经接触到了非常多的排序算法,在数据结构一课中也有具体的分类,不难发现即便被认为在某种程度上最高效最常用的随机快速排序算法时间复杂度也在O(nlogn)。这是为什么呢?其实我们之前学到的算法都可以归类为比较排序算法,可以用决策树来表示出来,假设我们要对A1 A2 A3进行排序,小于走左子树,大于走右子树,就可以得到如下的决策树。每一个叶子结点都是最后的结果,当规模变大的时候,决策树并不是一个简洁的表述方式,但是并不代表它一无是处,比如我们可以用来证明比较排序时间复

2021-08-15 09:46:11 90

原创 快速排序和堆排序

最近在刷递归但是老是要用到这两个排序,然后自己还老是忘,所以干脆放在这方便回顾。快速排序int getStandard(auto& array, int i, int j) { int key = array[i]; while (i < j) { while (i < j && array[j] >= key) { j--; } if (i < j) {

2021-08-10 11:53:50 75

原创 实习第二弹——交换机的配置与统计

这段时间主要是学习一些与交换机相关的命令以及做一些配置和统计的工作。当然是从企业层面去做的并非简单的家庭线路(虽然给实习生负责的部分也并不复杂就是了先简单介绍一下工作逻辑,假设我们公司要给A公司完成网络配置,A公司有很多部门,但是同一个部门的人未必在同一个楼层,解决这个问题往往用的是Vlan。虚拟局域网(VLAN)是一组逻辑上的设备和用户,这些设备和用户并不受物理位置的限制,可以根据功能、部门等因素将它们组织起来,相互之间的通信就好像它们在同一个网段中一样。理论上可能是在以太网帧的基础上增加了VL

2021-08-02 15:11:15 381

原创 各种交换机配置命令

华为2300系列锐捷5700系列瑞斯康达系列

2021-08-02 11:00:47 451

原创 迭代器源码解析

迭代器的常用操作对于我这种编程新人来说,知道怎么用比知道底层的源码要更加重要一些,在绝大多数情况下当成指针用都没有太大问题。下面以vector为例vector<int> iter; //声明(有时候传参的时候我习惯用auto)*iter //解引用,返回指向元素的引用iter->val //解引用,获取成员iter++ //指向下一个元素++iteriter+n

2021-07-22 17:04:44 138

原创 union一个有趣的应用

今天在读《Linux高性能服务器编程》时看到一个有趣的东西。书中用了一个特别的方法去求字节序。我们知道字节序分为大端和小端,大端就是数据的高位字节存储在内存的低地址处,小段则反之。那么我们怎么知道我们的电脑是大端还是小端呢,这本书告诉我们可以利用union的特性,union里面的变量都是共享内存的,我们只需要将一个比如int类型的数据和一个数组union在一起,赋值那个int数据,然后看看数组的高位和地位分别是什么就知道了。int main(){ union{ short value; char

2021-07-19 14:49:14 83

原创 从(0,0)到(n,n)——广度优先及其改进

最近力扣刷了一些广度优先,深度优先的题目,看了b站的奇乐编程学院的一个寻路算法视频,突然想到这个知识点在离散的课堂上也讲过,从(0,0)到(n,n)要走多少步,其中还包括一些特殊问题,比如不能通过对角线,有障碍物等。卡特兰数学过离散的孩子应该都知道这个神奇的东西,我理解的卡特兰数是一个满足很多现实情况的数列。比如一个栈(无穷大)的进栈序列为1,2,3,…,n,有多少个不同的出栈序列? 又比如依据乘法结合律,不改变其顺序,只用括号表示成对的乘积,试问有几种括号化的方案?…比较经典的问题就是今天要讨论的从(

2021-07-18 16:24:09 370

原创 中国电信实习

开始实习从上个寒假开始就好想实习,但是技术岗基本都要求大三,而且暑假也想好好陪一下家人,所以还是选择了家乡这个小城市的实习,最终报了电信市公司的实习,面试官也很好说话让我这个大二的也进来了。昨天第一天主要还是了解了接下来的学习和工作的任务,以及电信公司的工作流程。主管很好nice,一起实习的孩子也是。之前酝酿了很久的人际交往问题好像并不存在,作为一个社恐的我也是长舒了一口气。国企正常的上下班时间很舒服,也没有特别大的工作量与工作强度,当然有些要跑外勤的哥哥也挺累的,特别是广东这个鬼天气。主管给我们看了

2021-07-16 09:19:23 574

原创 const的一些注意事项

今天在继续学习STL的过程中遇到了一些编译错误。看一下下面的代码——class stone{ private: int weight; public: stone(int i){ weight=i; } bool operator<(const stone& st){ return weight<st.weight; }};template<class T>inline bool min(const T& a,const

2021-07-12 13:21:17 119

原创 [力扣leetcode39]组合总和及回溯法

[力扣leetcode39]组合总和及回溯法回溯yyds小练习回溯yyds在算法优化上面回溯法或许没有那么引人注意,但是对于一些题目来说能够回溯已经很好了。题目:给定一个无重复元素的数组 candidates 和一个目标数 target ,找candidates 中所有可以使数字和为 target 的组合。candidates 中的数字可以无限制重复被选取。比如输入:candidates = [2,3,6,7], target = 7,所求解集为:[[7],[2,2,3]]对于这道题目最

2021-07-09 17:06:03 125

原创 操作系统实验——简易FAT16文件系统的实现

操作系统实验——简易FAT16文件系统的实现前言实验要求FAT16基础知识磁盘组成部分分区原理思路完整代码前言暑假啦!呼,所有的补课终于也都结束了,虽然绩点还是一如既往的拉跨,但是很庆幸自己还是熬过来了,唯一有点小遗憾的是信安大赛没能进入到决赛,有点小可惜吧但也在意料之中,虽然尽力了但一个月准备的作品哪能有别人准备了那么久的作品成熟呢。好了回到正题,这是一个非常非常简陋的文件系统,也是在考试月最后的一个大实验,所以也是紧赶慢赶。接下来介绍一下代码思路,最后也会给出完整代码。实验要求实现一个简单的类

2021-07-09 16:33:11 6315

原创 STL体系结构

六大部件1.容器我们常常说程序=数据结构+算法,其实容器就是数据结构,常用的容器有sequence containers:array,vector,list,deque,还有associative container:set,map等。每个容器在使用之前都请添加头文件,在定义时的语言风格有点类似模板,因为STL的底层实现与c++的泛型编程息息相关,关于具体的用法可以参考cplusplus.com中的rederence或者其他网站去。2.算法STL针对每个容器有非常多对应的算法,如与排序查找有关的快

2021-05-04 10:16:06 112

原创 python小游戏

今天重新看自己刚学python时写的一个桌游小游戏真是一言难尽,当时暑假的时候想和朋友玩阿瓦隆但是没有办法面对面,而且人数也不够,微信公众号也没看到有类似的,于是就写了这个用来连麦玩,虽然写的很简陋但是起码基本功能也能实现了,感兴趣的可以下载下来玩一下,输入好人牌还是坏人牌的时候因为避免被其他人看到所以加了一个隐藏,输入一串数字加起来是偶数为坏人牌,奇数为好人牌。如果人数不够7个的话则会有电脑玩家。下载链接:https://download.csdn.net/download/weixin_5028111

2021-04-25 18:59:09 122

原创 页面置换算法(二)

咳咳,书接上文,这篇讲非常 难 重要的两个算法LRU和工作集,以及它们的一些改进算法,希望我能给你们讲清楚吧~LRU上文提过一点点,LRU和最优算法是刚好相对的,LRU就是Least Recently Used,最近最少使用,其实就是往回看,看前面哪个没有被访问过就替换哪个。比如2,4,3,2,3,6,假设页框最多有三个,当6想要去替换时,此时要从2,4,3中替换掉一个,往回看2和3都被访问过,于是就替换掉4。思路清楚了,接下来介绍三种实现的算法。最近未使用(NRU)...

2021-04-25 17:27:39 219

原创 页面置换算法

操作系统——页面置换算法前言最优算法先进先出第二次机会算法时钟页面算法前言操作系统讲了两节课的页面置换算法,脑子里一团浆糊,不得不做一下总结,打算分两次文章讲透这类算法,先给出思维导图的总结。最优算法最优算法(OPT)可以和LRU算法一起来看,最优算法选择淘汰的页面是以后很长的一段时间不再使用的页面用以保证最低的缺页率,简单来说就是往后看,但是我们都知道计算机不知道它未来要使用什么页面,所以无法实现,但是它是可以被用来评价其他算法的。先进先出这种算法的思想完全依赖于时间,即把时间最久远的替换掉

2021-04-21 11:24:03 154

原创 DES算法设计

最近期中考,不多bb了直接把报告给你们吧,捋清楚DES整个过程,算法设计这块不做太多的优化的话是不难的,报告里还分析了一下雪崩效应,也算实践出真知吧。DES算法设计报告

2021-04-18 10:41:52 95

原创 分组密码Feistel结构补充说明

上次讲Feistel结构是加解密一致的,但是没有给出证明,其实非常简单,这里给出手写版(实在是不想在电脑码公式)

2021-04-18 10:08:31 212

原创 一文讲懂分组密码

现代密码体系之分组密码现代密码现代密码上一篇文章介绍了古典密码,分为单表代换和多表代换,我们还通过算法破译了曾经认为不可破解的维吉尼亚密码,今天开始介绍分组密码。先来看看现代密码体系中有哪些主流的密码算法吧。对称加密和非对称加密大家应该都比较熟悉了,对称加密就是消息接收方与发送方拥有同一个密钥,能力相等,不多介绍了。今天的重点是分组密码,分组密码也是对称加密的一种:将明文划分为m比特长的组,每一块依次进行加密算法,由密钥k决定的一个明文到密文的可逆映射。...

2021-04-18 09:48:47 665

原创 定个小目标

青岛 宿舍 2021 4 13 中午转专业之后日子几乎被补课敲代码做实验写报告占的满满当当,忽然想停一停看看什么才是自己真正想做的,这段时间看了好多大佬的文章,帅北,代码随想录,HNU君陌,敖丙…真的很想成为像他们这样的人啊,技术栈过硬,出众的思考能力,表达能力,全是我所欠缺的,这里也算是占个坑吧,把希望自己在剩下的时间里完成的东西列一列,两年后再见!1.完成互联网+并获奖2.绩点中上3.今年错过了信安大赛希望明年干一票4.跟老师做个项目5.最后的最后考上那所学校的研究生,算是填补我高考的缺憾

2021-04-13 12:20:26 185 1

原创 密码学信息理论基础2

理论篇——完美保密性衡量保密系统安全性的方法:计算安全性,即破解消耗的资源超过敌手实际能承受的完美安全性,即即便敌手具有无限资源也无法破解唯密文攻击具有完美安全性,这也是本次讨论的重点1.完美保密系统提取有关明文的信息:H§-H(P|C)提取有关密钥的信息:H(K)-H(K|C)所以加密算法需要保障足够大的H(P|C)和H(K|C),这也能看出完美保密系统的满足条件为H§=H(P|C)2.如何达到?由熵的基本性质所以密钥熵是上界,我们应保证密钥熵足够大,由上一节我们知道当密钥空间足够

2021-04-13 11:19:11 548

原创 密码学信息理论基础1

理论篇——熵数学模型1.密文空间的统计特性由明文空间和密钥空间的统计特性完全决定。密文y的分布概率为由条件概率及贝叶斯公式可得密码分析者:降低对于目标明文的不确定性Kerckhoff假设:密码分析者已知密码算法描述,明文空间,密钥空间及其统计特性,但不知道截获的密文所使用的密钥。(这个假设将贯穿密码学的整个学习,这也是现代密码学设计的指导思想,为什么要基于这种假设的原因有很多,比如我们不能建立在敌手不知道密码系统的情况下设计密码,首先密码系统的保密本身就是一个困难的事件,其次密码算法倘若

2021-04-13 10:33:04 241

原创 [力扣leetcode319]灯泡问题

灯泡问题问题描述初始时有 n 个灯泡处于关闭状态。对某个灯泡切换开关意味着:如果灯泡状态为关闭,那该灯泡就会被开启;而灯泡状态为开启,那该灯泡就会被关闭。第 1 轮,每个灯泡切换一次开关。即,打开所有的灯泡。第 2 轮,每两个灯泡切换一次开关。 即,每两个灯泡关闭一个。第 3 轮,每三个灯泡切换一次开关。第 i 轮,每 i 个灯泡切换一次开关。 而第 n 轮,你只切换最后一个灯泡的开关。找出 n 轮后有多少个亮着的灯泡。求解刚开始看着这道题心里想,力扣你确定这是道中等题???两个for

2021-04-13 09:17:24 334

原创 破解维吉尼亚密码

“不可破译”的维吉尼亚密码前言古典密码分类维吉尼亚为什么这么难破选择破解的密文破解过程确定密钥长度前言这是本次专栏的第一部分——破解维吉尼亚密码,先来介绍一下维吉尼亚密码的历史。1553年,意大利密码学家吉奥万·巴蒂斯塔·贝拉索出版了他的密码学著作《吉奥万·巴蒂斯塔·贝拉索先生的密码》(La cifra del. Sig. Giovan Battista Bellaso),里面详细记录了这种新的加密方式。1586年,由法国密码学家布莱斯·德·维吉尼亚对这种加密方式进行了一定程度上的优化,所以后世误认

2021-04-12 16:47:31 6560

原创 SIMD

初始SIMD前言AVX基础介绍矩阵乘加速总结前言完成了计算机系统原理之后来做一个总结,本次实验时继多线程之后继续研究矩阵乘优化的内容,主要使用SIMD指令集并与上次实验的多线程进行对比。SIMD即单指令集多数据(Single Instruction Multiple Data)。说的简单一点就是一种向量运算,想象一下在单指令单数据上你要做一个op需要几步?你得先取指译码,然后访问内存获得操作数,然后才能进行计算吧,Intel告诉我们可以用SIMD一下子完成128bit,或者256bit,甚至是512b

2021-04-10 10:53:41 1652 1

原创 算法导论一分治法

分治法的实“力”归并排序乘方问题(斐波那契数列)递归自下而上的递归矩阵的n次幂最近闲了点开始肝算法导论了,先介绍一些可能贯穿在整个算法导论文章的一些思想。首先是T(n)用来表示需要的时间,我们往往研究三种情况的T(n)。第一种是最坏情况(worst),用大佬的话说就是给用户一个保证,保证不管输入的数据时间复杂度不会比这个更差了,比如你说这个程序至多运行三秒,这个没有问题但如果你说是至少运行三秒,那它会不会运行三年呢,这不是一个可靠的保证。第二种平均(average),简单来说就是期望,或者更严格来说是加

2021-04-09 22:12:11 134

原创 多线程

多线程优化的收获编译器的优化gcc/g++的ox优化创建随机矩阵随机的新尝试编译器的优化gcc/g++的ox优化主要对编译时间,目标文件长度,执行效率这个三维模型进行不同的取舍和平衡。优化的方法不一而足,总体上将有以下几类:1)精简操作指令;2)尽量满足cpu的流水操作;3)通过对程序行为地猜测,重新调整代码的执行顺序;4)充分使用寄存器;5)对简单的调用进行展开等等-O0: 不做任何优化,这是默认的编译选项。-O1: 对代码的分支,常量,表达式进行优化-O2:将执行几乎所有的不包含时间和空间

2021-04-09 21:26:48 206 1

python桌游小游戏——狼人杀版7人阿瓦隆

python桌游小游戏——狼人杀版7人阿瓦隆

2021-04-25

操作系统实验——用户态与内核态

操作系统实验——用户态与内核态

2021-04-18

DES算法设计.pdf

DES算法设计.pdf

2021-04-18

空空如也

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

TA关注的人

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