- 博客(176)
- 资源 (9)
- 收藏
- 关注
原创 决策树解读
Entropyx−i∑NclassPxilog2Pxi假设只有2个类别(N=2),$ P(x_i)在【01】之间,log_2 P(x_i) $ 小于0,因此Entropy(x) 大于0;当两类别概率分别0.5,0.5的时候(样本均匀)信息熵最大,此时纯度最低;当分别为1,0的时候信息熵最小,此时纯度最高;因此,信息熵表示不确定性(混乱程度),纯度最低的时候混乱性最大。息增益指的就是划分可以带来纯度的提高,信息熵的下降。
2023-10-24 00:22:44
601
原创 决策树工程化
1.决策树关键变量说明import m2cgen as m2cfrom io import StringIOfrom sklearn.datasets import load_irisfrom sklearn.tree import DecisionTreeClassifierfrom sklearn import treeimport matplotlib.pyplot as pltg_fw = open('log.txt','w')clf = DecisionTreeClassif
2021-10-05 10:31:15
493
原创 vscode基本使用
vscode基本使用vscode基本使用python环境配置c/c++环境配置vscode基本使用python环境配置在插件栏目安装python插件在新建增加了 图片拖拽 功能,你可以将本地的图片直接拖拽到编辑区域直接展示;全新的 KaTeX数学公式 语法;增加了支持甘特图的mermaid语法1 功能;增加了 多屏幕编辑 Markdown文章功能;增加了 焦点写作模式、预览模式、简洁写作模式、左右区域同步滚轮设置 等功能,功能按钮位于编辑区域与预览区域中间;增加了 检查列表 功能。
2021-10-04 14:53:16
284
原创 信号处理入门
1、基本概念周期: 每个循环的时长,如上图,周期约为2.3ms频率: 即周期的倒数,其单位为每秒钟循环数,也称为赫兹(Hz),上图的型号频率大约为1/2.3*1000 = 439Hz波形:周期信号的形状
2021-06-19 17:09:02
11761
2
原创 Docker基本使用
1、简介Docker 是一个开源的应用容器引擎,基本的概念如下:镜像(Image):类比文件系统,如ubuntu容器(Container):容器是镜像运行时的实体,把镜像比喻为类,则容器为其对象实例2、Docker环境搭建更新aptsudo apt-get update安装依赖sudo apt-get install \ apt-transport-https \ ca-certificates \ curl \ gnupg-agent \ soft
2021-02-13 00:42:45
361
原创 基于frida的so函数hook实战
一、环境win10、python38、frida库、夜神模拟器(1)安装frida环境(a)fridapython -m pip install frida //运行python38版本//python -m module_name相当于python /path/to/module.py(当我们知道一个模块的名字,但不知道它的路径时,我们可以通过 -m 参数)假如以上方法出错,建议本地下载frida包安装 https://pypi.org/project/frida/#files(选择f
2021-01-31 16:12:10
15233
7
原创 CMake 的简单使用
文章目录一、CMake介绍二、简单实例二、多源文件目录实例一、CMake介绍CMake是一种跨平台的构建工具,通过CMakeLists.txt 文件的编写来实现,其中CMakeLists.txt 文件主要用于生成 Makefile文件(通过“cmake PATH”命令),Makefile文件再通过make 命令进行编译,整个构建过程如下:编写CmakeLists.txt。执行“cmake PATH”命令生成 Makefile文件(PATH 是 CMakeLists.txt 文件所在的路径)。执行
2020-07-19 22:44:06
548
原创 Makefile入门
文章目录一、Makefile文件介绍二、Makefile文件的hello world编写1、编写格式2、实例二、Makefile的工作流程1、工作流程2、清除过程文件三、通配符的使用1、通配符2、实例四、Makefile变量的定义和赋值1、变量的定义与使用2、变量的赋值(1)简单赋值`:=`(2)递归赋值`=`(3)条件赋值`?=`(3)追加赋值`+=`五、目标文件的搜索(VPATH和vpath)1、VPATH2、vpath六、嵌套执行make一、Makefile文件介绍Makefile一般为Linux
2020-06-18 15:25:26
351
原创 vs配置依赖
环境介绍在win上搭建vs远程调试linux项目环境(gdbserver、vs的linux插件环境等)gcc/g++ 的-L和-l命令参数linux上的库文件名:lib+<库名>+.so (比如ncurses库,库文件名为ncurses,使用gcc/g++ 可直接为−lncurses )gcc/g++ 的-L和-l命令参数使用为:(1)−L<库文件所在路径>(2)−l<库名>例:−L/usr/lib ; −lncurses注意:在 /lib, /usr
2020-06-15 17:16:13
591
原创 基于Xposed的hook实战
一、Hook原理将需要修改的函数“钩住”,然后使用自定义的函数替换原来的函数,让程序执行自定义的函数,达到修改的目的。二、环境搭建经过root的模拟器:(1)在https://www.yeshen.com/ 中下载夜神模拟器(该模拟器在系统设置中默认开启root)(2)启动夜神模拟器,在终端执行adb connect 127.0.0.1:62001,将模拟器与AS关联,其中,62001是夜神模拟器的端口号Xposed框架的搭建:(1)在https://forum.xda-developers.
2020-05-15 21:46:52
6409
原创 破解安卓程序的helloworld
一、环境及其工具win10、AS、Apktool反编译工具、反编译后的签名工具APKSignApktool反编译环境搭建:在https://github.com/iBotPeaches/Apktool 的Links/Downloads中下载apktool_2.4.1.jar,修改为apktool.jar,下载文件Apktool/scripts/windows/apktool.bat,将apktool.jar与apktool_2.4.1.jar放在同一目录,并且配置环境变量二、编写带签名的demo(
2020-05-13 11:35:57
986
原创 通过vmrun运行虚拟机
简介vmrun运行虚拟机可以减少资源的消耗,特别适用于linux虚拟机,通过vmrun命令行启动后,我们可以借助ssh协议登录无图形界面的本地服务器(当然,也可以通过图形界面登录查看IP地址等),而不必运行着消耗大量资源的图形界面。步骤:(1)在VMware安装的目录中找到"vmrun.exe",配置环境变量(2)启动:vmrun -T ws start "xxx\xxx\Ubuntu.v...
2020-02-02 14:08:23
2970
1
原创 ssh的简单使用
登录(从win登录到Linux)ssh username@ip退出(从Linux退出到win)exit从远程下载文件到本地(从Linux下载文件到win)scp username@ip:~/share.txt . //远程home目录下下载share.txt文件到本地当前目录从远程下载目录到本地(从Linux下载文件到win)scp -r username@ip:~/test...
2019-12-31 13:54:59
238
原创 Cocos2d-x环境搭建
1. 下载Cocos2d-x开发包这里下载的版本为V3.17.2(AS版本为2017)https://www.cocos.com/en/cocos2dx2. 把cocos安装包里的msvcr11.dll 复制到c盘SysWOW64文件下(win 64位系统)3. 运行demo(1)在cocos2d-x-3.17.2\build中用vs2017打开cocos2d-win32.sln...
2019-12-05 20:49:49
1014
原创 虚函数和动态联编
关于虚函数(1)编译器对虚方法(virtual修饰的方法)使用动态联编,如下:Dog dog;Animal* pAnimal;pAnimal = &dog;pAnimal->eat();假如eat()方法是虚方法,则调用的是子类的eat()方法(动态联编,可以理解为基类的eat()方法是虚设的);否则(不使用virtual修饰的方法),调用的是基类的eat()方法(静...
2019-12-04 13:36:56
724
原创 c++内存模型和名称空间
一、头文件1. c++程序一般分为3部分:头文件、实现头文件的源文件、调用函数的源文件2. 头文件常包含的内容(1)函数原型(2)使用#define或者const定义的符号常量被声明为const的数据具有特殊的链接属性(外部/内部/无),具备的链接性为内部,其作用域为包含头文件的当前源文件(类似static,但const修饰的为常量,不可改变其值),不会出现多次定义的情况,所以可行(...
2019-12-03 00:42:58
324
原创 线程池的简单实现
线程池介绍(1)在没有采取线程池技术的时候,往往是一个任务一个线程的方式,这样将会创建数以万计的线程,使得操作系统频繁的进行线程上下文切换,增加系统的负载(线程的创建和消亡都是需要消耗系统资源的)(2)线程池技术为了解决这个问题而产生,预先创造了若干数量的线程(Worker 线程),并且将线程的创建控制交给ThreadPool类,而不是客户端(客户端将任务job放入工作队列jobs后便返回)...
2019-10-14 13:32:21
241
原创 并发编程基础
1、线程简介(1)线程是操作系统调度的最小单元;(2)在一个进程里可以创建多个线程,这些线程都有各自的计数器、堆栈和局部变量等属性,并且能够访问共享的内存变量;(3)一个程序作为一个进程来运行,程序运行过程中可以创建多个线程;(4)一个线程在一个时刻只能运行在一个处理器上,多线程程序可以充分利用多处理器执行任务;(5)线程优先级:线程优先级决定线程需要多或者少分配处理器资源的线程属性;(...
2019-10-14 00:10:26
552
原创 (三)设计模式——观察者模式
角色: 抽象目标、具体目标、抽象观察者、具体观察者AB思想: 观察者向被观察对象即目标注册实例,然后其更新的行为随被观察者的转态改变而改变========================抽象的被观察对象==================================// 抽象的被观察对象import java.util.ArrayList;public abstract class ...
2019-09-11 22:15:54
151
原创 (三)java虚拟机——垃圾回收算法
常用的垃圾回收方法有:引用计数法、标记清除法、复制算法引用计数法思想:引用一个对象,则引用计数器+1;引用失效,则引用-1;回收计数为0的对象缺点:(1)没法处理相互引用的对象(实际上这些对象需要被回收却没法回收,但是他们相互引用,计数不为0)(2)频繁的+1,-1对系统性能有影响标记清除法思想:标记阶段:标记从根节点开始的所有可达对象;清除阶段:清除所有未被标记的对象缺点:产生空间...
2019-09-10 19:13:23
157
原创 (二)java虚拟机——常用java虚拟机参数
读懂GC日志(1)代码:public class Main { public static void main(String[] args) { TestClass testClass = new TestClass(); testClass.localvar1(); testClass.localvar2(); }}class TestClass { ...
2019-09-10 18:24:47
297
原创 (一)java虚拟机——初步认识
java虚拟机的基本结构java虚拟机的参数设置java [虚拟机参数] class [main()函数参数]实例:public class SimpleArgs { public static void main(String[] args) { for(int i=0;i<args.length;i++) { System.out.println("ar...
2019-09-10 15:33:12
186
原创 LaTeX公式转MathType公式
LaTex在线编辑器https://www.codecogs.com/latex/eqneditor.phpLaTeX公式转MathType公式步骤:方式一:打开链接,复制编写的LaTex公式,加入$$中,右键选择如图,复制代码到word的MathType公式编辑器里面即可。https://www.zybuluo.com/mdeditor方式二:类似地,打开链接http://eng...
2019-09-07 23:05:18
14506
原创 (二)设计模式——简单工厂、工厂方法
一、简单工厂模式注意: 简单工厂实际上不算设计模式中的一种角色: 抽象产品角色、具体产品角色AB等、唯一的一个工厂(通过传递一个参数给工厂,返回具体的产品)缺点: 只有一个工厂,其职责过重实例: 电视================================1、抽象产品=================================// 抽象产品(可以是抽象类或者接口)pu...
2019-09-07 16:34:22
188
原创 (一)设计模式——单例模式
简单介绍单例模式为避免资源开销等而设计,具体做法是对构造器公开访问改为类内部访问,即private的访问属性,同时提供一个静态方法让外部请求得到该类的实例对象。经典的单例模式实现(需要的时候在创建该实例)public class Singleton { private static Singleton instance; private Singleton() {} ...
2019-09-07 00:17:09
147
原创 gitlab搭建与使用
1.gitlab搭建下载包文件wget https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/ubuntu/pool/xenial/main/g/gitlab-ce/gitlab-ce_10.7.2-ce.0_amd64.deb安装dpkg -i gitlab-ce_10.7.2-ce.0_amd64.deb配置访问地址(sudo打开/etc/gi...
2019-09-03 12:47:57
1071
原创 TensorFlow2.0部署
1. 安装tensorflow2.0这里的环境都是基于Linux上进行先升级pippython3 -m pip install --upgrade pip接着python3 -m pip install tensorflow==2.0.0-beta1官方安装文档假如网速太慢,可以离线下载whl安装包https://pypi.tuna.tsinghua.edu.cn/simple/te...
2019-08-12 01:09:57
3343
原创 linux上构建交叉编译环境
1. 下载NDKhttps://developer.android.google.cn/ndk/downloads/2. 解压NDK,并且配置环境变量export PATH=/xxx/android-ndk-r20:$PATH3. 编译特定平台的工具链(这里是x86)(1)在NDK的build/tools目录有make-standalone-toolchain.sh 的程序让用户创建标...
2019-08-06 00:30:46
1061
原创 pytorch的部署——把pytorch模型集成到so库
前沿需要pytorch1.0版本及以上,linux环境下进行,借助cmake编译1.编写保存pytorch模型代码//main.pyimport torchclass MyModule(torch.jit.ScriptModule): def __init__(self, N, M): super(MyModule, self).__init__() ...
2019-08-04 19:21:52
9848
5
原创 conda和pip的基本使用
1.conda查看环境conda info -e2. 指定安装包到某个环境conda: 激活环境,conda install xxxpip: python -m pip install xxx
2019-08-04 10:52:49
1902
原创 CMake 简单使用
1.介绍CMake可实现跨平台编译, 是一种优秀的编译配置工具。2.Linux下的cmake编写demo(1)建立工程目录cmakeDemo(2)编写c/c++代码main.c//main.c#include<stdio.h>int main(){ printf("hello cmake!\n"); return 0;}(3)编写CMakeList...
2019-08-03 21:43:22
444
原创 java8的stream用于排序
import java.util.ArrayList;import java.util.Comparator;import java.util.List;import java.util.function.Function;import java.util.stream.Collectors;public class Person {private int id;private in...
2019-08-03 17:51:39
843
原创 AS上进行NDK开发
1.基本环境CMake、NDK、Support Repository、LLDB(如图,安装后配置…\Sdk\ndk-bundle环境变量)2. 生成jni头文件javah 包名.类名其中类中定义了jni接口package com.example.mi.demoso;public class JNITest { //通过该接口调用c/c++代码 public na...
2019-07-28 23:47:18
574
原创 Windows10远程桌面Ubuntu
更新软件列表sudo apt-get update安装xrdpsudo apt-get install xrdp安装vnc4serversudo apt-get install vnc4server安装xubuntu-desktopsudo apt-get install xubuntu-desktop向xsession中写入xfce4-session(每个用户自己运行此行...
2019-04-26 14:47:58
768
原创 隐马尔可夫模型(HMM)
介绍隐马尔可夫模型由:初始状态概率向量π\piπ、转态转移概率矩阵A和观测概率矩阵B决定。隐马尔可夫模型表示如下:λ=(A,B,π)\lambda = (A,B,\pi)λ=(A,B,π)其中,A,B,πA,B,\piA,B,π称为隐马尔可夫模型的三要素,隐马尔可夫模型,如下图所示:Q是所有可能的状态集合,V是所有可能观测的集合。举例如下:假设有3个盒子,每个盒子里面的球一共有10...
2019-03-23 00:39:19
769
原创 java连续读取控制台的输入
import java.util.Scanner;public class Main{ public static void main(String[]args) { Scanner sc = new Scanner(System.in); while(sc.hasNext()) { String s = s...
2019-03-08 19:22:30
7028
原创 python连续读取控制台的输入
def run(x,y): print(x,y)if __name__=="__main__": while True: try: ls = input("输入x y\n").split(" ") x = int(ls[0]) y = int(ls[1]) run(x...
2019-03-08 19:13:37
8203
原创 LSTM网络结构
1.介绍假设词向量长度为128,隐含层神经元个数为256。LSTM中引入3个门,即输入门、遗忘门、输出门;及其他组件:候选记忆细胞、记忆细胞。2.时间t时候:各个组件(3个门+候选记忆细胞、记忆细胞)如上图所示,对于每个组件有:(1)输入门:ItI_tItIt=σ(XtWihI+Ht−1WhhI+bihI)I_t = \sigma (X_tW_{ih}^I+H_{t-1}W_{h...
2019-03-07 20:08:54
7206
原创 Java手动抛出异常&python手动抛出异常
1. javaif(条件){ throw new RuntimeException("描述。。。"); //直接手动抛出异常}2. pythonif 条件: raise RuntimeError('描述。。。') #直接手动抛出异常
2019-02-28 17:34:01
621
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人