自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

永远鲜红の幼月的博客

累了,毁灭吧,躺平了

  • 博客(411)
  • 收藏
  • 关注

原创 linux文件共享服务的配置使用(NFS,FTP,SMB和CIFS)

最近在做网络有关的工作,空闲时整理了一下常见的文件共享服务使用,参考了不少文章。其实归根结底,操作都是类似的。分为服务端和客户端,其中在服务端进行主要配置,客户端直接进行挂载或者访问。

2023-06-28 14:59:01 1481

原创 linux一些服务的通用步骤

目前主要使用systemd系统和服务管理器进行管理,主要通过systemctl命令来运行,关闭,重启,显示,启用或禁用系统服务。linux的服务启动项一般作为可执行程序保存在/usr/lib/systemd/system目录下,通过ls | grep的方式可以查看指定服务。

2023-06-27 15:00:06 316

原创 一些pdf2word和latex2word的好用小工具

一个开源的python库, 用起来还行, 但公式翻译存在问题, 格式也是按页转换的, 不连贯, 需要手动调整, 不过也算勉强能用, 用起来非常简单.之后就可以在python脚本中import了.

2023-06-24 11:36:30 437

原创 进程管理实践:load_monitor负载监控模块(笔记)

这里主要新的东西是用到了rcu锁和定时器. 打印进程信息其实没什么要过多介绍的, 只需要留意一下遍历进程用到的宏即可.rcu锁(read copy update), 顾名思义, 读, 拷贝, 更新锁. 读者不需要获取任何锁即可访问, 写者需要拷贝一个副本, 在副本上修改,在所有读操作结束之后通过一个callback回调函数将原来数据的指针指向被修改的数据. 开销更少, 适用于读多写少的情况.

2023-06-04 22:29:11 843

原创 进程管理(笔记)

一个程序经过gcc编译器将其编译成汇编程序,经过汇编器gas将其会变成目标代码,经过连接器Id形成可执行文件a.out,最后交给操作系统来执行。一个操作系统中可执行的程序千变万化,操作系统如何管理这些程序呢?一个程序一旦被执行, 该程序就变成了进程. 在OS看来, 每个进程是没有多大差异性的, 都被封装在一个可执行文件格式中, 通过top命令可以感知系统中个进程的动态变化。

2023-05-31 22:30:02 610

原创 内存管理之内存寻址(笔记)

以IntelX86结构为例,因为这是我们最为熟悉的结构之一。很多函数都是第一次使用,在这里简单介绍一下:注意内核版本!一些库函数, 内核模块编程的, 和, 内存映射的, 和, 最后是用于进程管理的. 这些库的功能上网就能轻松查到, 点进去也能看到源码, 也可以看看源码中的注释. 就不多介绍了.

2023-05-28 00:34:52 1422

原创 Linux内核源码中的双链表结构(笔记)

在linux/list.h中有链表的声明和初始化的宏。

2023-05-25 14:27:38 931

原创 linux内核结构以及内核模块编程(笔记)

先从最简单的开始,Linux内核中想要打印一个hello world,如何实现?区别于传统的C++编程,Linux内核中没有常用的库函数,因此需要做出修改。

2023-05-24 18:44:25 826

原创 vscode链接远程服务器开发c++项目

vscode下载安装这些就略过了,从插件安装和配置文件开始介绍参考文章:https://zhuanlan.zhihu.com/p/112125338上面这个整体写的不错,不过一些细节部分个人觉的存在一些问题,也比较容易出错,下面写一个更清晰的。

2023-05-18 15:53:22 2226 1

原创 CMake快速上手

开发c++不可避免要在linux下整理一下CMake的基本操作,快速上手另外,十分建议在有root权限的linux系统上开发c++,因为很多库和工具在root权限下使用的非常方便,但非root权限就用起来很麻烦(我捣鼓了三四天,最后放弃了)(事实证明,确实用起来很舒服,生成makefile很方便)

2023-05-16 20:25:52 418

原创 从0开始学习数据库(持续更新)

