- 博客(47)
- 资源 (5)
- 收藏
- 关注
原创 【C++】IO多路复用(select、poll、epoll)
select 是早期 Unix 系统中经典的 I/O 多路复用技术,通过维护三个文件描述符集合(读、写、异常),调用时阻塞等待集合中任一文件描述符就绪。它的核心缺陷在于集合大小受系统宏定义限制(通常为 1024),且每次调用需将整个集合从用户态拷贝到内核态,同时就绪后需遍历整个集合才能找到活跃的文件描述符,在高并发场景下效率会显著下降,仅适用于连接数较少的简单场景。
2025-11-09 14:03:48
566
原创 【C++】Reactor和Proactor
Reactor 和 Proactor 是两种经典的事件驱动 I/O 模型,广泛用于高并发网络服务器。它们的核心目标是高效处理大量并发连接,避免传统阻塞 I/O 的线程开销。模型口诀Reactor“我等你准备好,我来读写”Proactor“你去读写,好了告诉我”Linux 生态推荐 Reactor,Windows 高性能可选 Proactor。
2025-11-09 11:16:01
802
原创 【C++】基于C++的RPC分布式网络通信框架(二)
在网上关于RPC分布式网络通信框架的文章数不胜数,原本不打算写这篇文章,但是网上的文章总给人一种残缺美,我是一个追求完美的人,所以还是打算站在巨人的肩膀上去完善大神的两篇文章。并补充一些关于这个项目的面试细节(挖个坑 等我找到工作后)。RPC框架基础概念篇C++实现轻量级RPC分布式网络通信框架对于刚接触这个项目的小伙伴来说通常是一脸懵逼,这里给出一个通俗易懂的理解假如说你要买零食,在以前的经济模式下,你会直接去附近的超市,直接进行购买,你买的零食会全部来自于这家超市。
2025-11-08 19:18:34
778
1
原创 【C++】GDB调试
简称GDB是GNU项目开发的一款功能强大的命令行调试工具。GDB支持多种编程语言(C、C++、Go、Rust等)和多种处理器架构(x86、ARM等),是系统程序员和应用程序开发者的必备工具。学习GDB调试最好的教程就是官方文档。但对于小白直接上手常看官方文档是有难度的,通关这篇博客带大家入个门,使大家能对GDB调试有个基本的掌握,然后再通过官方文档进行查漏补缺。
2025-10-26 15:52:28
602
原创 【C++】开发环境配置
在Windows上进行C++开发有两种配置方法,一种是直接在Windows平台上开发,还有一种是借助Windows的linux子系统(WSL),因此会产生两套不同的配置。环境的配置主要分为四大板块:在本文中主要介绍两种组合:vscode安装+wsl安装+相关插件配置官网链接:https://code.visualstudio.com/Download首先vscode的安装很简单,直接去官网下载windows版本安装包安装即可,后续的操作基本是默认的,网上的教程也很多,这里就不加赘述了。Wndows的l
2025-10-25 18:03:48
482
原创 【Diffusion Model】(三) IDDPM代码详解
注:Diffusion Model 最重要的三篇文章DDPM,DDIM,IDDPM请大家务必按照顺序读懂搞透!!在明白了上述这些模型的原理之后,我们就需要开始接下来的实践部分了, IDDPM的代码是三者的集大成之作,所以我们只需要搞懂这个代码就可以了,剩下的这些代码都是在这个代码的基础上进行修改的这个代码是很有难度的,建议大家先看论文!!!,然后配合!!!!!!!进行理解。在讲解代码之前我们先来看一下思维导图,方便大家对于整个框架和结构的了解。
2025-10-24 23:07:46
833
原创 【Diffusion Model】(二) 奠基之作DDPM详解
在扩散模型的学习过程中,up主deep_thoughts的视频给了我很大的帮助,下面是我在学习过程中观看的一些视频,大家也可以按照这个顺序进行学习。DDPM论文链接也在此给大家列出:https://arxiv.org/abs/2006.11239注:本文章难度较大,篇幅较长,大家在阅读过程中需要一些耐心!在学习DDPM原理之前,了解一些数学概率论的知识是必要的,因为在DDPM中涉及到很多概率公式的推导。1、先验概率和后验概率先验概率:根据以往经验和分析得到的概率,它往往作为“由因求果”问题中的“因”出现,
2025-10-24 22:35:36
730
原创 【Diffusion Model】(一) 发展历程
扩散模型从出现发展到今天已经成为深度学习领域的一个庞大的分支,对于刚刚踏入扩散模型领域的同学,了解扩散模型发展的历程才能在这浩瀚的文献之海中找到到达彼岸的一条航线。扩散模型(Diffusion Models)是近年来快速发展的生成模型家族,其核心思想是通过逐步添加和去除噪声来学习数据分布。
2025-10-24 21:12:41
662
原创 【C++】基于C++的RPC分布式网络通信框架(一)
我使用的系统是Ubuntu22.04,为了确保所有配置的准确无误,请尽量选择和我一样的系统环境。
2025-09-26 22:17:54
952
原创 【深度学习】图像余弦相似度
计算机视觉是研究图像的学问,在图像的最终评价时,往往需要用到一些图像相似度的度量指标,因此,在本文中我们将详细地介绍原生和调用第三方库的计算图像余弦相似度的方法。
2025-03-29 21:46:52
591
原创 【深度学习】图像相似度评价指标
峰值信噪比(PeakSignal toNoiseRatio,PSNR),表示的是信号的最大功率与噪声功率的比值。峰值信噪比越高,表示噪声影响越小;峰值信噪比越低,表示噪声影响越大,单位是分贝dB。PSNR是基于像素值的全局评估,不考虑图像的结构信息。PSNR接近50dB:表示压缩后的图像质量非常高,仅有非常小的误差。在这种情况下,原始图像和压缩后的图像之间的差异几乎不可察觉。PSNR大于30dB:通常认为,人眼很难察觉到这种压缩水平下图像的失真。这意味着压缩后的图像在视觉上与原始图像非常接近。
2025-03-22 10:49:04
1357
原创 【深度学习】同一台电脑使用ssh配置多个github账号
如果一台电脑只有一个github账号,那么进行默认的ssh配置,通过git拉取和提交代码即可,但在实际的工作中,有时候需要在一台电脑登录多个github账号,将不同的项目代码提交到不同的github账号,这个时候如果仅仅只是使用ssh默认配置,私钥和公钥将无法完成一对一配对,为此我们需要进行ssh的``多对多```配置,简单来讲就是原本两个人用一双筷子,现在两个人用两双筷子。当你看到这篇文章时,默认你已经有了一些git相关的基础知识,这篇文章里不进行赘述。
2025-03-12 14:18:38
709
3
原创 【C++】CLion和Qt 联合开发环境配置教程(Windows和Linux版)
这个软件属于直接默认安装就行,很简单,不多做介绍了window 直接点exeLinux 先赋予可执行权限,然后./xxx.run运行安装,另外ubuntu需要执行。
2024-10-14 20:29:40
2866
原创 【深度学习】LLM大模型分词
自从chatgpt出现,大模型的发展就进入了快车道,各种各样的大模型卷上天,作为一个在大模型时代的科研人,即使你不向前,也会被时代裹挟着向前,所以还是自己走快一点比较好,免得被后浪拍死在沙滩上。对于我而言,写文章更多的是对知识的总结和回顾,当然如果我的文章能够对你的学习有所帮助我也是挺开心的。这篇文章主要参考B站上的这位大神的视频以及Huggingface上的总结。
2024-08-29 10:13:27
2323
4
原创 【深度学习】分布式训练
最近开始上手进行分布式训练,于是在网上开始搜各种教程和资料,看到了许多写得很好的文章,但是有些文章又不是特别的全面,于是决定对这些文章进行归纳和总结,方便后来者的学习和查阅。这里友情提醒一下,大家查资料的时候不要仅仅局限于百度,有时候在百度上查半天,不如去官方文档或者google搜一下,立马就能看到很多优质的解答。
2024-08-27 02:33:41
2078
1
原创 【深度学习】SAM(Segment-Anything)代码详解
当为true的时候会返回3个mask,对于模棱两可的prompt比如一个点,多输出可以比单单输出产生更高质量的Mask,如果只有一个mask是被需要的,可以通过quality score 来筛选mask,对于非模棱两可的输入,比如多个prompt,将multmask_output设置为false可以得到更好的结果return_logits。这个文件包含三层的封装,最外层是sam_model_registry,它提供了统一的接口,用来选择vit_h,vit_l,vit_b,默认使用vit_h。
2024-03-13 22:52:58
10654
原创 【深度学习】pycharm远程连接
1、2、整个过程花费了一天的时间,不过最终的结果可喜可贺3、整个过程非常冗长,对于初次上手的小伙伴可能不是很友好,不过还是希望你能够坚持着看完。孰能生巧。4、本篇的重点是本地环境的配置,远程环境的配置会一笔带过。
2024-01-24 18:41:03
6048
2
原创 【Python】配置pyqt5开发环境
在这里插入图片描述](https://img-blog.csdnimg.cn/1cbf933ebda345f080b1afe564d11850.png。(当前rcc工具目录,请根据实际修改)
2023-08-17 22:37:52
304
原创 【深度学习】cuda安装和卸载(nvidia-smi 和nvcc -V 区分)
2、在安装CUDA 时候会安装3大组件,分别是== NVIDIA 驱动、toolkit 和 samples==。上面说的 CUDA Driver API是依赖于 NVIDIA 驱动 安装的,而CUDA Runtime API 是通过CUDA toolkit 安装的。1、CUDA 有两种API,分别是 运行时 API 和 驱动API,即所谓的 Runtime API 与 Driver API。的结果是对应== CUDA Runtime API==CUDA Runtime API,因为是向下兼容的。
2023-08-15 21:00:08
3615
原创 Stable Diffusion WebUI安装和使用教程(Windows)
1、在整个过程中会创建新的虚拟环境,安装大量的python库,这些库在requirements.txt中都有写明,如果安装缓慢,建议把webui.bat停掉,手动安装这些库2、在整个过程中需要从github下载项目,如果网速不加,建议用gitee镜像代替,所有地址都在launch_utils.py文件中,将对应的网址替换掉3. windows环境用不了os.statvfs ,因此需要把相关代码注释掉。
2023-08-10 20:45:55
2692
原创 【深度学习】语义分割标注转换
形式一:Json格式的标注转换成调色板mask形式二:RGB类型mask(24位三通道)转成调色板mask(8位单通道),调色板的格式为.png形式三:对于二分类的语义分割,一般采用灰度图(8位单通道)
2023-05-26 22:13:47
2008
原创 【深度学习】pytorch卷积神经网络中间特征层可视化
在我们使用神经网络的过程中,经常会好奇中间的网络到底学到了些什么,所以常常想用可视化的方法来输出这些特征层,所以惊天带大家用一个简易的网络来输出这些特征层。
2023-01-25 10:04:15
3143
4
原创 【深度学习】pytorch中反向传播,梯度保留,梯度分离,梯度清零,梯度累加等相关问题解析
1.因此,当使用optimizer=optim.Optimizer(net.parameters())设置优化器时,此时优化器中的param_groups等于模型中的parameters(),此时,二者是等效的,从二者的源码中也可以看出来。,得到的这个tensor永远不需要计算其梯度,不具有梯度grad,即使之后重新将它的requires_grad置为true,它也不会具有梯度grad。detach()函数,返回一个新的tensor,是从当前计算图中分离下来的,但是仍指向原变量的存放位置,其。
2023-01-23 16:42:16
6037
原创 【C++】Linux命令大全
用法:tar [选项] 文件名.tar.gz 源文件选项:-c --create :创建新的归档文件,即打包,打包的意思就是说把一堆文件打包成一个文件-v --verbose :可视化,显示详细的tar处理的文件信息的过程-f --file :要操作的文件名-x --extract :解压文件。
2023-01-20 15:19:44
2482
原创 springboot静态资源映射
import org.springframework.context.annotation.Configuration;import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;@Configurationpublic class ResConfig
2022-02-26 12:48:07
485
原创 springboot的跨域问题
import org.springframework.context.annotation.Configuration;import org.springframework.web.servlet.config.annotation.CorsRegistry;import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;@Configurationpublic class WebConfiguration imp
2022-02-26 11:38:26
152
原创 springboot 的application.properties文件
#连接数据库的四大参数spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driverspring.datasource.url=jdbc:mysql://localhost:3306/test_foodspring.datasource.username=rootspring.datasource.password=root#jpa相关配置:#开发阶段可以,设置为true,开启了逆向工程,在实际上线运行阶段设置为false#数据库和j
2022-02-26 11:36:47
657
原创 【Python】Matlab画图魔法大全
画布的创建matlab之figure函数官网https://ww2.mathworks.cn/help/releases/R2018b/matlab/ref/figure.html?searchHighlight=figure&s_tid=doc_srchtitle语法figurefigure(Name,Value)f =figure(___)figure(f)figure(n)说明figure使用默认属性值创建一个新的图窗窗口。生成的图窗为当前图窗。fi..
2022-02-14 07:08:36
1360
原创 node.js 安装教程
安装node.js版本管理工具网址:nvm安装包下载解压安装包双击安装包以管理员身份启动powershellnvm -v 查看安装版本nvm list available列出所以可获得的nodejs版本当前最新的发行版是16.13.1nvm install nodejs版本 安装指定版本nodejsnvm list 查看以安装的版本‘’nvm u...
2022-01-04 15:57:44
614
原创 vscode搭建前端开发环境
1.微软官网下载vscode2.点击小方框,搜索下载三个插件3.点击左下角的齿轮,点击设置,配置自动保存4在左侧导航栏新建一个项目,在新建一个.html结尾的文件就可以编写网页了
2021-12-12 12:15:49
7190
原创 【C++】VS2019和Qt5.14.1联合使用
VS2019的安装和Qt的安装可以我的这两篇博客Qt安装教程VS2019安装教程下面我们介绍在VS019中安装Qt插件打开VS2019,扩展->管理扩展,然后搜索Qt,下载安装Qt Visual Studio Tools。下载完成之后按照要求重新启动VS,点击 Qt VS Tools ->Qt Versions点击add new Qt version点击Path,在Qt的安装路径下找到msvc2017 并添加装完了之后新建...
2021-11-12 23:48:09
9045
2
原创 Matlab实现线性插值、抛物插值、牛顿插值、拉格朗日插值、分段抛物插值、分段线性插值
线性插值原理流程图代码x0=0.2;y0=21;x1=0.4;y1=25;x=0.7;L0=(x-x1)/(x0-x1);L1=(x-x0)/(x1-x0);y=y0*L0+y1*L1;抛物插值原理流程图代码x0=0.2;x1=0.4;x2=0.6;y0=21;y1=25;y2=23;x=0.7;L0=(x-x1)*(x-x2)/(x0-x1)/(x0-x2);L1=(x-x0)*(x-x2)/...
2021-11-08 00:34:18
18339
2
原创 【C++】vscode配置C/C++并用两种方式解决中文乱码问题
目录下载vscode安装vscode下载Mingw安装Mingw配置Mingw环境变量安装vscode插件配置控制台输出解决控制台输出乱码Debug功能配置二次元背景图片设置下载vscode点击vscode下载网址vscode下载网址进入界面后直接下载安装包安装vscode同意协议自定义安装目录,不建议安装在C盘注:1、通过code 打开“操作添加到windows资源管理器文件上下文菜单 :把这个两个勾选上,可以对文件使用鼠标右键,选择VSCode 打开。注:2、将code注册为受
2021-07-26 02:47:21
4809
3
web结课作业-二十四节气.rar
2021-06-27
matlab大作业.rar
2021-11-25
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