自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 异常检测介绍

异常检测介绍1.基于传统机器学习的异常检测传统的机器学习方法主流的以LOF、HBOS、PCA、OCSVM、KNN等。市面上有已经集合了类似的框架,如下:[Python] Python Outlier Detection (PyOD): PyOD is a comprehensive and scalable Python toolkit for detecting outlying objects in multivariate data. It contains more than 20 detec

2021-08-02 15:47:26 324

原创 python中的多线程之间的通信

首先使用多线程的方法进行现场通信:import timefrom multiprocessing import Processfrom queue import Queuedef producer(queue): queue.put("a") time.sleep(2)def consumer(queue): time.sleep(2) data = queue.get() print(data)if __name__ == "__main__": queue = Queue(1

2021-07-27 22:29:21 498

原创 线程同步 lock rlock

基本使用方法from threading import Lock, RLock, Conditionlock = Lock()lock.acquire()lock.release()三种有可能出现死锁的情况1、 连续两次获取acquirelock.acquire()lock.acquire()没有release锁lock2、 互相等待的情况A要获取资源a,b;先a后bB要获取资源b,a;先b后aA(a,b)B(b,a)A(a,b)B(a,b)acquir

2021-07-18 11:05:53 128

原创 maltrail更新流量机制

总体来说分为两种:基于静态的获取:另一种是基于动态的获取里面分为两种,1、根据正则的匹配;2、通过动态网页可以获取不同公司的ip、域名等,加载的trails里面,供匹配使用。这里正则匹配很难知道对应的恶意流量具体种类。动态网页也是大量的混在...

2021-07-13 10:29:33 176

原创 GAN网络做异常检测

"""@Time : 2021/7/6 15:20-------------------------------------------------@Author : sailorlee(lizeyi)@email : chrislistudy@163.com-------------------------------------------------@FileName: train_gan.py@Software: PyCharm"""import matplotlib.

2021-07-13 10:24:35 1854 4

原创 python多线程的GIL

cpython中的 global interpreter lockpython中的一个线程对应c语言中的一个线程。python中的一个线程对应c语言中的一个线程。python会在解释器上加一把非常大的锁。同一时刻一次只有一个线程运行在一个cpu上执行字节码。无法将多个线程映射到多个cpu上执行。gil会根据执行的字节码行数以及时间片释放gil。gil遇到io操作会主动释放。def add(): #1. dosomething1 #2. io操作 # 1. dosomething

2021-07-12 16:27:50 84

原创 python中的迭代协议与生产器

迭代协议一共有两个类型,一种是Iterable(可迭代),另一个是迭代器Iterator。两者的类型不同。from collections.abc import Iterable,Iteratora = [1,2]iter_rator = iter(a)print(isinstance(iter_rator,Iterator))

2021-07-07 22:58:55 56

原创 解析pcap包

需求:我们需要从恶意流量中的log中提取其ip地址。再根据ip地址去从tcpdump中采集pcap包,把恶意流量提取出来。首先是初版的解析pcap包import osfrom scapy.all import *import scapy.all as scapyimport sysimport csvfrom time import strftime, localtime# f = open('log/dealpcap.log', 'a') #日志的重定向输出# sys.stdout =

2021-06-23 11:31:51 1569

原创 列表、生成器、字典推导式

列表生成式列表生成式的性能高于列表操作的性能。def handle_item(item): return item*itemodd_list = [handle_item(i) for i in range(21) if i%2 == 1]#用简介的方式去遍历可迭代对象生成需要格式的列表int_list = [1,2,3,4,5]qu_list = [item * item for item in int_list]print (type(qu_list))int_list = [1,

2021-06-02 10:55:11 87 1

原创 python中的切片对象

list中用法extend与append之间的区别。在extend里面添加元素,添加的内容是可迭代的对象,把对象里面的元素添加进去。但是append就添加里面一个对象,并不会把里面的元素拿出来。a = [1,2]a.append((3,4)) a是 [1,2,(3,4)]a.extend((3,4)) 而这里的a是[1,2,3,4]my_list = []my_list.append(1)my_list.append("a")from collections

2021-06-01 16:11:29 246

原创 python上下文管理器

try的用法中return的返回值def exe_try(): try: print ("code started") raise KeyError return 1 except KeyError as e: print ("key error") return 2 else: print ("other error") return 3 finally:

2021-05-31 10:31:22 64

原创 python的私有属性和自省机制

私有属性from chapter04.class_method import Dateclass User: def __init__(self, birthday): self.__birthday = birthday def get_age(self): #返回年龄 return 2018 - self.__birthday.yearclass Student(User): def __init__(self, birt

2021-05-30 14:19:36 51

原创 类方法、静态方法和实例

class Date: #构造函数 def __init__(self, year, month, day): self.year = year self.month = month self.day = day def tomorrow(self): self.day += 1 def __str__(self): return "{year}/{month}/{day}".forma

2021-05-28 09:42:51 80

原创 python的鸭子类型和抽象基类

鸭子类型三个类实现同一个方法,就可以通过for循环去调用每个类的对象class Cat(object): def say(self): print("i am a cat!")class Dog(object): def say(self): print("dog")class Duck(object): def say(self): print("duck")animal_list = [Cat,Dog,Duck]f

2021-05-20 23:03:57 130

原创 python中的魔法函数

首先__xxx__,这样形式的函数为魔法函数。如果遍历对象,没有__getitem__方法,那么只能通过命名一个新的对象,从类中获取数据,再进行赋值、迭代。class Company(object): """ 魔法函数是__xxx__ 优先使用迭代器、然后使用getitem这个方法; 迭代器需要实现 __iter__(self),这个方法 """ def __init__(self,employee_list): self.employe

2021-05-18 22:19:04 67

原创 python中一切皆对象

在python的世界中,一切皆是对象。函数可以变成对象进行赋值,类也可以。def ask(name = "bobby"): print(name)class Person: def __init__(self): print("bobby1")obj_list = []obj_list.append(ask)obj_list.append(Person)for item in obj_list: print(type(item))函数中,一个函

2021-05-14 21:17:32 63

原创 python的自动回收机制

1、python中的is 和 ==在python中,赋值意味着是在贴标签,a = [1,2,3,4],就是将a贴在这个[1,2,3,4]这个对象当中。id(a)就是指a的对象是啥。a = [1,2,3,4]b = [1,2,3,4]#a和b不是同一个对象,因此返回falseprint(a is b)# a和b内容判断是否相等 ,因此返回trueprint(a == b)如果是 a = [1,2,3,4], b=a;那么b在添加[1,2,3,4,5],a也会跟着改动。2、 垃圾回收垃

2021-05-13 23:05:15 119

原创 dict和set的背后实现原理

from random import randintdef load_list_data(total_nums, target_nums): """ 从文件中读取数据,以list的方式返回 :param total_nums: 读取的数量 :param target_nums: 需要查询的数据的数量 """ all_data = [] target_data = [] file_name = "G:/慕课网课程/AdvancePython

2021-05-13 10:01:37 108

原创 python的set使用方法

set是无序、不重复 的集合,接受一个可迭代的对象s = {'a','b'} #set的初始化方式s.add('c')frozenset 不可变的类型s1 = frozenset("adcbe")向set添加数据another_set = set("cef")re_set = s.difference(another_set) #s - another_set 返回一个新的setre_set2 = s-another_set #re_set 和 re_set2是一样的re_

2021-05-12 22:50:03 351

原创 快排基于c++

1. 快排基础 快速排序的要点是先找到第一个元素的最终的位置,如何寻找就如下图所示,找到比4小的数,在找到比4大的数。核心就是如何把4这个数挪到正确的位置上。 下图中,l记录的是当前的元素,j记录<v和>v的分界点(对于j这个点上值多少不用去管),i是当前访问的元素。如果当e>v就直接放在后面。 如果当e<v这种情况,就需要把e放在前面橙色的部分。方法很简单,e和j位置上的元素互换(直接将e放到j的位置),而j++就好。 最后都结束了之后再把v这个元素放在j上。初版代

2021-05-12 21:08:30 69

原创 南京邮电大学-IP网络技术重难点突破(江凌云老师课程)

引言:学期期末自己根据课程总结,老师上课全程讲干活,收获满满。

2021-05-12 17:18:04 1308

原创 netsniff-dpi

netsniff-dpi​ 引言:本文回顾一下自己半年的项目,感慨颇多。回家乘着假期就把一些项目的点以及用到的知识点做一下整理。本次代码撰写是在netsniff这个原有的轮子上加上dpi的部分,能够在嵌入式的环境下提供采集、识别恶意流量以及报警功能。1. 项目概览​ netsniff的代码庞大而复杂,而且功能非常丰富。所以我只把我所需要改动的代码一块进行一些提炼,其他的相关的功能我把他放在最后附录中以便查阅。下图是从流量采集到识别的整个宏观的框架。当启动netsniff-ng命令后,程序读取网卡,获取

2021-05-12 16:52:04 304 1

原创 python-dict方法

dict是属于mapping类型的,使用的方法就是直接定义一个花括号 { } 。在下面的代码中,列举了dict的一些常用的方法。这里涉及到浅拷贝和深拷贝的知识,因为python的内部是用c写的,所以原理也是相似。当使用浅拷贝时,新的对象的更改会带动,被拷贝的对象。原因:浅拷贝是将新的一根指针指向原有的内存块,并没有开辟新的内存块,因此会有变化。解决方法就是使用 import copy的方法 copy.deepcopy(xxx对象)"""@Time : 2021/5/11 22:03@Au

2021-05-11 23:01:53 122

原创 矩阵合并

1、 使用cat函数import torcha = torch.zeros((2,4))b = torch.ones((2,4))out = torch.cat((a,b),dim = 0)print(out)dim = 0的时候按照纵轴进行拼接行数dim = 1时候,按照横轴镜像列数拼接2、 使用stackstack是把两个维度进行独立拼接,形成一个新的维度。...

2021-04-23 16:37:37 1065

原创 tensor运算

1. tensor1.1tensor定义tensor表示为张量,用于描述任意维度的物体H×W×C×D则是高维(四维)张量。矩阵是二维张量定义出tensor一个2×3的矩阵a = torch.Tensor(2,3)要定义一个像a矩阵一样的,全为0的矩阵a = torch.Tensor(2,3)b = torch.zeros_like(b)print(b)print(b.type())随机矩阵a = torch.rand(2,2)生成满足正态分布的矩阵,下面对应的是均值为0,5个随

2021-04-08 16:43:51 1082

原创 用于二分类的机器学习模型评价

010预测negative正确 TN预测positive错误 FP1预测negative错误 FN预测positive正确 TP其中行代表真实值,列代表预测值举个列子,在下面表格中0代表健康人,1代表患有癌症的人。预测\真实010997812128这里面就可以看出有12个人没有患癌症,但是我们算法却错误的预测了他患了癌症。精准率precision=TPTP+FPprecision = \tfrac{TP}{T...

2021-03-24 15:02:13 263

原创 html的相对位置和绝对位置

相对位置和绝对位置<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>fixed</title> <link rel="stylesheet" href="cssLone.css"> <s...

2019-11-18 20:47:02 496

原创 java 单例模式

小记:在学习深度学习过程中,忙里偷闲学习一点java的东西,防止自己找不到工作。本次学习是的Java的单列模式。单例模式存在三个优点:1 在内存中只有一个对象,节省内存空间2 避免频繁的创建销毁对象,提高性能3 避免对共享资源的多重占用当然也存在缺点:1 比较难扩展2 如果实列化后的对象长期不利用 系统默认为垃圾进行回收 造成对象状态的丢失package com.company;...

2019-10-19 15:39:04 83

原创 test 训练数集代码加注释

import tensorflow as tfimport numpy as npfrom PIL import Imageimport mnist_backwardimport mnist_forwarddef restore_model (testPicArr): with tf.Graph().as_default() as g: x = tf.place...

2019-10-18 20:28:58 152

原创 java——static

static用法:static int price;那么此时无论new了几个对象都操作的同一块空间也许 一开始oo.price = 2000接着new了一个tt。 tt.price =150那么此时oo和tt的price 都是150 因为是同一块空间1、类对象共享2、类加载时产生,销毁时释放 ,生命周期长因此当静态时 最好用类.price = 3000当static eat(...

2019-10-17 14:11:29 144

原创 神经网络的模块化

前向传播就是搭建网络,设计网络结构 forward.pydef forward(x,regularizer): 定义前向传播过程 w= b= y= return ydef get_weight(shape,regularizer): w的形状和正则化regularizer的权重 w=tf.Va...

2019-10-16 11:51:23 428

原创 深度学习前奏——正则化

废话 不多说,直接上代码:```pythonimport tensorflow as tfimport numpy as npimport matplotlib.pyplot as plt;BATCH_SIZE = 30 # 30个网格坐标点seed = 2# 基于seed产生随机数rdm = np.random.RandomState(seed)X = rdm.rand...

2019-10-15 17:33:25 226

原创 搭建神经网络的八股过程——案列演示

搭建神经网络的八股过程1 准备import 常量定义 然后生成数据集 (数据是第一位 练习中可以用random来生成)2 前向传播定义输入、参数和输出 x= (输入为x 标准答案是y_) y_= w1= (第一层网络的参数w1) w2= (第二层网络的参数w2) a= y= (用矩阵 求出y)...

2019-10-14 18:39:36 249

原创 python中常用的for循环

在学习代码的时候,我遇到了这样的python语句。让我这种学习小白很是头疼。all_user = [user for user,sock in part1.items()]于是在不停地尝试之后,得到以下结论:首先我创建了一个字典part1 = {“name1”:“chen”,“name2”:“zong”}当代码:all_user = [user for user in part1....

2019-08-22 11:12:00 192

空空如也

空空如也

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

TA关注的人

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