一个数据库最重要的部分是什么?关系型数据库mysql有着四大特性,原子性,隔离性,一致性,持久性。kv数据库有着原子性,持久性,弱一致性。可见,不管数据库的存储引擎是什么,其根本大概就是保证原子性,持久性和一致性的同时,通过一些优化提高数据库的查询效率。以postgreSQL为例,系统结构包括链接管理,编译执行系统,存储管理系统,事务系统。不可否认这些都很重要,但我认为最重要的应当是存储管理和事务。目前,我认为,一个数据库的核心实现在于事务和持久化,以及后续的一系列操作的优化。

2023-05-12 20:02:08 760

原创 C++修改参数和变量的方式

这里通过new定义的和直接通过数组定义的是一样的 char data [ 4 * 1024 ];long这里通过new定义的和直接通过数组定义的是一样的 char data [ 4 * 1024 ];long这里通过new定义的和直接通过数组定义的是一样的 char data [ 4 * 1024 ];int m_a;m_a = a;} };输出。

2023-05-11 23:19:31 389

原创 openGL入门

通过windows下的openGL实现简单的绘图和动画。利用vs2022开发。openGL包含了很多渲染函数,但他们是独立于操作系统和窗口系统的,本身并没有包含创建窗口或者读取键鼠的函数,因此需要额外使用GLUT(openGL Uitlity Toolkit),负责处理操作系统的调用,使用GLUT可以屏蔽操作系统的差异,可以实现跨平台。windows开发,可以自己通过相关安装openGL的博客去自行安装,也可以通过vs2022的解决方案中的管理NuGet程序包搜索。

2023-05-10 17:24:27 771

转载 makefile的入门文档(转载)

定义方式# = := ::= 变量名区分大小写,可以是任意字符串,不能含有":", “#”, “=”使用方式# $() 或者 ${}main.o : $(files) # 或者 ${files}...如果变量名只有一个字符,使用时可以不用括号,如$a, $b, 但不建议这样用,不管是否只有一个字符都写成$(a), $(b)这种形式前面定义的变量都是单行的。变量值有多行,多用于定义shell指令语法。

2023-05-08 11:47:47 505

原创 深度学习GPU服务器环境配置

组里面分配了台gpu服务器,让我负责管理,需要先配置一些深度学习环境,记录一下。一些linux服务器常用命令:https://blog.csdn.net/qq_51570094/article/details/123949910。

2023-04-27 22:08:25 1852 1

原创 在一个maven项目中使用maven命令进行junit单元测试

我们要测试这个demo类, 可以在demoTest.java中写以下代码。如何在一个maven项目中使用maven命令进行junit单元测试?然后就可以通过maven进行单元测试了。假定demo.java内容如下所示。

2023-04-17 22:05:56 2178

原创 linux使用源码安装软件

在日常使用linux服务器的时候,难免会遇到非root用户但需要安装软件的情况.这时就需要我们使用源码安装了. 下面我将以源码安装unzip软件作为模板来介绍非root用户如何使用源码安装软件.

2022-08-01 19:14:52 1316

原创 Transformer源码分析(torch.nn.modules.Transformer.py)

Pytorch中的torch.nn.modules.Transoformer.py源码分析最近想换个思路用Transformer来做实验,但对于目前比较流行的Transformer实现还较为生疏,看到pytorch中有比较简单(主要依据17年的Attention Is All You Need论文编写,没有较大的改动)的实现方法,因此想拿来作为模板分析一下来加强对Transformer的理解......

2022-07-06 21:27:48 2333

原创 机器学习入门实践--线性模型-多分类问题(python)

