- 博客(373)
- 资源 (14)
- 收藏
- 关注
原创 flowcontainer: 基于python3的pcap网络流量特征信息提取库
库介绍flowcontainer是本人编写的基于python3的网络流量基本信息提取库,方便做加密网络流量的分类任务。给定pcap文件,该库会提取pcap所有的流的相关信息,其中流信息包括:流的源端口、源IP、目的IP、目的端口、IP数据包的长度序列、IP数据集的到达时间序列、有效载荷序列以及相应有效载荷的到达时间序列、TLS的SNI。库会对IP数据包做过滤,那些tcp/udp载荷不为0的数据包会统计到有效载荷序列里面。工具简单易用,扩展性和复用性高。库的安装pip3 install git+http
2020-07-06 05:56:22 19070 56
原创 Windows Edit 10注册码
注册码:Name:Cracker TeCHiScyRegister Code:1130140925535334280WinEdit下载URL:http://www.winedt.com/download/winedt103-64.exe2019-08-19实测有用
2019-08-19 16:02:42 3919 2
原创 网络流量领域公开数据集及工具库
流量分类领域数据集本博客持续更新,收集平常读论文时提高的公开数据集和工具库。数据集详情http://traces.cs.umass.edu/index.php/Network/Network 系列:这个网站提供了该学院很多数据集,这些数据集是他们发表论文时提取的,然后公开出来。WebIdent 2 Traces数据集描述:A collection of traces of web reque...
2019-05-29 10:35:32 45342 41
原创 splitpcap 使用说明
当PCAP原始文件特别巨大的时候,整个文件直接载入内存是相当耗时的,于是一个简单的想法是将大的PCAP切分成若干小PCAP。对于这个任务,现有工具splitcap是可以完成的。无论是按照主机对、还是按照五元组信息切分,splitcap都会将原始PCAP切分的过于分散。考虑一个包括100W个会话的、文件大小为6G的原始PCAP,经过splitcap切换后可能会得到100W个小pcap文件。
2023-06-05 17:23:44 1712
原创 背包问题专题及练习
0/1 背包问题OJ 题目链接题意:有 NNN 件物品和一个容量为 MMM 的背包。第 iii 件物品的重量是 WiW_iWi, 价值是 DiD_iDi 。求解将哪些物品装入背包可使这些物品的重量总和不超过背包容量,且价值总和最大。这是最原始的01背包问题,每件物品要么选,要么不选。这道问题的思路是:记 dp[i][j]dp[i][j]dp[i][j] 表示前i 个物品放入容量为j 的背包里面可以获取的最大收益。那么我们考虑第 i 个物品,它有两种状态:选择第i 件物品和不选中第i 件物品。
2022-04-22 09:57:12 793
原创 投稿warning: Font T8 is of type Type 3 问题定位和解决。
在EDAS系统投稿,报这么个warning:初看这个错误,觉得是莫名其妙。啥是Type 3? 啥是T8 ??? 气死人。问题定位:使用adobe acrobat打开PDF, 打开工具栏的高级==》印前检测点击分析打开结果里面的字体,查看详情:可以看到的确有Type 3和T8的字眼, 双击这些Type 3字体,可以定位到PDF的具体内容例如,在我的论文里面,所有的type3都是origin 导出的图。说明这是origin导出过程的锅。问题解决于是打开origin的export
2022-02-17 10:00:16 2141
原创 win10中 openssh-server启动GUI程序
目前遇到一个问题:ssh-server是一个win10服务器,把它叫做S主机吧,里面安装了openssh-server,同时以服务的形式启动ssh服务。ssh-client是任意一个操作系统的主机,里面安装了openssh-client,把它叫做C主机吧。需求:现在有个C通过ssh通道连接到S,启动某特定GUI程序,比如chrome。问题:chrome的GUI界面没有启动,不过进程列表是可以看到程序在运行的。问题定位:https://stackoverflow.com/questions/5
2021-12-29 19:34:13 2170
原创 pytorch 冻结部分参数
pytorch里面每个参数都有一个requires_grad属性,这个属性为True表示这个参数需要梯度下降优化。属性为False表示这个参数不需要优化。for param in model.parameters(): param.requires_grad = False
2021-12-11 14:14:30 2484 1
原创 Triplet Loss原理及实现
Triplet Loss的动机一个好的特征提取器,应该尽可能的做到同类别样本映射出来的特征会聚集在一起,而不同类别的样本映射出来的特征应该要相互远离。为了达到这个目标,Triplet Loss显式的在Loss里面要求:不同类别之间的距离至少要超过同类别之间距离的某个阈值。如果能够做到这一点,那么类内距和类间距之间差就有一个明显的鸿沟,那么也可以达到上面提到的目标。Triplet Loss的定义Triplet Loss里面包含若干三元组:锚点 anchor正例 positive负例 negat
2021-12-10 11:17:55 3124
原创 latex添加作者照片和作者简介
引入库\usepackage{picins}然后在latex末尾,\end{document}前写:\par\noindent \parbox[t]{\linewidth}{\noindent\parpic{\includegraphics[height=1.5in,width=1in,clip,keepaspectratio]{IMAGE.jpg}}\noindent {\bf AUTHOR_NAME}\BIO_TEXT.}\vspace{4\baselineskip}替换掉文件路径
2021-11-26 17:45:09 5468
原创 pytorch加载模型指定GPU卡号报错或者指定失败
根据pytorch的文档,在加载模型的时候,可以指定将模型的tensor加载到特定目标GPU上。加载方法有:>>> torch.load('tensors.pt')# 1. Load all tensors onto the GPU 0>>> torch.load('tensors.pt', map_location=torch.device('cuda:0'))# 2. Load all tensors onto GPU 1>>> torc
2021-11-22 17:36:31 2630
原创 pytorch性能瓶颈检查
看书的时候,看到pytorch居然自带了瓶颈检查的工具:torch.utils.bottleneck用法:python -m torch.utils.bottleneck 待测脚本路径示例效果:-------------------------------------------------------------------------------- Environment Summary--------------------------------------------------
2021-11-21 16:30:13 1817
原创 python list的deepcopy过慢
程序跑的很慢,使用bottleneck一分析发现问题出在deepcopy上。因为程序是需要对列表进行操作,而我的程序逻辑是要求必须对列表进行深拷贝,于是没有办法绕过。只能想办法加速这个深层拷贝。我想到四种方法第一种:deepcopy,这没得啥说的。是baseline.##直接deepcopydef method1(origin_list, step): for each in range(step): l = copy.deepcopy(origin_list)
2021-11-21 16:17:15 2135 3
原创 Centos 7 源码安装tshark 3.x
Centos yum源带的tshark版本特别低,我们需要更高版本的tshark。下载tshark源码wget -c http://ftp.uni-kl.de/pub/wireshark/src/all-versions/wireshark-3.2.3.tar.xz注意,3.2.3版本是可行的,编译过程不会报错。 178 tar -xvf wireshark-3.2.3.tar.xz 179 cd wireshark-3.2.3 180 cmake3 181* make -i
2021-10-13 15:14:44 1341
原创 GitDown: 下载Github特定文件夹
简介如果Github的项目太大,直接git clone可能下载到半路就中断了,导致反反复复下载不了。这个时候应该咋办呢?本人写了一个支持Github特定文件夹内容下载的项目:GitDown.github地址为:https://github.com/jmhIcoding/GitDown目前已经公开的类似项目,经常会出现下载文件丢失的问题,我这个项目会自动检测丢失,对于未成功下载的文件会反复尝试下载。使用方法安装pip3 install pygithub requestsgit clone
2021-10-01 19:27:52 829 1
原创 windows IPSEC自动重连工具
家里有台电脑,需要通过IPSEC连接到公司里面,但是经常会断。于是看是否存在WINDOWS下的自动重连工具:这是有的。http://blog.evomailserver.com/how-to-make-windows-108-connect-and-reconnect-to-vpn-automatically/安装autovpnconncet以后,它会自动从系统读取已经设置好的vpn列表,填好用户名密码,save即可。还是很好使的!...
2021-09-18 08:53:19 1092
原创 leetcode 1288. Remove Covered Intervals
Given an array intervals where intervals[i] = [li, ri] represent the interval [li, ri), remove all intervals that are covered by another interval in the list.The interval [a, b) is covered by the interval [c, d) if and only if c <= a and b <= d.Ret
2021-09-16 00:42:57 236
原创 刷题:基于拓扑排序的图的环检测算法
有向图,环检测:给定一个有向图,检测里面是否存在环。有向图的环是指,存在一条路径,使得这条路径的起点和终点相同。无向图,环检测:给定一个无向图,检测里面是否存在环。无向图的环是指,存在一条路径,使得这条路径的起点和终点相同。方法:基于拓扑排序的方法:基于拓扑排序可以判断一个图是不是存在环,但是无法解决这个图里面环的个数、环里面节点元素是啥。拓扑排序的算法为:对于有向图,首先将入度为0的节点入队。然后当队列不为空时:依次弹出队首元素;弹出过程中,将这个节点的所有邻居节点的入度都减
2021-09-14 07:48:39 801
原创 1497. Check If Array Pairs Are Divisible by k
题目描述:Given an array of integers arr of even length n and an integer k.We want to divide the array into exactly n / 2 pairs such that the sum of each pair is divisible by k.Return True If you can find a way to do that or False otherwise.给定一个包含偶数个元素的整数数组
2021-09-12 15:12:25 214
原创 networkx画弯曲的边
networkx里面自绘的边都是直的,当多个节点处于同一条直线还有连边的时候就特别难看。如果能否让networkx画弯曲的边,那么这种情况就可以好办的多了。思路为:绘制节点,获取节点的pos坐标。在存在边的两个节点之间,使用贝塞尔插值生成两个节点之间曲线的节点坐标。使用LineCollection绘制线即可。下面为整理的代码:直线连边版:贝塞尔曲线连边版:...
2021-09-05 20:58:16 1874
原创 Ubuntu 16.04安装tshark 3.x
tmd ubuntu 16.04里面apt自带的tshark是2.6的,导致有些协议、字段使用不了,于是需要更新。步骤:sudo add-apt-repository ppa:wireshark-dev/stablesudo apt updatesudo apt install wiresharksudo apt install tshark可能需要换apt源:deb https://mirrors.ustc.edu.cn/ubuntu/ xenial main restricteddeb
2021-09-01 15:25:39 1536
原创 TLS流量的X509证书解析,从pcap获取证书并解析
如何从TLS流里面提取证书,并解析证书的字段?__author__ = 'dk'#x509证书解析try: from cryptography import x509 from cryptography.hazmat.backends import default_backendexcept BaseException as exp: raise BaseException('Please install cryptography library: pip3 install
2021-08-31 19:19:00 3385
原创 Could not create cudnn handle: CUDNN_STATUS_INTERNAL_ERROR
莫名其妙的报错:in tensorflow/stream_executor/cuda/cuda_dnn.cc(953): ‘cudnnSetDropoutDescriptor( handle.get(), cudnn.handle(), dropout, state_memory.opaque(), state_memory.size(), seed)’解决方法:在创建session的时候 加上config。config = tf.ConfigProto() config.gpu_options.
2021-05-21 09:44:47 275
原创 雷电模拟器启动报错:opengl版本过低
解决方法:更新驱动。两个设备的显卡驱动都需要更新,其中NVIDIA NVS可以通过驱动精灵之类的安装。Intel的集成显卡,需要自己去intel的官网下载驱动,然后更新驱动,如果直接从驱动精灵安装会报错如下:无法为此电脑验证正在安装的驱动程式 请从电脑制造商获得适当的驱动程式不要使用远程桌面去启动雷电模拟器...
2021-05-18 09:20:53 10192 2
原创 GraphConvolution的实现说明
GCN是特别常见的图神经网络模型,这个模型在各种图神经网络的开源库都有实现,例如DGL,PYG。但是开源库里面的实现,基本上是空域的图卷积操作,意思是说DGL和PYG里面的邻接矩阵 AAA 都必须是硬定义的。这里的良性定义是指:Aij∈{0,1}A_{ij}\in\{0,1\}Aij∈{0,1},每个元素非0即1,必须能够确定性的知道是否存在节点 iii 和节点 jjj直接的连边。如果我们想要跑soft 的邻接矩阵 Aij∈[0,1]A_{ij}\in[0,1]Aij∈[0,1],这个矩阵里面的元素是连
2021-04-22 17:51:49 2736 1
原创 torch.where函数用法
函数原型:torch.where(condition, x, y) → Tensor作用: 将两个tensor : x和y进行逐元素合并,condition ,x和y需要是相同形状的、或者可以广播为相同形状。假设合并后的结果为z,z的形状为x,y两者的形状或者他们广播后的形状。对于每个下标i,如果condition[i] 满足条件,那么z[i]等于x[i],否则z[i]等于y[i] 。举例:>>> x = torch.randn(3, 2)>>> y = to
2021-04-13 16:38:47 2094
原创 Pytorch-geometric 图神经网络库 教程 (一)
前言之前我是一直使用DGL这个图神经网络库做图神经网络方面的研究的,DGL也是一个特别漂亮的图神经网络开源库。但是DGL有如下两个缺点:DGL适合跑那种邻接矩阵是良性定义的graph。良性定义是指Aij∈{0,1}A_{ij}\in\{0,1\}Aij∈{0,1},邻居矩阵的每个元素不能是连续的。DGL的库更新的慢。此外,DGL主要是基于传统的图计算那套方法来实现的,里面有mailbox之类的,并不是用数学公式来直接表达。Pytorch-geometric则是可以解决如上的两个缺点。因此,
2021-04-05 21:01:00 3281 1
原创 Winodws/Linux 平台上 各个版本pytorch的pip安装
v1.8.0# RocM 4.0.1 (Linux only)pip install torch -f https://download.pytorch.org/whl/rocm4.0.1/torch_stable.htmlpip install ninjapip install 'git+https://github.com/pytorch/vision.git@v0.9.0'# CUDA 11.0pip install torch==1.8.0+cu111 torchvision==0.9
2021-04-01 10:01:03 944
原创 RuntimeError: cublas runtime error : resource allocation failed at THCGeneral.cpp:250
pytorch报错:RuntimeError: cublas runtime error : resource allocation failed at THCGeneral.cpp:250 #10排查方法:如果模型本身没有GPU存储不够的问题,那么考虑使用torch.nn.Embedding()除了问题。embedding_layer = th.nn.Embedding(num_embeddings=3, embedding_dim= self.embedding_dim)那么输入给embed
2021-03-29 22:01:24 700
原创 虚拟环境使用matplotlib报错:Can‘t find a usable init.tcl in the following directories
在虚拟环境使用matplotlib报错两例:_tkinter.TclError: Can’t find a usable init.tcl in the following directories:解决方法:首先,退出虚拟环境:deactivate.然后输入pip3 -V,查看当前系统默认的python3的lib目录:jmh@ubuntu:~$ pip3 -Vpip 21.0.1 from /root/anaconda3/lib/python3.6/site-packages/pip (pyth
2021-03-27 07:38:26 2336
原创 多分类条件下分类指标:Macro-average和Micro-average,以及Weighted-average
在二分类条件下,我们可以很轻易的在混淆矩阵的基础上定义出各种指标(例如Accurarcy, precision, F1F_1F1, recall),其定义方法如下:true positive: TP,真实情况为True,预测也为正的样本数。false positive:FP,真实情况为False,预测为正的样本数。false negative:FN,真实情况为True,预测为负的样本数。true negative: TN,真实情况为False,预测为负的样本数。对于这四个指标,在英文的取名是是
2021-03-17 18:23:51 12530 3
原创 Keras 添加自定义Losses
前言有时候,我们需要往模型里面添加一些自定义的loss。这些自定义的loss主要分为两大类:loss是基于样本的正确标签 yrealy_{real}yreal 和预测的logit ypredy_{pred}ypred 计算得到。这种loss主要集中在对分类损失的改进上,例如Focal Loss等。loss需要模型的中间层信息参与运算。这种loss常见的就是对权重的正则化项,高级一点还有对抗机器学习里面的FGSM的对抗学习正则化项。其中,第一类loss可以通过自定义loss函数,或者los
2021-01-11 15:56:22 2003
原创 OriginLab学生版激活码续期
OriginLab学生版的激活码每次续费只有6个月的有效期,当有效期过了之后,只需要重新对激活码进行申请。申请方法:打开: http://www.originlab.com/OriginProLearning.aspx,在里面填入一些基本的信息。其中最关键的是你使用邮箱,请使用你们学校的邮箱。高校的邮箱,一般是以.edu结尾,同时还支持以下单位的邮箱:中科院:@ac.cn中科院:@*.cas.cn中国农业科学院:@caas.cn成都理工大学:@cdut.cn广西大学: @mail.gxu
2021-01-09 15:04:55 36855 7
原创 Keras 载入历史模型报错: AttributeError: ‘str‘ object has no attribute ‘decode‘
Keras 2.3.0 载入历史模型时报错:AttributeError: ‘str’ object has no attribute ‘decode’解决方法:1. 降级h5pypip3 install h5py==2.10.02. 更换模型载入方式上面的报错出现在调用load_weights() 载入模型参数的过程中,然而载入历史模型还可以调用keras.models.load_model函数,按照如下载入即可:model= keras.models.load_model(model_pa
2020-12-15 16:43:29 10204 4
原创 Keras 如何搭建复杂模型?
前言在Keras中,我们最常用到的是使用Sequencial 模型来搭建神经网络模型。Sequencial搭建模型特别的简单、直接,但是缺点是这种途径无法搭建非线性的模型(例如残差网络),无法搭建多个输入、多个输出的模型。本博客就是介绍如何使用Keras里面函数式API 搭建非线性、多输入输出的神经网络模型。Keras 函数式APIKeras 函数式API——翻译前叫做 Keras functional API—— 是指可以将Keras里面创建的层(layer)或者模型(Model) 当做一个函数
2020-12-13 11:48:40 1090 2
原创 pytorch 载入历史模型时更换gpu卡号,map_location设置
pytorch 在保存训练后模型的时候,会把训练过程中使用的设备号(例如gpu卡号cuda:0 ,cpu)也一并保存下来。当pytorch重新载入历史模型时,模型默认根据训练时的设备卡号,把权值载入到相应的卡号上。然而,有的时候测试过程和训练过程的设备情况是不一致的。举个例子,A主机有四块GPU卡,然后我们用cuda:3 训练模型,并保存模型。在测试时候,我们需要在客户的B主机跑模型,但是B主机只有一块gpu卡:cuda:0 。如果按照默认方式载入模型的话,pytorch会报找不到gpu设备,或其他
2020-12-11 16:41:26 3299
原创 Keras:An operation has `None` for gradient. Please make sure that all of your ops have a gradient
Keras 报错:ValueError: An operation has None for gradient. Please make sure that all of your ops have a gradient defined (i.e. are differentiable). Common ops without gradient: K.argmax, K.round, K.eval.意思是说,构建的模型里面包含一些类似于K.argmax, K.round, K.eval.不可导的操作。
2020-11-19 19:23:02 1802
原创 Keras 自定义层以及在Summary时自定义层的参数个数为0的问题
今天 开开心心的实现了一个带降噪功能的残差层:__author__ = 'dk'''' 定义降噪和增强模块'''from keras import backend as Kfrom keras.engine.topology import Layerfrom keras.layers import add,Flatten,Conv1D, AveragePooling1D,Dotimport kerasclass Denoising_layer(Layer): def __i
2020-11-18 19:43:00 1230 3
原创 Keras ValueError: Unknown layer 自定义层历史参数无法载入
导入模型的时候出现: File “/root/anaconda3/lib/python3.6/site-packages/keras/utils/generic_utils.py”, line 140, in deserialize_keras_object': ’ + class_name)ValueError: Unknown layer: Denoising_layerDenoising_layer是我自己写的一个层,现在导入已经训练的模型时报这个错误。解决方法:在模型载入的时候添加类似如.
2020-11-17 17:19:22 450
原创 pytorch 踩坑集
错误1: 多LossRuntimeError: Trying to backward through the graph a second time, but the buffers have already been freed. Specify retain_graph=True when calling backward the first time.原因:一次feed,多次backward()了。方法:把各个LOSS加权求和起来,然后再backward().原来有问题的代码:
2020-11-13 19:27:15 409
定制版LightGBM
2018-06-24
深度学习_高清PDF,带书签目录
2017-10-15
神经网络在艺术风格上的学习应用
2016-03-19
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人