自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Haward

欢迎交流学习

  • 博客(176)
  • 资源 (9)
  • 收藏
  • 关注

原创 决策树解读

Entropyx−i∑Nclass​​Pxi​log2​Pxi​假设只有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 508

原创 语音信号处理

语音信号处理相关

2022-07-02 23:55:23 267 1

原创 决策树工程化

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 358

原创 vscode基本使用

vscode基本使用vscode基本使用python环境配置c/c++环境配置vscode基本使用python环境配置在插件栏目安装python插件在新建增加了 图片拖拽 功能,你可以将本地的图片直接拖拽到编辑区域直接展示;全新的 KaTeX数学公式 语法;增加了支持甘特图的mermaid语法1 功能;增加了 多屏幕编辑 Markdown文章功能;增加了 焦点写作模式、预览模式、简洁写作模式、左右区域同步滚轮设置 等功能,功能按钮位于编辑区域与预览区域中间;增加了 检查列表 功能。

2021-10-04 14:53:16 225

原创 信号处理入门

1、基本概念周期: 每个循环的时长,如上图,周期约为2.3ms频率: 即周期的倒数,其单位为每秒钟循环数,也称为赫兹(Hz),上图的型号频率大约为1/2.3*1000 = 439Hz波形:周期信号的形状

2021-06-19 17:09:02 7423

原创 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 319

原创 基于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 13529 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 418

原创 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 310

原创 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 438

原创 基于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 6182

原创 破解安卓程序的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 842

原创 通过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 2600

原创 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 202

原创 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 875

原创 虚函数和动态联编