本文不涉及细节理论,只做必要性的介绍,侧重代码实现。线性模型-多分类问题的理论分析只有二分类是完全不够用的,因此需要其他的算法来解决多分类问题。例如识别数字0-9有10种情况。多分类问题模型是从二分类延申出来的。类比二分类即可学习。1.确定拟合函数h(x)从单样本开始对于一组样本{x,y=j}j∈[1,k]来说。对于x的预测结果可能有多个,如何确定最终的结果呢?判断概率P(y=j∣θ,x),那个概率更大,就预测那个值用hθ(x)表示就是:预测结果hθ(x)={P(y=1∣θ,x)P(y=2∣θ

2021-07-19 17:39:42 2713 2

原创 机器学习入门实践--线性模型-分类算法-二分类问题(python)

本博客的理论细节在这里:机器学习入门-分类问题的拟合本博客侧重于实现,细节理论不再过多赘述,只简单介绍。逻辑回归理论分析逻辑回归就是一个二分类问题的分类算法,其根据得出的回归函数可以分为线性逻辑回归和非线性逻辑回归。1.确定拟合函数h(x)要拟合的函数有两个,分别是线性逻辑回归函数和非线性逻辑回归函数线性逻辑回归对于超平面来说,线性回归的模型是h(x)=kx+b这个k,x,b都可以是多维的,只需要满足kx线性相乘即可。其实,将x增加一个值为1的维度,k和b合成一个向量组,就可以写成矩阵相乘

2021-07-14 20:18:07 4987 1

原创 机器学习入门实践--win10和Linux下的numpy安装

Window下的numpy安装根据<Python机器学习算法>要求.Python3.5window平台.使用pip安装安装python3.5网上随便找就有安装pipwin10下,直接在cmd中运行下面两行即可curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py # 下载安装脚本python get-pip.py # 运行安装脚本通过pip --version #查看是否安装成功使用pip安装n

2021-07-11 15:22:24 240

原创 VM虚拟机虚拟网卡设置和Linux网卡配置

VM虚拟机虚拟网卡设置和Linux网卡配置首先理清虚拟机中的配置和本地电脑之间的关系。这是三种虚拟机的网络链接模式,当使用vm虚拟机的时候,会选择一种模式作为网络连接的方法。这些模式分别在物理机上有对应的网络链接设置。这里主机模式和NAT模式分别在物理机上有着对应的虚拟网卡,这个虚拟网卡,可以通过虚拟机的虚拟网络编辑器来修改,也可以直接在物理机上通过更改网络适配器选项来修改。看物理机网络信息:通过在win下cmd中使用ipconfig命令,可以看到本地的无线或者有线网的ip,子网掩码,网关。桥

2021-07-11 13:31:06 2448 2

原创 CentOS卸载安装yum和python

CentOS卸载安装yum参考博客:Centos7 python2.7和yum完全卸载及重装 卸载python和yum卸载python# rpm -qa|grep python|xargs rpm -ev --allmatches --nodeps ##强制删除已安装程序及其关联# whereis python |xargs rm -frv ##删除所有残余文件 ##xargs,允许你对输出执行其他某些命令# whereis python ##验证删除,返回无结果卸载yum# rp

2021-07-11 13:21:23 444

原创 机器学习应用--计算机视觉相关介绍

应用-计算机视觉前面我们了解了机器学习的常见应用之一,推荐系统。现在我们再来看一下另一个常见应用,计算机视觉。我们最为常见的一个功能,图片文字识别,语音转文字,不管是qq还是微信,都有这样的功能。它是如何实现的呢?图像识别首先提取出包含文字的图片。将文字切开。识别文字。滑动窗口如何从一张照片中识别出那部分属于文字。我们可以使用一种叫做滑动窗口的算法按照文字一般比例,使用等比例文字图片和等比例其他图片进行监督训练。按照等比例,对要识别的图片进行扫描,每确定一个位置,就输

2021-07-06 13:34:07 490

原创 大数据集下的学习方法

大数据下的机器学习现在机器学习算法,其实就是大量数据集下对数据集进行拟合。当数据量很大的时候,算法的效率必然会降低,如何处理大量的数据,是现在要考虑的问题。随机梯度下降回顾线性回归的梯度下降。hθ(x)=∑j=0nθjxj代价函数Cost(θ,(x(i),y(i)))=12(hθ(x(i))−y(i))2Jtrain(θ)=12m∑i−1m(hθ(x(i))−y(i))2=1m∑i−1mCost(θ,(x(i),y(i)))迭代运行梯度下降θj:=θj−α∂Jtrain(θ)∂θj对于每个j=0,

2021-07-06 13:31:10 220

原创 机器学习应用-推荐算法概述

推荐算法机器学习的一个常见应用。我们以推荐电影来作为一个例子。基于内容的推荐r(i,j):表示用户j对电影i有评分y(i,j):用户j对电影i的评分x(i):第i个电影存在的特征x列向量。θ(j):第j个用户对不同特征的评价列向量。对于用户j,电影i来说,预测的评分是:(θ(j))T(x(i)),含义为用户j的偏好∗电影包含的特征\begin{aligned}& r(i,j):表示用户j对电影i有评分\\& y^{(i,j)}:用户j对电影i的评分\\\\& x^{

2021-07-06 13:28:59 157

原创 无监督学习-异常评估

异常评估异常评估是针对之前的无监督学习得到的结果,若产生了区别于以构建好的阳性模型(即产生阴性结果。发出异常。引入样例假如一个二维数据集{x(1),x(2),...,x(m)},其分布样例如下所示新增一个训练集xtest,查看新增效果。\begin{aligned}& 假如一个二维数据集\{x^{(1)},x^{(2)},...,x^{(m)}\},其分布样例如下所示\\& 新增一个训练集x_{test},查看新增效果。\end{aligned}​假如一个二维数据集{x(1)

2021-07-06 13:27:49 382

原创 矩阵压缩降维

数据压缩在存储数据和使用数据的时候,过多的数据会造成空间上的占用和时间上的消耗。如果我们能够将数据压缩的更少一点,即可使用更少的空间和时间进行训练模型。例1:从2维到1维。当2维的点均匀的分布在某一条直线附近,即可使用该直线所在的1维值来表示之前的2维的值。当二维变量能够通过一条线表示出来的时候,我们就可以用一个变量来表示该二维变量了,即:x(i)∈R2−>z(i)∈Rx(i)表示第i个样本.z(i)表示第i个样本映射出来的1维结果。x^{(i)}\in\mathbb{R}^2\qqu

2021-07-06 13:26:11 1213

原创 无监督学习

无监督学习监督学习,就是我们有确定的分类,传入参数为{x,y}这样的,输入x会输出确定的y。无监督学习,就是我们没有确定的分类,传入参数为{x,x,…,x}这样的,算法根据某些特征自动将其分类。K-means算法对于无监督学习的分类算法,最简单的是k-means算法了。该算法非常容易理解:k的含义为分成k个群。例如,我们要分成2个群。Step1:随机在样本中确定两个点A,B。Step2:将样本中所有的点,根据到这两个点之间的距离,分成两部分。Step3:求每一部分的中心位置。Step4

2021-07-06 13:18:25 105

原创 SVM以及核函数

对于监督学习分类算法,我们还有一个区别于逻辑回归的方法,即支持向量机SVM。SVM与逻辑回归的本质区别就是损失函数的区别。支持向量机SVM支持向量机(support vector machines,SVM)是一种二分类模型,基本模型是定义在特征空间上的间隔最大的线性分类器。简单来说,就是用来做分类用的,类比一下之前提到过的逻辑回归。它相较于之前的逻辑回归,使用了向量表示法,效果我们下面分析。逻辑回归回到之前我们的逻辑回归分类,我们将逻辑回归问题,转化为了概率问题,并且计算得出对应的概率函数hθ

2021-07-06 13:17:19 302

原创 模型的效果评判及模型的进一步优化问题

对于一个样本的学习,学习完后,使用另一个样本进行检测.针对检测结果的不同,模型函数的进一步优化方法问题汇总对于一个正则化的代价函数J(θ)=12m[∑i=1m(hθ(x(i))−y(i))2+λ∑j=1mθj2]J(\theta)=\frac{1}{2m}[\sum_{i=1}^m(h_\theta(x^{(i)})-y^{(i)})^2+\lambda\sum_{j=1}^m\theta_j^2]J(θ)=2m1​[i=1∑m​(hθ​(x(i))−y(i))2+λj=1∑m​θj2​]当我们发

2021-06-02 13:06:45 689

原创 机器学习入门-神经网络梯度下降

神经网络-梯度下降对于一个神经网络,我们通过传入参数,经过中间层的θ切换,最后输出hθ结果。下面是一个用makedown画的简易神经网络,感觉不是很好康,不过又懒的画图了,就这样吧。#mermaid-svg-65edGf52Det2pw3j .label{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);fill:#333;color:#333}#mermaid-svg-65edGf52D

2021-06-02 11:42:12 81

原创 机器学习入门-分类问题的拟合

分类问题-梯度下降其实对于分类问题的本质还是选择合适的函数h(x),通过改变函数的系数Θ使其代价cost(i)之和J(Θ)最小.逻辑回归回归函数选择对于01分类问题,由于正常的线性回归方程的局限性,采用非线性模型模型函数:hθ(x)=g(θTx)θTx可以表示为多项式如:θ0+θ1x1+θ2x2+θ3x12x2+...其中g(z)=11+e−z所以hθ(x)=11+e−θTx模型函数:h_{\theta}(x)=g(\theta ^T x)\\\theta^T x可以表示为多项式如:\thet

2021-06-02 10:50:24 397

原创 Java中的装箱和拆箱

Java中的装箱和拆箱突然想起之前瞄过一眼的装箱和拆箱,想起概念不是特别清楚,于是探究一下。装箱和拆箱的概念众所周知,Java中万物皆对象(Object)。而装箱和拆箱就是处理基本数据类型和其对象之间的关系的操作。装箱:将基本类型转化成对应的Object类型。拆箱:将Object类型转化为对应的基本类型。Java中的8种基本数据类型和其对应的Object类型:byte(Byte),ch...

2020-04-17 09:42:43 301

原创 Ajax入门

1.Ajax入门1.1 Ajax简介Ajax,全称Asynchronous JavaScript and XML.即异步的JavaScript和XML.Ajax是一种无需重新加载整个网页的情况下,能够更新部分网页的技术.Ajax不是一种新的编程语言,而是一种用于创建更好更快以及交互性更强的Web应用程序的技术.1.2 Ajax包含的技术.Ajax是一个通过多个我们现有的技术的使用来...

2020-04-13 15:46:30 261

原创 SpringMVC入门

写在前面:SpringMVC是前端和后端交互的连接点.所以不可避免的需要一些前端的知识,因此我们会插入一些简单的前端知识.可以酌情阅读.大概步骤:SpringMVC的使用,然后通过注解再使用,然后重新学习一下重定向和转发.解决一下其他问题,比如乱码过滤.统一数据传递(JSON).前端的一些小知识:Ajax使用,优化一下我们的页面.整合一下我们的SSM,然后用到我们之前学过的,让我们的页...

2020-04-13 15:39:47 441 1

原创 Spring入门

1. Spring入门首先要了解一下什么是spring。通过一个简单的样例来分析入门。首先的自学必备,官方文档:https://docs.spring.io/spring/docs/5.2.4.RELEASE/spring-framework-reference/1.1 Spring简介spring框架是以interface21框架为基础,重新设计丰富的成果。spring就是整合了很多...

2020-04-13 15:22:23 297 1

原创 Mybatis的一些扩展操作

Mybatis的一些扩展操作1.日志入门的时候我们看过config中有settings的设置。其中就有日志有关的设置。我们可以通过设置这些日志来查看我们程序的详细运行流程<settings> <setting name="logImpl" value="STDOUT_LOGGING"/></settings>1.1日志工厂第三个字段就是描述的...

2020-04-13 11:59:29 362

原创 Mybatis的动态SQL

动态Sql还是开局贴上官方文档:https://mybatis.org/mybatis-3/zh/dynamic-sql.html动态 SQL 是 MyBatis 的强大特性之一。利用动态 SQL,可以减少根据条件拼接sql的痛苦。其实动态SQL说白了也就是SQL的字符串拼接.只不过不需要我们处理很多复杂的情况罢了(意思就是,这个动态SQL就是帮我们把字符串拼接,判断边界一类的,如果我们肯花...

2020-04-13 11:45:29 171

原创 Mybatis缓存

1.缓存官方文档:https://mybatis.org/mybatis-3/zh/sqlmap-xml.html#cache什么是缓存?遇事不决先百度。缓存是指可以进行高速数据交换的存储器。先于内存和CPU交换数据不过这属于计算机硬件了。我的理解就是用于暂时保存在内存中的数据,不用每次都去磁盘上读取。2.mybatis的缓存MyBatis 内置了一个强大的事务性查询缓存机制,它可以...

2020-04-13 11:32:57 146

空空如也

空空如也

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

TA关注的人

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