【数值分析】Romberg数值积分
1. 原理与公式
2. Python代码实现123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384# coding=utf-8import numpy as npimport math# 二分法梯形公式# func:需要积分的函数# x_min: 积分下限# x_max: 积分上限# epoch: 二分次数def compute_Tn(func, x_min=0, x_max=1, epoch=10): Tn_list = [] Tn = 0 h0 = x_max - x_min # 积分区间的长度,即初始步长 h = h0 # 每次迭代计算更新h步长 x_half_list = np.array([0]) # 二分点列表 for k in range(epoch + 1): ...
【Linux】Linux实现一个简易shell
1. fork()函数 当程序调用fork()函数并返回成功之后,程序就将变成两个进程,调用fork()者为父进程,后来生成者为子进程。这两个进程将执行相同的程序文本,但却各自拥有不同的栈段、数据段以及堆栈拷贝。子进程的栈、数据以及栈段开始时是父进程内存相应各部分的完全拷贝,因此它们互不影响。
fork()函数在Linux中有两次返回,在父进程中返回子进程的pid,在子进程中返回0。
12345678910111213#include <unistd.h>int main(void){ pid_t pid; //调用一次,返回两次,在父进程中返回子进程的pid在子进程中返回0 pid = fork(); if(pid>0){ printf("I'm a parent\n"); }else if(pid==0){ printf("I'm a child\n"); }else{ ...
【Linux】基于ptrace系统调用实现一个debugger
基于ptrace的debugger设计1. 程序的设计思路1.1 设计思路本次设计实现的debugger针对被调试进程主要实现了6项功能:
可以读取被调试进程CPU所有寄存器的值
可以对被调试进程进行单步调试
可以恢复被调试进程运行
可以查看被调试进程任意内存空间
可以计算被调试进程执行完需要多少条指令
可以在指定地址插入断点
为了在不同的功能之间进行切换,使用循环轮询手动输入参数的方式来决定使用哪一项功能。
12345678910111213141516Type "exit" to exit debugger.Type "reg" or "r" to show registers.Type "step" or "s" to single step.Type "continue" or "c" to continue until tracee stop.Type "memory" or "m" to sh ...
【博客】Hexo在多台电脑上提交和更新
前言我现在有两台电脑,最初第一次装好hexo环境的电脑在宿舍,姑且叫这台电脑“老电脑”吧,代表最初拥有hexo环境的电脑,然后事情是这样的去到工位的电脑上想要更新博客总是要远程启动宿舍的电脑才行,于是想要在工位电脑也能更新,这里工位的电脑姑且叫做“新电脑”吧。
最初搞这个多设备同步属实折腾了好半天,看了很多博客也在知乎上参考了不少,但总是需要在不同博客之间相互参考最终才完美解决,所以想要把这几天的经历总结一下。
一. hexo同步原理1. hexo博客目录结构说明这是老电脑上的目录结构
文件夹
说明
是否需要上传github
node_modules
hexo需要的模块,就是一些基础的npm安装模块,比如一些美化插件,在执行npm install的时候会重新生成
不需要
themes
主题文件
需要
public
hexo g命令执行后生成的静态页面文件
不需要
packages.json
记录了hexo需要的包的信息,之后换电脑了npm根据这个信息来安装hexo环境
需要
_config.yml
全局配置文件,这个不用多说了吧
需要
.giti ...
【Linux】ELF文件解析
前言最近选了Linux内核原理的选修课,虽然因为课时比较短涉及到的内容只能涵盖Linux知识的一小部分,但是老师的水平确实很高,讲的知识也很深入,这次布置的小作业是编写Linux平台下的C语言程序实现如下功能:
模仿实现Linux下readelf工具的部分功能,能够对ELF可执行文件进行简单分析。(至少支持readelf工具的-h、-S、-s三个命令选项功能)
关于原理部分自认为没有能力和大佬们讲得一样透彻清楚,所以参考文章链接贴在了文章的末尾,看了一定就会明白的。
1.ELF文件介绍在 Linux 系统中,一个 ELF 文件主要用来表示 3 种类型的文件:
可执行文件:被操作系统中的加载器从硬盘上读取,载入到内存中去执行;
目标文件:被链接器读取,用来产生一个可执行文件或者共享库文件;
共享库文件:在动态链接的时候,由 ld-linux.so 来读取;
2.readelf命令1234567891011121314151617181920212223-a :--all 显示全部信息,等价于 -h -l -S -s -r -d -V -A -I-h :--file-header 显 ...
【机器学习】推荐系统 Factorization Machines 因子分解机
前言因子分解机 (Factorization Machines) 是CTR预估的重要模型之一。要讲述因子分解机FM,就避不开逻辑回归LR(logistic Rgeression)和矩阵分解MF(Matrix Factorization)。
转自推荐系统玩家 之 因子分解机FM(Factorization Machines) - 知乎 (zhihu.com)
1.因子分解机的演变传统的推荐模型
上图是传统的推荐系统模型的分类,逻辑回归LR模型在传统的推荐模型中占据着非常重要的位置。而因子分解机的出现,也来源于逻辑回归和矩阵分解的演化。
首先我们知道,逻辑回归的是对所有特征的一个线性加权组合, 然后再加入Sigmoid逻辑函数:
\large \hat{y}(x)=w_{0}+w_{1} x_{1}+\ldots+w_{n} x_{n}=w_{0}+\sum_{i=1}^{n} w_{i} x_{i} \tag{1}对比与矩阵分解,虽然逻辑回归模型已经不单单考虑了用户的行为特征,也可以加入年龄,性别,物品的属性,时间,地点等等特征。但是逻辑回归表达能力仍然差的原因是仅仅用了每个单一的特征 ...
【01】【C++】C++引用
一. 基本用法1. 例子1使用引用改变值
1234567891011#include <iostream>#define LOG(x) std::cout<<x<<std::endlint main() { int a = 5; int& ref = a;//相当于创建了一个别名 ref = 2; LOG(a); return 0;}
输出2
需要注意的是,并不存在真正的引用类型的“变量”ref,ref只是a的一个引用,在编译过后也不会存在ref和a两个变量,ref只存在于源代码中。
2. 例子2给函数传递引用
1234567891011121314#include <iostream>#define LOG(x) std::cout<<x<<std::endlvoid Increment(int& value) { value++;}int main() { int a = 5; Increment( ...
【C++】CMake使用示例与整理总结
一. CMake使用示例与整理总结参考链接cmake使用示例与整理总结_carl的修行-CSDN博客
Linux CMake工程目录结构 | 蘑菇的博客 (quarkhackers.space)
1. cmake中一些预定义变量
PROJECT_SOURCE_DIR 工程的根目录
PROJECT_BINARY_DIR 运行cmake命令的目录,通常是${PROJECT_SOURCE_DIR}/build
CMAKE_INCLUDE_PATH 环境变量,非cmake变量
CMAKE_LIBRARY_PATH 环境变量
CMAKE_CURRENT_SOURCE_DIR 当前处理的CMakeLists.txt所在的路径
CMAKE_CURRENT_BINARY_DIR target编译目录
使用ADD_SURDIRECTORY(src bin)可以更改此变量的值SET(EXECUTABLE_OUTPUT_PATH <新路径>)并不会对此变量有影响,只是改变了最终目标文件的存储路径
CMAKE_CURRENT_LIST_FILE 输出调用这个变量的CMakeL ...
【机器学习】Bert微调
参考:
什么是BERT? - 知乎 (zhihu.com)
词向量之BERT - 知乎 (zhihu.com)
BERT 详解 - 知乎 (zhihu.com)
详解Transformer (Attention Is All You Need) - 知乎 (zhihu.com)
从Transformer到Bert - 知乎 (zhihu.com)
14.10. 预训练BERT — 动手学深度学习 2.0.0-alpha2 documentation (d2l.ai)
(强推)李宏毅2021春机器学习课程_哔哩哔哩_bilibili
70 BERT微调【动手学深度学习v2】_哔哩哔哩_bilibili
Bert细节整理 - 简书 (jianshu.com)
代码:
http://www.d2l.ai/chapter_natural-language-processing-applications/natural-language-inference-bert.html
一. 回顾TransformerTransformer就是结合了自注意力机制的encoder-de ...
【论文】英文摘抄
一. 常用句式1. Abstract2. IntroductionIn recent years, DG has received increasing attention from the research community due to its importance to practical applications.
To overcome the domain shift problem, as well as the absence of target data, the problem of domain generalization (DG) is introduced .
In this survey paper, we aim to provide a timely and comprehensive literature review.
In the context of DG,(就DG而言)
There has been a lively interest since pansharpening in the last few decades.
They ...