自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 MSF---MSSQL漏洞发现

msf关于mssql的漏洞发现

2022-09-26 19:00:46 1502 1

原创 MSF---端口扫描

msf端口扫描以及与数据库的联动

2022-09-26 17:20:11 2778

原创 GAN_ex

GANimport mathimport numpy as npimport tensorflow as tffrom tensorflow import kerasfrom tensorflow.keras import layersfrom tensorflow.keras import optimizersfrom PIL import ImageBATCH_SIZE = 32def generator_model(): model = keras.Sequential(

2021-07-14 08:37:43 287

原创 ffmpeg基础命令

ffmpeg基础命令编码转换–01source:被转换视频acodec:用来指定音频编码器libmp3lame:mp3编码器ar:设置音频采样率,默认使用原音频采样率。一般为48hz和44.1hzab:指定音频的比特率,默认为128kac:用来设置声道数,1表示单声道,2表示双声道立体声,默认采用原音频的声道数dst:转换后视频ffmpeg -i sorce -acodec libmp3lame -ar 44100 -ab 320k -ac 2 dst属性查看ffprobe

2021-05-09 23:36:04 1678 2

原创 ffmpeg相关使用工具

ffmpeg相关使用工具文件信息查看:mediainfo封装格式:Elecard Format Analyer编解码数据:Elecard Stream Eye视频:YUV player音频:Adobe Audition协议查看数据和跨平台数据:Vlc 和 ffplay

2021-05-09 23:33:20 104

原创 ffmpeg---音视频基本概念介绍

ffmpeg—音视频基本概念编码(encode):通过特定的压缩技术,将某个视频的视频流格式转换为另一种视频格式的视频流方式。是一种减少字节的算法。解码(decode):通过特定的解压缩技术,将某个视频格式的视频流转换成另一种视频格式的视频流方式。对经过encode的数据进行还原的一种算法。转码(transcode):视频转码技术将视频信号从一种格式转换为另一种格式。一:编码​ 编码是针对图片序列而言的,当有一张图片时,并不需要编码。如果有一堆连续图片,则会形成图片流,如果编码的方式为H264,则

2021-05-09 23:31:53 217

原创 Tensorflow环境配置

Tensorflow环境的配置​ Tensorflow分为CPU版本和GPU版本。GPU版本的Tensorflow可用利用NVIDIA GPU强大的计算加速能力,使Tensorflow的运行更为高效,尤其是可以成倍提升模型训练的速度。​ tensorflow2.3兼容的python版本为:3.5~3.7一:最新Tensorflow 2.3 CPU版本的安装安装anaconda以下命令均在anaconda虚拟环境中输入,请提前进入虚拟环境升级pip版本如果pip版本大于19.0,可忽略此

2021-04-18 15:37:44 1953

原创 GRU网络简介

GRU网络一:GRU简介​ GRU玩咯是对LSTM网络的简化,GRU使记忆体ht融合了长期记忆和短期记忆,ht包含了过去信息ht-1和现在信息h`t,现在信息是过去信息ht-1过重置门与当前输入共同决定,两个门限的取值范围也是0到1之间。前向传播时,直接使用这个记忆体更新公式就可以算出每个时刻的ht值了。公式如下:更新门:zt = α(Wz[ht-1, xt])重置门:rt = α(Wr[ht-1, xt])记忆体:ht = (1-zt) * ht-1 + zt * h`t候选隐藏层:h`t

2021-03-22 22:52:34 2451

原创 LSTM(长短记忆网络)

LSTM(长短记忆网络)一:LSTM简介​ 传统的循环网络RNN可以通过记忆体实现短期记忆进行连续数据的预测,但是当连续数据的序列变长时,会使时间展开步更长,在反向传播更新参数时,梯度要按时间步连续相乘,会导致梯度消失,所以出现了长短记忆网络。长短记忆网路引入了如下概念:输入门(门限):it = α(Wi[ht-1,xt] + bi)遗忘门(门限):ft = α(Wj[ht-1,xt] + bf)输出门(门限):ot = α(Wo[ht-1,xt] + bo)细胞态(长期记忆):

2021-03-22 22:50:47 1293

原创 Opencv基础教程

Opencv一:图像基本操作数据读取-图像cv2.IMREAD_COLOR: 彩色图像cv2.IMREAD_GRAYSCALE: 灰度图像cv2.imread(“image_path”, cv2.IMREAD_COLOR/cv2.IMREAD_GRAYSCALE)opencv读取的格式是BGRimg = cv2.imread("car01.jpg", cv2.IMREAD_COLOR)图像显示,可以创建多个窗口cv2.imshow(“窗口名称”, 数据对象)cv2.imshow

2021-03-22 22:48:43 512

原创 循环神经网络介绍与案例解析

循环神经网络一:循环核循环核:参数时间共享,循环层提取时间信息。循环核具有记忆力,通过不同时刻的参数共享,实现了对时间序列的信息提取。结构图如下:可以通过设定记忆体的个数来改变记忆容量,当记忆体的个数被指定,输入xt,输出yt维度被指定,那么那些待训练参数的维度也就被限定了记忆体内存储着每个时刻的状态ht,记忆体当前时刻存储的状态信息ht公式如下:ht=tanh(xtwxh+ht−1whh+bh)h_t = tanh(x_tw_{xh} + h_{t-1}w_{hh} + bh)ht​=t

2021-03-19 00:09:13 1001

原创 线性表原理及算法实现

线性表一:概念和性质基本概念线性表是相同数据类型的n个数据元素的有限序列A=(a1,a2,...ai−1,ai,ai+1,...,an)A=(a_1,a_2,...a_{i-1},a_i,a_{i+1},...,an)A=(a1​,a2​,...ai−1​,ai​,ai+1​,...,an)​ n表示线性表A的长度,当n=0时,表示A是空表。​ 其中,元素a1为表头元素,无前驱;an为表尾元素,无后继;ai-1称为ai的直接前驱,ai+1称为ai的直接后继。线性结构特点在数据

2021-03-13 16:55:35 2394

原创 5种经典卷积网络

5种经典卷积网络将要介绍的5种卷积网络如下:一:LetNet​ LetNet由Yann LeCun于1998年提出,是卷积网络的开篇之作。通过共享卷积核减少了网络的参数。在统计卷积神经网络层数时,一般只统计卷积计算层和全连接计算层,其余操作可以认为是卷积计算层的附属。​ LeNet一共有5层网络,使用如下模型配置。模型概述输入为32x32x3的特征图,使用2层卷积网络,3层全连接。第一层卷积网络卷积核尺寸为5x5,个数为6个,步长为1。第二层卷积网络卷积核尺寸为5x5,卷积核个数为16个

2021-03-10 13:51:04 2800

原创 卷积网络过程解析

卷积网络过程详解一:卷积(Convolutional)​ 实际项目中,输入神经网络的是具有更高分辨率的彩色图片,使得送入全连接网络的输入特征数过多,随着隐藏层层数的增加,网络规模过大,待优化参数过多,很容易使模型过拟合。为了减少待训练参数,我们再实际应用时,会先对原始图片进行特征提取,把提取来的特征送给全连接网络,让全连接网络输出识别结果。​ 卷积计算可认为是一种有效提取图像特征的方法。一般会用一个正方形的卷积核,按指定步长,在输入特征图上滑动,遍历输入特征图中的每个像素点。每一个步长,卷积核会与输入

2021-03-10 11:40:38 2010

原创 神经网络八股功能扩展

神经网络八股功能扩展一:自制数据集预测本地图片import tensorflow as tfimport numpy as npimport osfrom PIL import Image as imtrain_path = 'D:\python 文件\项目\数据集\class4\class4\MNIST_FC\mnist_image_label\mnist_train_jpg_60000\\'train_txt = 'D:\python 文件\项目\数据集\class4\class4\

2021-03-08 22:15:55 229 1

原创 Tensorflow之搭建神经网络八股

Tensorflow之搭建神经网络八股步骤:导入模块划分训练集和测试集在Sequential()中或利用class搭建网络结构在compile()中配置训练方法,选择优化器,选择损失函数,选择评测指标在fit()中执行训练过程,告知训练集和测试集的输入特征和标签,batch级别,迭代次数summery()打印网络的结构和参数一:模块及方法介绍Sequential()model = tf.keras.models.Sequential([网络结构])用于描述各层网络用Seque

2021-03-08 09:00:02 397

原创 基于tensorflow的神经网络优化

神经网络优化优化目标:学会神经网络优化过程,使用正则化减少过拟合,使用优化器更新网络参数设计知识点:神经网络复杂度,指数衰减学习率,激活函数,损失函数,欠拟合与过拟合,正则化减少过拟合,优化器更新网络参数一:tensorflow函数补存针对上一篇博客的tesorflow,增加一些函数。条件语句tf.where(条件语句,真返回A,假返回B)条件语句真返回A,条件语句假返回其中,greater()函数是比较a,b两个张量每一列对应的值的大小,若a>b,则为True,若a<b,则

2021-03-07 15:02:57 283

原创 Tensorflow的使用与案例介绍

Tensorflow的使用与案例一:数据类型tf.int,tf.float…​ tf.int32,tf.float32,tf.float64tf.bool​ tf.constant([True,False])tf.string​ tf.constant(“Hello World”)二:创建Tensor​ Tensor意为张量,是多维数组。张量可以表示0阶到n阶数组,阶就是张量的维数。维数阶名字例子00标量(scalar)s = 111向量(vect

2021-03-06 09:47:02 372

原创 二叉树相关算法实现

二叉树算法实现一:二叉链表的建立和遍历例,建立如图所示二叉链表:# 定义结点类class BNode: def __init__(self,data=None,lchild=None,rchild=None): self.data = data self.lchild = lchild self.rchild = rchild# 先序遍历函数def preorder(T): if T == None: return print(T.data, end="") pre

2021-02-21 15:26:41 476 1

原创 集成学习

集成学习​ 在决策树中,一棵树得出的结果往往拟合度不够好。所以引入了集成学习。集成学习(Ensemble learning)是用多种学习方法的组合来获取比原方法更优的结果。​ 用于组合的算法是弱学习算法,即分类正确率仅比随机猜测略高的学习算法,但是组合之后的效果仍可能高于强学习算法,即集成之后的算法准确率和效率都很高。一:装袋法(Bagging)​ 装袋法又称Bootstrap Aggregating,其原理是通过组合多个训练集的分类结果来提升分类效果。​ 比如在n个样本的数据集中,不是检验一次,

2021-02-19 15:15:26 1309

原创 二叉树结构与算法思路解析

二叉树介绍主要内容二叉树的概念和性质二叉树的存储结构遍历二叉树递归遍历非递归遍历线索二叉树哈夫曼树树和森林树和森林的存储树和森林与二叉树的转换树和森林的遍历树型结构特点一对多例:自然界,树人类社会,家谱,新政组织结构计算机领域操作系统的文件组织结构基于26个字母索引的查找树等编译原理中表达式求值操作等一:树和二叉树的基本概念树的定义树是n(n>=0)个结点的有限集合,在任一棵非空树中:有且仅有一个称为根的结点;其余结

2021-02-18 16:01:34 3585

原创 决策树算法

Decision Tree(决策树)算法一:概述Decision Tree是属于监督学习中的一种算法,并且是一种基本的分类与回归的算法,也就是说,决策树有两种:分类树和回归树。​ 决策树算法的本质是树形结构。我们可以把决策树看作是一个if-then规则的集合。将决策树转换为if-then规则的过程是这样的:由决策树的根节点到叶节点的每一条路径构建一条规则路径上中间节点的特征对应这规则的条件,即样本的特征,叶节点对应规则的结论,即样本的标签决策树的路径或者其对应的if-then规则集合有一

2021-02-14 17:19:39 1233

原创 分类算法之K-Nearest Neighbors

分类算法之K-Nearest Neighbors一:认识KNN算法K-Nearest Neighbors又称为k最近邻算法。最初由Cover和Hart在1968年提出。属于Classification(分类)算法。Classification算法一般分为两个阶段,训练阶段和学习阶段二:算法原理通用步骤:计算距离(常用欧式距离或马氏距离)升序排列取前k个加权平均k的选取:k太大:导致分类模糊k太小:手个例影响,波动较大如何选取k:经验均方根误差原理代码实现:数据如下

2021-01-20 11:05:06 160

原创 pandas 数据清洗与异常值处理

一:检测与处理缺失值的操作创建一个表格import pandas as pdimport numpy as npdata = pd.DataFrame({ "goods":["苹果","香蕉","芒果","猕猴桃","榴莲"], "price":[3.5, 2, np.NAN, 3, np.NAN], "num":[np.NAN, 41, 20, 12, np.NAN]})isnull判断元素时空值,如果是空值返回True,不是空值则返回False# 判断

2021-01-18 23:05:40 11603

原创 字符串--KMP算法详细解析

字符串—KMP算法详细解析一:概述给定文本串text和模式串pattern,从文本串text中找出模式串pattern第一次出现的位置最基本的字符串匹配算法暴力求解(Brute Force):时间复杂度(m*n)KMP算法是一种线性时间复杂度的字符串匹配算法,它是对BF算法的改进记:文本串长度为N,模式串长度为MBF算法的时间复杂度为O(M*N),空间复杂度为O(1)KMP算法的时间复杂度O(M+N),空间复杂度为O(M)二:BF算法(暴力求解过程)图解:

2021-01-17 23:45:35 2358 1

原创 分类算法之K-Nearest Neighbors

分类算法之K-Nearest Neighbors一:认识KNN算法K-Nearest Neighbors又称为k最近邻算法。最初由Cover和Hart在1968年提出。属于Classification(分类)算法。Classification算法一般分为两个阶段,训练阶段和学习阶段二:算法原理通用步骤:计算距离(常用欧式距离或马氏距离)升序排列取前k个加权平均k的选取:k太大:导致分类模糊k太小:手个例影响,波动较大如何选取k:经验均方根误差三:算法应用简单K

2021-01-17 17:13:07 499 1

原创 GO 数组与切片详解

GO 数组与切片一:数组数组是存放元素的容器,必须指定存放的元素的类型和容量(长度)数组是值类型,赋值和传参会复制整个数组。因此改变副本的值,不会改变本身的值。注:数组的长度是数组类型的一部分,即如果两个数组的长度不一样是无法进行比较的(一):数组定义var 数组变量名 [元素数量]类型数组的长度必须是常量,并且长度是数组的一部分。一旦定义,长度不能变。[3]int 和 [4]int是不同的类型数组可以通过下标进行访问,下标是从0开始的,最后一个元素下标是len-1。var a [3]in

2021-01-05 22:57:49 1365

原创 栈和队列精华解析

一:栈和队列简介栈和队列是使用频率最高的数据结构。栈和队列是指插入和删除只能在表的一端进行的线性表。从数据结构的角度来看,栈和队列也是线性表,其特殊性在于栈和队列的基本操作是线性表操作的子集,它们是操作受限的线性表,因此可称为限定性的数据结构。栈先进后出(限定性操作)栈具有后进先出的特性,如果问题解决具有先进后出的天然特性的话,则求解的算法就要使用栈。比如:进制转换,括号匹配,表达式求值,函数调用,递归调用,八皇后问题,迷宫求解等。队列(限定性操作)先进先出队列具有先进先出的特性,如果问题解

2021-01-05 22:03:24 1741 17

原创 pandas 表格操作

pandas 表格操作假设有一张表格,为它赋值为data,data里面有一个列索引为"order_time",类型为字符串一:时间处理注:以下的操作都是针对时间类型来处理的to_datetime将其它类型转换为时间类型# 将字符串类型的order_time转换为时间类型,并代替原表格中的order_time列data["order_time"] = pd.to_datetime(data["order_time"])时间类型提取series.dt.时间属性时间属性:yea

2021-01-05 15:25:03 1279 3

原创 GO 运算符

运算符Go语言内置的运算符有:算术运算符关系运算符逻辑运算符位运算符赋值运算符一:算术运算符运算符描述+相加-相减*相乘/相除%取余注意:++(自增) 和 --(自减)在Go语言中是单独的语句,并不是运算符二:关系运算符运算符描述==等于!=不等>大于,>=大于等于<小于<=小于等于满足条件则返回True,不满足则返回False三:

2021-01-02 20:33:46 395

原创 Go 流程控制

Go流程控制Go语言中最常用的流程控制有if和for,而switch和goto主要是为了简化代码,降低重复代码而生的结构,属于扩展类的流程控制。一:if else(分支结构)package mainimport "fmt"func main() { age := 36 // 单个条件判断 // if后边跟一个表达式,表达式返回的必须为一个布尔值 // if age > 18 { // 满足条件执行的代码 // fmt.Println("你可以去网吧了") // }else

2021-01-02 16:59:33 97

原创 pandas 数据读取与保存

pandas 数据读取与保存一:读取表格数据例:在一个text.xlsx文件中,有text1,text2,text3三张表格sheetname切换sheet表格可以传入整形,表示从0开始的索引pd.read_excel(r"text.xlsx",sheetname=1)可以传入表名称pd.read_excel(r"text.xlsx",sheetname="text1")可以传入list,混合使用,如[“sheetname”,2]pd.read_excel(r"tex

2020-12-30 19:18:52 3273 18

原创 Pandas 基本操作

Pandas基本操作简介表格数据操作(增删改查)实现多个表格的处理数据清洗操作:缺失值,重复值,异常值,数据标准化,数据转化的操作实现excel的特殊操作:生成透视表,交叉表完成统计分析一:构建dataframedataframe同时拥有行索引和列索引,所以它是二维的导入模块import pandas as pd构建dataframe方法一columns:列索引index:行索引,可以不写,会自动以数字补全data:表格中的值df1 = pd.DataFrame(data

2020-12-29 20:00:12 516 2

原创 matplotlib 绘图教程,含各种图形

matplotlib 绘图一:折线图绘制安装模块pip3 install matplotlib创建画布plt.figure()指定x,y的值x = np.arange(1, 11, 1)y = 2 * x + 1绘制图形:折线图color:线的颜色marker:点的样式linestyle:线的样式markerfacecolor:点的内部颜色markersize:点的大小markeredgecolor:点的边缘颜色alpha:透明度plt.plot(x,

2020-12-28 23:17:03 1508 1

原创 matplotlib 不规则子图的绘制

不规则子图的绘制在上一篇博客中我们将了如何绘制规则分布的子图,接下来我们将一下不规则子图的分布该如何操作。思路:先将整个画布切分为nxm的格式,要求每一个子图都能由小格拼成,然后将子图包含的小格切出来就好例:我们绘制如下图所示分布的子图,不同颜色为不同的分析:我们将整个画布划分为5x4的布局,使得每一个子图都能由我们划分的小格组成。对于红色块,我们将它切出来,他的切法为[:3,:3];对于黄色块,它的切法为[:2,3:];对于绿色块,它的切法为[2,3:];对于紫色块,它的切法为[3:,:2];对

2020-12-28 20:20:54 2290 1

原创 matplotlib详细讲解,附图

matplotlib 绘图一:散点图绘制安装模块pip3 install matplotlib创建画布plt.figure()指定x,y的值x = np.arange(0,2*np.pi,0.1)y = np.sin(x)绘制图形:散点图plt.scatter(x,y)图形美化坐标轴名称# 设置x轴名称plt.xlabel("x")# 设置y轴名称plt.ylabel("y")设置刻度# 设置x轴刻度plt.xticks([1,2,3,

2020-12-27 17:03:18 432

原创 斐波那契数列的复杂度分析与优化

斐波那契数列的时间复杂度# 斐波那契递归函数def fib(n): if n < 3: return 1 return fib(n-2) +fib(n-1)分析:​ 使用递归树的方式来计算斐波那契数列的时间复杂度​ 这里假设我们在递归的最后两层进行了n次操作​ ​ 由斐波那契的递归树图我们可以看出,从下到上进行递归运算的时候,程序运行的次数是以2^x方式增加的。​ 我们来计算一下f(7)的运行次数​ 想要得到运行次数,首先我们要得到递归的深度,其中有2层为基本层​ n

2020-12-26 23:36:17 2202

原创 numpy矩阵和数组

numpy矩阵和数组numpy:计算模块,主要有两种数据类型,数组和矩阵特点:运算快一:矩阵创建导入模块import numpy as np创建一个3x2矩阵行以分号;隔开mat1 = np.mat("1 2;2 3;3 4")print(mat1)# 结果[[1 2] [2 3] [3 4]]矩阵相加mat2 = np.mat("3 4;6 7;8 9")print(f"{mat1 + mat2}")# 结果[[ 4 6] [ 8 10] [11 13]]

2020-12-24 21:46:04 722 1

原创 numpy统计分布方法

numpy统计分布方法最小值和最大值min():获取整个数组中最小的值max():获取整个数组中最大的值axis参数:如果没有axis参数则获取整个数组的最小值或最大值,返回的为一个值。如果axis=0(1),则获取对应纵轴(横轴)方向的数组,即取出每一行(列)的最大值或最小值# 不加参数arr = np.array([[14,4,46,11],[11,44,33,22],[10,32,22,17]])print(arr.max())print(arr.min())# 结果

2020-12-24 17:29:50 2382 1

原创 Numpy二进制文件、文本文件的保存与读取

Numpy文件操作一:二进制文件概念:如果一个文件的后缀是 .npy / .npz 则为一个二进制文件二进制文件生成np.save(“file_name”,array)注:save默认保存的为.npy文件,file_name可不加后缀,且只能保存一个数组arr1 = np.random.random(100).reshape((10,10))np.save("arr1",arr1)二进制文件读取np.load(“file_name”)注:读取时文件名必须加后缀名data =

2020-12-24 17:28:52 2857 1

空空如也

空空如也

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

TA关注的人

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