关于虚函数(1)编译器对虚方法(virtual修饰的方法)使用动态联编,如下:Dog dog;Animal* pAnimal;pAnimal = &dog;pAnimal->eat();假如eat()方法是虚方法,则调用的是子类的eat()方法(动态联编,可以理解为基类的eat()方法是虚设的);否则(不使用virtual修饰的方法),调用的是基类的eat()方法(静...

2019-12-04 13:36:56 665

原创 c++内存模型和名称空间

一、头文件1. c++程序一般分为3部分:头文件、实现头文件的源文件、调用函数的源文件2. 头文件常包含的内容(1)函数原型(2)使用#define或者const定义的符号常量被声明为const的数据具有特殊的链接属性(外部/内部/无),具备的链接性为内部,其作用域为包含头文件的当前源文件(类似static,但const修饰的为常量,不可改变其值),不会出现多次定义的情况,所以可行(...

2019-12-03 00:42:58 277

原创 线程池的简单实现

线程池介绍(1)在没有采取线程池技术的时候,往往是一个任务一个线程的方式,这样将会创建数以万计的线程,使得操作系统频繁的进行线程上下文切换,增加系统的负载(线程的创建和消亡都是需要消耗系统资源的)(2)线程池技术为了解决这个问题而产生,预先创造了若干数量的线程(Worker 线程),并且将线程的创建控制交给ThreadPool类,而不是客户端(客户端将任务job放入工作队列jobs后便返回)...

2019-10-14 13:32:21 199

原创 并发编程基础

1、线程简介(1)线程是操作系统调度的最小单元;(2)在一个进程里可以创建多个线程,这些线程都有各自的计数器、堆栈和局部变量等属性,并且能够访问共享的内存变量;(3)一个程序作为一个进程来运行,程序运行过程中可以创建多个线程;(4)一个线程在一个时刻只能运行在一个处理器上,多线程程序可以充分利用多处理器执行任务;(5)线程优先级:线程优先级决定线程需要多或者少分配处理器资源的线程属性;(...

2019-10-14 00:10:26 506

原创 (三)设计模式——观察者模式

角色: 抽象目标、具体目标、抽象观察者、具体观察者AB思想: 观察者向被观察对象即目标注册实例,然后其更新的行为随被观察者的转态改变而改变========================抽象的被观察对象==================================// 抽象的被观察对象import java.util.ArrayList;public abstract class ...

2019-09-11 22:15:54 125

原创 (三)java虚拟机——垃圾回收算法

常用的垃圾回收方法有:引用计数法、标记清除法、复制算法引用计数法思想:引用一个对象,则引用计数器+1;引用失效,则引用-1;回收计数为0的对象缺点:(1)没法处理相互引用的对象(实际上这些对象需要被回收却没法回收,但是他们相互引用,计数不为0)(2)频繁的+1,-1对系统性能有影响标记清除法思想:标记阶段:标记从根节点开始的所有可达对象;清除阶段:清除所有未被标记的对象缺点:产生空间...

2019-09-10 19:13:23 133

原创 (二)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 254

原创 (一)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 147

原创 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 13936

原创 (二)设计模式——简单工厂、工厂方法

一、简单工厂模式注意: 简单工厂实际上不算设计模式中的一种角色: 抽象产品角色、具体产品角色AB等、唯一的一个工厂(通过传递一个参数给工厂,返回具体的产品)缺点: 只有一个工厂,其职责过重实例: 电视================================1、抽象产品=================================// 抽象产品(可以是抽象类或者接口)pu...

2019-09-07 16:34:22 148

原创 (一)设计模式——单例模式

简单介绍单例模式为避免资源开销等而设计,具体做法是对构造器公开访问改为类内部访问,即private的访问属性,同时提供一个静态方法让外部请求得到该类的实例对象。经典的单例模式实现(需要的时候在创建该实例)public class Singleton { private static Singleton instance; private Singleton() {} ...

2019-09-07 00:17:09 118

原创 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 999

原创 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 3296

原创 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 971

原创 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 9316 5

原创 conda和pip的基本使用

1.conda查看环境conda info -e2. 指定安装包到某个环境conda: 激活环境,conda install xxxpip: python -m pip install xxx

2019-08-04 10:52:49 1860

原创 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 400

原创 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 785

原创 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 526

原创 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 649

原创 隐马尔可夫模型(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 629

原创 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 6833

原创 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 7967

原创 LSTM网络结构

1.介绍假设词向量长度为128,隐含层神经元个数为256。LSTM中引入3个门,即输入门、遗忘门、输出门;及其他组件:候选记忆细胞、记忆细胞。2.时间t时候:各个组件(3个门+候选记忆细胞、记忆细胞)如上图所示,对于每个组件有:(1)输入门:ItI_tIt​It=σ(XtWihI+Ht−1WhhI+bihI)I_t = \sigma (X_tW_{ih}^I+H_{t-1}W_{h...

2019-03-07 20:08:54 6408

原创 Java手动抛出异常&python手动抛出异常

1. javaif(条件){ throw new RuntimeException("描述。。。"); //直接手动抛出异常}2. pythonif 条件: raise RuntimeError('描述。。。') #直接手动抛出异常

2019-02-28 17:34:01 586

基于so的hook简单实例源码

基于so的hook简单实例源码

2021-01-31

HookDemo.rar

基于Xposed的hook框架实现的demo,包括原代码、hook代码和Xposed的apk安装包,开发平台是windows

2020-05-15

Apktools.rar

破解安卓程序的一个demo,压缩包包含apktool,签名工具,源代码,反编译后的代码,以及各个阶段的app,步骤说明等

2020-05-13

APKSign.rar

安卓签名工具,用于对签名的app进行反编译,修改代码后重新生成app(此时没有签名),进行再次签名。

2020-05-13

tflite_android_python.rar

tensorflow2.0部署,首先训练keras模型,然后转tflite,最后在安卓上调用

2019-08-12

jniProject.rar

在linux上交叉编译x86系统得到so库,供安卓x86调用的代码。

2019-08-06

custom_ops2.rar

pytorch的部署,先打包成共享库so文件,然后被c++代码调用。

2019-08-04

DemoSo.rar

DNK开发demo代码,实现一个java和c/c++的编程调用,打包成共享库so.

2019-07-28

读取.sql文件,转化为javabean保存为.java文件

该项目可以读取.sql文件,找出表名和字段名,然后把他们转化为javabean保存为.java文件。

2016-03-21

空空如也

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

TA关注的人

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