自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Pytorch常用函数(更新中)

一些自己常用的pytorch函数整理建议直接Ctrl+f搜索torch.unsqueeze 维度增加torch.unsqueeze(torch.Tensorf,axis)常用形式torch.unsqueeze(x,0)#最外维度+1这个函数功能等价于numpy的expand_dimtorch.Tensor.mm矩阵相乘设a=torch.ones(1,2)设b=torch.rand(2,2)矩阵点乘直接a*b就行矩阵乘法就是a.mm(b)torch.topk(a,k) 获取a中

2020-10-02 22:19:08 618

原创 傻子都能看懂的SVM

文章目录SVM简介物理世界角度理解svm知识前提0-数学基本知识1-几何间隔与函数间隔2-拉格朗日乘子法与KKT条件如何理解拉格朗日乘子法什么是负梯度为什么λ\lambdaλ要大于0?3-拉格朗日对偶问题对偶问题的性质什么是对偶空间如何求解一个线性规划的对偶问题?2-SVM 目标函数与约束的推导数据集如何去除优化公式中的绝对值为优化函数添加约束项进一步化简复杂的优化目标如何求解优化函数?求解min⁡w,bL(w,b,α)\min \limits_{w,b}L(w,b,\alpha)w,bmin​L(w,b,

2020-10-24 00:09:41 1647 4

原创 整数划分-python实现-高级算法设计与分析-递归与分治章节

整数划分例子:对1进行整数划分1=1有一种例子:对2进行整数划分2=1+12=2有两种例子:对3进行整数划分3=33=1+23=1+1+1有三种例子:对4进行整数划分4=44=3+14=2+24=1+1+1+1

2020-10-17 14:18:32 830 1

原创 整理了一些防御对抗样本的方法

文章目录防御对抗样本的方法重采样降噪-谱减法区域攻击ATTENTION 用在攻击ATNS上防御对抗样本的方法重采样重采样的过程如下:首先假设对抗样本的音频格式的采样率为16khz首先对音频进行下采样,下降到8khz的音频假设原始音频的采样率为Q,目标音频的采样率为P,则下采样就是对原始音频每隔Q/P-1个取一个点如上面的16khz下采样到8khz就是媚间隔1个点采样一次,这样采样结束后与原对抗样本相比少了一个采样点然后再通过插值的方法进行上采样,通过插值方式插入降噪-谱减法谱减法原理

2020-10-17 13:16:40 1688

原创 Pytorch-TIMIT说话人识别代码-Sincnet网络 简洁版本(适合黑白盒攻击使用)

Pytorch-TIMIT说话人识别先上链接:码云(包括代码和模型以及测试数据):https://gitee.com/djc_QRICK/timit-pytorch简化删掉了很多乱七八糟的东西,剩下的就是非常纯净的代码和模型整个代码的功能仅仅包括模型的输入和预测,以及预先训练的模型模型采用Sincnet数据集采用TIMIT整体上来说这是个CSI系统也就是闭集的说话人识别适合想做黑白盒攻击的朋友们使用基于pytorch1.6 最好有cuda,没有cuda需要微调代码(影响不大)效果图

2020-10-15 22:53:14 2334 9

原创 全排列与子集-python实现-高级算法设计与分析-递归与分治章节

全排列话不多说,直接上代码x=[1,2,3]def get_pailie(x,res): if len(x)==0: print(res) return for i,item in enumerate(x): get_pailie(x[0:i]+x[i+1:],res+[item])全子集#全子集x=[1,2,3]def get_ziji(x): res=[[]] for i in x: re

2020-10-14 15:49:45 154

原创 汉诺塔问题-python实现-高级算法设计与分析-递归与分治章节

汉诺塔(必考)规则每次只能移动一共盘任何时刻都不能将大的圆盘放小圆盘上满足1 2的情况下可以随便移动目标:把a上的盘移到b探索汉诺塔的规则我们先从简单的1个盘,2个盘,3个盘来探索下汉诺塔的过程假设圆盘在a柱上从上到下的初始编号为1~n当个数为1时候 移动步骤为第一步:1号盘 a->b当个数为2时候 移动步骤为第一步:1号盘 a->b第二步:2号盘 a->c当个数为3时候 移动步骤为第一步:1号盘 a->b第二步:2号盘 a-

2020-10-14 15:42:22 239 1

原创 信息论中的香农熵、条件熵、最大熵、相对熵、交叉熵理解

信息论基础前几天朋友问我决策树中的香农熵公式来源的理解,我很早以前看过,但是发现现在又什么都回答不出了,所以决定补一下信息论的基础。这里记录下自己的理解信息熵、香农熵信息熵也叫香农熵信息熵用于表示随机变量不确定性,即信息熵越大则变量的不确定性越大,即包含的信息量越大先来看看信息熵的定义设X是离散型随机变量,分布概率如下P(X=xk)=pk,k∈(1,2,⋯ ,n−1,n)P(X=x_k)=p_k,\quad k \in (1,2,\cdots,n-1,n)P(X=xk​)=pk​,k∈(1,

2020-10-08 11:27:04 3218 2

原创 Pytorch黑盒攻击音频分类网络(目标与非目标攻击)实验结果与代码

基于Pytorch的黑盒攻击攻击的模型攻击的类型是无目标攻击,改天再尝试下目标攻击攻击的模型是我之前训练好的一个分类网络参考下面这篇博客https://blog.csdn.net/qq_37633207/article/details/108926652攻击的效果攻击效果还不错,基本上几次迭代就攻击好了,可能是自己训练的网络比较垃圾,自己训练的分类网络精度为93.499%,我太难了先来两张攻击的效果图首先是原来的音频,我这里是随机选取一个音频波形图对比再来一张图片,由

2020-10-06 19:40:43 2811 4

原创 Pytorch音频分类

pytorch实现音频分类代码这两天学习了下pytorch,动手练习练习数据集:来源是KAGGLE的一个音频分类的比赛数据集介绍:(需要梯子)https://urbansounddataset.weebly.com/urbansound8k.html数据集分为10类:代表不同的声音在我下载的文件里面是这样的结构 外面是一个train 里面是train.csv 以及Train Train里面包含了一堆音频WAV文件训练集文件结构train.csv文件结构Keras实现话说还是Ke

2020-10-05 11:56:26 6853 7

原创 BP神经网络的详细推导 与 完整代码

文章目录BP推导全过程一些变量的含义BP推导全过程BP的整个过程还是很严谨的一些变量的含义这里的的网络采用三层感知机结构以简单的sigmod函数如为例:f(x)=11+e−xf(x)′=f(x)(1−f(x))f (x)=\frac {1}{1+e^{-x}}\\f(x)'=f(x)(1-f(x))f(x)=1+e−x1​f(x)′=f(x)(1−f(x))下面定义一些变量输入向量X=(x1,x2,⋯xn)T隐层输出向量Y=(y1,y2,⋯ym)T输入层到隐层的权重VV=()V=[v

2020-10-01 20:31:55 3497 5

原创 算法笔记(c++)--回文

                  算法笔记(c++)--回文#include<iostream>#include<algorithm>#include<vector>using namespace std;int main(){ std::string s; char h[1000]; int max=0...

2018-08-30 09:10:00 81

原创 算法笔记(c++)--完全背包问题

          算法笔记(c++)--完全背包和多重背包问题完全背包完全背包不同于01背包-完全背包里面的东西数量无限假设现在有5种物品重量为5,4,3,2,1         价值为1,2,3,4,5       背包容量为10#include <iostream>#include<algorithm>using namespace...

2018-08-04 13:39:00 296

原创 算法笔记(c++)--关于01背包的滚动数组

            算法笔记(c++)--关于01背包的滚动数组关于01背包问题:基本方法我这篇写过了。https://www.cnblogs.com/DJC-BLOG/p/9416799.html但是这里数组是N^2,据说滚动数组可以用1维来代替二维。我想了想也没想通。干脆老方法,一步步列出来就懂了。先上下滚动数组的代码,然后分析代码:dp[N];//这里只用一维的...

2018-08-04 10:35:00 149

原创 算法笔记(c++)--01背包问题

               算法笔记(c++)--经典01背包问题算法解释起来太抽象了。也不是很好理解,最好的办法就是一步步写出来。背包问题的核心在于m[i][j]=max(m[i-1][j],m[i-1][j-w[i]]+v[i])这个公式理解起来还是有点麻烦的特别我这种脑子笨的人。所以我先上段代码,然后那数据一步步分析就行了。先上代码:代码稍微看看就行了,关键我下面的解释,...

2018-08-03 23:07:00 152

原创 算法笔记(c++)--c++中碰到的一些用法

          算法笔记(c++)--c++中碰到的一些用法toupper(xxx)可以变成大写;tolower(xx)小写isalpha(xxx)判断是不是字母isalnum(xx)判断是不是数字abs(xxx)绝对值为了防止空格问题想要读取一行字符串可以用getline()函数string.substr(pos,len)获取从pos位置开始的后len长度的字符...

2018-08-02 00:44:00 72

原创 算法笔记(c++)--求一个数的所有质数因子

            算法笔记(c++)--求一个数的所有质数因子先贴题目:    这题不难,恶心在理解上面。最后看评论知道了怎么回事:  2*2*3*3*5=180按照这逻辑的话应该输入的数由一系列质数相乘出来,所以每次找到一个质数就要更新下输入数.。问题1:没问题的话一瞬间都是这么想的。更新后重新来一遍for。重新探索一遍质数。但是仔细想想,题目要求从小到大,能2...

2018-08-01 21:12:00 1839

原创 算法笔记(c++)--桶排序题目

              算法笔记(c++)--桶排序记得题目是排序,输入n个1-1000的数字然后去重然后排序。桶排序没毛病#include<iostream>using namespace std;int main(){ int N,n; cin>>N; int a[1001]=0; while(N--) ...

2018-08-01 20:51:00 202

原创 算法笔记(c++)--使用一个辅助栈排列另一个栈

             算法笔记(c++)--使用一个辅助栈排列另一个栈  仅仅使用一个辅助栈,不使用其他数据结构来排列一个栈,要求,上大下小。分析下。肯定是先吧主栈中的数据都放到辅助栈中,在辅助栈中上小下大。1.首先循环提取主栈中的top,如果辅助栈为空就直接放进去,如果比辅助栈顶小也直接放进去,如果比辅助栈顶大就把辅助站中元素一个个弹到主栈中,直到找到比栈顶小或者栈为空就放...

2018-07-25 16:17:00 122

原创 算法笔记(c++)-使用递归函数逆序一个栈

---恢复内容开始---                使用递归函数逆序一个栈题目:使用递归函数,不借助其他数据结构逆序一个栈。我的思路:使用递归函数保存栈中变量。  递归函数分两个,一个获取并移除栈底元素,另一个负责逆序。其实俩个递归思路基本一致。  获取并移除栈底元素的递归结构图如下:      这个结构很清楚了。照着写就是代码了。  代码如下int get_...

2018-07-24 15:00:00 97

原创 深度学习-tensorflow学习笔记(2)-MNIST手写字体识别

          深度学习-tensorflow学习笔记(2)-MNIST手写字体识别超级详细版这是tf入门的第一个例子。minst应该是内置的数据集。  前置知识在学习笔记(1)里面讲过了  这里直接上代码 1 # -*- coding: utf-8 -*- 2 """ 3 Created on Fri May 25 14:09:45 2018 4 5 @aut...

2018-06-09 15:30:00 224

原创 opencv-学习笔记(6)图像梯度Sobel以及canny边缘检测

                                    opencv-学习笔记(6)图像梯度Sobel以及canny边缘检测这章讲了sobel算子scharr算子Laplacion拉普拉斯算子图像深度问题Canny检测图像梯度sobel算子和scharr算子sobel算子是高斯平滑与微分操作的结合体,所以它的抗噪声能力很强我们可以设定求导的方...

2018-06-03 13:48:00 180

原创 opencv-学习笔记(5)形态学转变

              opencv-学习笔记(4)形态学转变本章讲了几种形态学操作腐蚀erode膨胀dilate开运算MORPH_OPEN闭运算MORPH_CLOSE形态学梯度MORPH_GRADIENT礼帽MORPH_TOPHAT黑帽子MORPH_BLACKHAT腐蚀erode首先卷积核滑动,如果对应的原图像所有像素都是1,中心元素就保持,否则为0随着卷...

2018-06-02 21:25:00 90

原创 opencv-学习笔记(4)-模糊

                            opencv-学习笔记(4)-模糊本章要点:4种模糊方式2d卷积Cv2.filter2D(‘图像对象’,‘目标图像这里直接设为-1即可’,kernal,anchor(-1,-1))一般后一个参数略去就行Kernal的定义用nump.ones((5,5),np.float)/25 这里可以自己调节import...

2018-06-02 19:47:00 195

原创 opencv-学习笔记(3)

                opencv-学习笔记(3)这章讲了图像加法opencv测试效率IPYTHON测试效率图像加法cv2.add()要求,两图片必须大小类型相同然后是图像混合cv2.addWeighted(img_one,alphe,img_two,alphe,b)公式接下来是opencv对运行时间的定位用函数cv2.getTickCou...

2018-06-02 16:20:00 66

原创 opencv-学习笔记(2)

                opencv-学习笔记(2)这章记录了获取像素点,改变像素点获取图像的属性(行,列,通道数,数据类型)roi感应区拆分以及合并图像通道边缘扩充opencv获取像素点,改变像素点----下面是一般方法获取像素很简单只需要img[x,y]就可以获取像素img[x,y,0/1/2]就可以获取brg中某一值修改也很简单img[100,1...

2018-06-02 16:03:00 62

原创 opencv-学习笔记(1)常用函数和方法。

                    opencv-学习笔记(1)常用函数和方法。cv2.imread(filename,falg)filename是文件名字flag是读入的方式cv2.MREAD_UNCHANGED :不进行转化,比如保存为了16位的图片,读取出来仍然为16位。cv2.IMREAD_GRAYSCALE :进行转化为灰度图,比如保存为了16位的图片,读取出来...

2018-05-31 22:06:00 96

原创 py3.6+anaconda下安装opencv3

              py3.6+anaconda下安装opencv3首先声明-网上的方法大多数都是有毒的。也不知道给的什么鬼方法都不行。我说下我的方法。去这个网站https://pypi.tuna.tsinghua.edu.cn/simple/opencv-python/下载对应的版本然后下载到自己的anaconda下的F:\ADa\Lib\site-packages我是...

2018-05-31 09:57:00 59

原创 数据结构-排序-桶排序

                            数据结构-排序-桶排序先看下桶排序的基本思想假定排序的值都在0~m-1之间,设置m个桶,依次把值为i的记录分配到第i个桶中,然后把个个桶的记录依次收集起来。首先上下结构图下标keynext03(1)115(1)223(2)331445(2)5566...

2018-05-27 16:19:00 98

原创 tensorflow学习笔记(4)-学习率

              tensorflow学习笔记(4)-学习率首先学习率如下图所以在实际运用中我们会使用指数衰减的学习率在tf中有这样一个函数tf.train.exponential_decay(learning_rate, global_step, decay_steps, decay_rate, staircase=False, name=None)首先看下...

2018-05-27 12:20:00 447

原创 tensorflow学习笔记(3)前置数学知识

              tensorflow学习笔记(3)前置数学知识首先是神经元的模型接下来是激励函数神经网络的复杂度计算层数:隐藏层+输出层总参数=总的w+b下图为2层如下图w为3*4+4个 b为4*2+2接下来是损失函数主流的有均分误差,交叉熵,以及自定义这里贴上课程里面的代码# -*- coding: utf-8 -*-"""Crea...

2018-05-26 23:37:00 102

原创 tensorflow学习笔记(2)-反向传播

              tensorflow学习笔记(2)-反向传播  反向传播是为了训练模型参数,在所有参数上使用梯度下降,让NN模型在的损失函数最小  损失函数:学过机器学习logistic回归都知道损失函数-就是预测值和真实值得差距,比如sigmod或者cross-entropy  均方误差:tf.reduce_mean(tf.square(y-y_))很好理解,假如在欧...

2018-05-26 22:24:00 82

原创 tensorflow学习笔记(1)-基本语法和前向传播

                 tensorflow学习笔记(1)  (1)tf中的图    图中就是一个计算图,一个计算过程。 图中的constant是个常量  计算图只描述过程,不执行。  (2)tf中的会话  那么怎么计算呢?  tensorflow有个会话是专门用来计算的import ...

2018-05-26 19:52:00 71

原创 深度学习-tensorflow学习笔记(1)-MNIST手写字体识别预备知识

      深度学习-tensorflow学习笔记(1)-MNIST手写字体识别预备知识  在tf第一个例子的时候需要很多预备知识。tf基本知识香农熵交叉熵代价函数cross-entropy卷积神经网络softmax  这里用到的tf基本知识tf.tensor-张量,其实就是矩阵。官方说法是原料tf.Varible-变量,用来记录数据,参数...

2018-05-26 16:15:00 105

原创 数据结构-查找-散列表的线性探测已经拉链法的查找

                  哈希表  先说哈希表散列函数的设计有几种直接定址法(一般没啥用,消耗空间太大了)除留余数法(一般来说是除以质数,因为质数只有本身和1才可除,这样分布比较均匀,冲突率小)这种方法比较easy也比较常用数字分析法(仅仅对那种数据量具有明显区分特征的才管用,并且要先知道有哪些数值,通常情况下数据是随机分布的)平方取中法(对关键码平方后取中间几位,...

2018-05-23 20:19:00 185

原创 数据结构-查找-折半查找-二叉排序树查找

                折半查找  对于关键码有序的数列,用二分法查找。  比如123456789,要找2,先折半找5,2比5小,继续向左查找,找3,2比3小,继续向左查找,2匹配成功。  可以想到这是个递归的过程我这里递归非递归都写一遍。  首先是非递归的算法。传入一个vector<int> &v和一个 待查找数值k设定查找的下界=0;上界为v...

2018-05-23 16:43:00 669

原创 数据结构-查找-线性表查找技术

                顺序表的查找技术  假设有一组书8,5,9,80,16,5,56。。。。如何查找我们的value?  一般为for(inti=0;i<size;i++)    { if(arry[i]==value) {      return i;    }}return false;  看第一个for循环中每次都需要判断一次i...

2018-05-23 13:38:00 79

原创 数据结构-排序-直接插入排序

                直接插入排序  直接插入排序  直接插入排序类似对扑克牌的整理,初始情况下把前面第一个看作有序序列,然后后面全是无序。  这个排序写过很多遍,但是每次回顾都感觉到设计者精彩巧妙的安排。#include<iostream>#include<vector>using namespace std;//首先定义测试数组 这里...

2018-05-21 23:04:00 135

原创 数据结构-排序-归并排序

                归并排序什么事归并排序??就是把几个有序序列合并先讲简单的2个有序的归并排序思路很简单,不停的比较两个数组的第一个,谁大就把它插入第三方数组,然后下标++,当某一数组遍历完了,直接把另一个数组剩下的值插入即可。void two_sort(const vector<int>& v1,const vector<int&...

2018-05-21 22:54:00 53

原创 数据结构-排序-快排

                快速排序  首先快速排序步骤:首先选择轴值把待排序内容分为两部分,左边为小于或者等于轴值,右边为大于轴值然后对左右重复上面步骤直到整个序列有序直接上代码这里先写一次划分的代码这里的一次划分是那第一个数字为轴值,我们也可以用最后一个或者中间的。#include<iostream>#include<vector>...

2018-05-21 21:19:00 63

空空如也

空空如也

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

TA关注的人

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