- 博客(59)
- 资源 (3)
- 问答 (1)
- 收藏
- 关注
原创 现代cpp多线程与并发初探
用于创建一个执行的线程实例,所以它是一切并发编程的基础,使用时需要包含<thread>头文件, 它提供了很多基本的线程操作,例如get_id()来获取所创建线程的线程 ID,使用join()来等待这个线程结束(与该线程汇合)等等std::mutex是 C++11 中最基本的互斥量类,可以通过构造std::mutex对象创建互斥量, 而通过其成员函数lock()可以进行上锁,unlock()可以进行解锁. 但是在实际编写代码的过程中,最好不去直接调用成员函数, 因为调用成员函数就需要在每个临界区的出口处调用。
2024-09-28 19:40:09 868
原创 xmake与包管理:又一个现代c++构建工具?
因为我已经在很多项目中使用了cmake,经验相对更多,xmake学习起来并不困难,搭配官方文档很容易搭建一个项目.但目前还是推荐使用cmake+vcpkg/cpm.cmake方案,因为更成熟,解决方案更多.
2024-09-12 21:08:25 1536
原创 CUDA101:学习cuda编程
CUDA上图展示了16个并行(流)多(streaming multiprocessor)处理块(digrams)每个并行多处理块有8个并行处理器(streanming processors),所以一共128个并行处理器每个并行处理器有一个乘加单元 (Multiplication and Addition Unit)和一个加单元(multiplication unit).一张GT200显卡有30个并行多处理器,每个处理器有8个并行处理器,所以一共240个并行处理器,有多余1的TFLOP处理能力。
2024-09-08 19:22:41 1553
原创 从零开始写一个简单的httpserver
使用c++基于socket库编写了一个简单的httpserver,主要作用是从请求头中解析字段并返回响应数据,并使用zlib库支持gzip压缩,这里顺便推荐一下平台,有许多练习,同时可以使用接近二十种语言.
2024-07-28 17:18:51 321 2
原创 dive deeper into tensor:从底层开始学习tensor
and这属于karpathy的课程.事实上他还有很多值得一看的课程和repos.tensor分成哪些部分?一个tensor可以分为元数据区和存储区(Storage)信息区主要保存着tensor的形状(size)、步长(stride)、数据类型(type),storage_offset,layout等信息,而真正的。
2024-07-11 20:46:57 701
原创 不同编程语言之间的互操作:Py,Js,Java调用C/C++
Node-API 是用于构建native addons的 API。它独立于底层 JavaScript 运行时(如 V8),并作为 Node.js 自身的一部分进行维护。该 API 在不同版本的 Node.js 中具有稳定的应用二进制接口 (ABI)。其目的是使附加组件不受底层 JavaScript 引擎变化的影响,并允许为某一版本编译的模块无需重新编译即可在以后版本的 Node.js 上运行。addons使用node-gyp 等构建/打包。if (status!if (status!
2024-07-01 16:52:50 646
原创 2024年跨平台应用解决方法
很久没有写这类high-level的文章了,本身这类框架就一直层出不穷,但是其中历久弥坚,坚韧不拔的框架又有多少呢?首先考虑到学习成本以及掌握一些编程语言在工作、学习生态上的价值,给这些东西适用生态划分一下.
2024-06-08 16:57:13 1439 1
原创 [国产大模型简单使用介绍] 开源与免费API
随着大模型技术蓬勃发展和开源社区越来越活跃,国内的大模型也如雨后春笋一般.这时,一些就会问了,有了llama3,Mistral还有Gemma等等,国外大厂接连发力,一些开源社区也会有一些不错的模型,国内怎么比?对一个人使用,ollama或者gpt4all直接本地使用,对于一个组,使用1panel+ollama+maxKB部署在内网 也成了最佳搭配. 国内大模型怎么比?
2024-05-22 12:21:05 1455
原创 从论文中看AI绘画
主要看是看Diffusion Models,CLIP,ControlNet,IP-Adapter这种经典论文,尝试总结论文写作的一些方式以及图像生成模型的一些内在思想. 对于其中的数学原理和代码不过深究.
2024-05-05 16:27:50 925
原创 本地使用LLM的方法总结
就目前而言, Ollama或者GPT4All是绝对够用的,上面三个工具选择一个即可. 如果想要在服务器上提供API也是不错的.
2024-04-26 20:39:25 977 4
原创 Node web框架小赏
之前写了Python,现在写点NodeJS的,当然目前JS的运行时还有Deno和Bun,不过还是需要时间检验.而Node的后端框架也不少,其中佼佼者当属Nest.js,而更小的有Express这种.这里就写写Express,Koa,Fastify以及Nest这几个框架的介绍以及示例代码,以供后续技术选型使用.首先完全可以不使用框架写一些api${${
2024-04-05 22:17:34 1065 3
原创 python的Web框架比较
之前好像写过一些关于Python的Web框架?现在再按照ASGI与原本的WSGI区分一下,顺便把(framework)与(library)区分一下.之前我也写过(或者说想过)一些类似生态以及作用的框架进行比较,大多都是看看网上评价以及star数,现在我想大概使用以下感受一下氛围,毕竟现在找工作一般也不会强调用python的web(事实上python的web确实要比Java的生态啥的要差).
2024-03-31 15:36:23 1445
原创 C# xaml框架以及Java的ORM介绍
c#有ASP.Net,.NET以及EF Core这几个重要的运行时和框架.分别用于web,应用以及数据库的ORM.目前跨平台的有Avalonia UI,.Net MAUI以及Uno Platform,至于WPF等本身不是跨平台的,但可以依靠其他库实现跨平台.这里面Avalonia应该是认为bug比较少的.当然目前最火的跨平台解决方案应该是Flutter,其次是React Native.至于EF Core,看看代码就知道有多么简洁优雅了.using var db = new BloggingCont
2024-03-21 22:46:10 543
原创 TypeScript on the way:学习TypeScript
早该学学了.之前写过Python的类型系统,如果对于写C++,Java,C#等这类语言来说,typing根本不成问题,所以理解TypeScript也不是问题.
2024-02-19 16:50:52 915
原创 注意力与transformer:位置编码与vision transfomer
介绍注意力机制与transfomer模型,特别关注相对位置编码以及一种vision transformer的而变形
2024-02-19 15:46:04 937
原创 【深度学习下载大型数据集】快速下载谷歌云盘数据集
跑深度学习的时候,一些数据集比较大,比如60多个G,而且只是训练集.然后这些数据是由某些实验室组采集的,并不像一些大公司搞的,一般都直接方法一些网盘中.如果是谷歌网盘,本身通过代理也不麻烦,但是发现即使通过代理,下载的速度也非常慢,如果频繁下载还会被限制.这里给一个方法,通过租赁廉价服务器下载谷歌云盘的数据集,然后自己再通过公网下载.速度要快一些.我通过IDM下载谷歌云盘上的大型数据集时速度低的时候可能才五六百KB,使用这种方法20多G的数据40s左右下载到服务器上。
2024-01-02 18:01:20 1895 1
原创 [Github-bot]帮助处理issue和PR的github-bot
在看一些开源项目时,会发现一些帮忙处理issue和PR的bot,这些bot都是基于Github的Apps。
2023-12-26 15:50:59 842
原创 [Python工程化之路] 搭建Python开发环境 包管理环境以及Linter
在工程化上,Python相比于Java,C#这类语言还是差了不少,不过整个生态还是不错的.
2023-12-26 15:49:25 1134
原创 [Latex写作] vscode搭建latex写作环境
如果是为了方便简洁,实际使用完全够了,之前也写过使用Obsidian写文章的教程. 这次主要介绍使用在本地vscode加上插件写论文.
2023-12-25 10:25:52 2690
原创 matplotlib与opencv图像读取与显示的问题
最近在用opencv和matplotlib展示图片,但是遇到了一些问题,这里展开说说首先需要明确的是,opencv和matplotlib读取图片都是通道在最后,而前者默认可见光图像是BGR,后者是RGB.此外还有PIL以及imageio等读取图像的工具,这里不一一赘述.
2023-11-30 12:33:22 388
原创 Type Hints in Python:python的类型注释
Python中的类型系统,使用type hints使得整个开发过程更加顺畅.类似typescript的目的.
2023-11-29 19:47:58 172
原创 深度学习中的图像融合:图像融合论文阅读与实战
介绍图像融合概念,回顾sota模型,其中包括数字摄像图像融合,多模态图像融合,接着评估一些代表方法介绍一些常见应用,比如RGBT目标跟踪,医学图像检查,遥感监测。
2023-11-19 14:06:07 3697
原创 NLP学习:深入NLP
之前学过一段时间NLP,因为其中涉及到一些深度学习常用的知识或者框架,但苦于不系统以及没有任务focus不能长久.这里借助微软的教程写点东西.
2023-11-19 14:01:00 584
原创 【大模型微调实战】使用Peft技术与自己的数据集微调大模型
LLM是大型语言模型的缩写,是人工智能和机器学习领域的最新创新。2022年12月,随着ChatGPT的发布,这种强大的新型人工智能在网上疯传。对于那些足够开明的人来说,生活在人工智能的嗡嗡声和科技新闻周期之外,ChatGPT是一个在名为GPT-3的LLM上运行的聊天界面。最近的大模型就是Meta的llama2当然还有openai的GPT4,google的PaLM2.国内有清华的ChatGLM等等.
2023-11-01 10:15:08 6140
原创 [计算机视觉] 目标检测学习
得到2000个区域proposals后,CNN充当特征提取器,并且输出密集层由从图像中提取的特征组成,并且提取的特征被馈送到SVM中以对该候选区域提议内的对象的存在进行分类。虽然对于图像分类,很容易测量算法的性能,但对于对象检测,我们需要测量类的正确性以及推断的边界框位置的精度。对于两个相同的区域,IoU将是1,而对于完全不相交的区域,它将是0。在预测时,我们为每个图像生成多个锚框,预测所有锚框的类别和偏移量,根据预测的偏移量调整它们的位置以获得预测的边界框,最后只输出符合特定条件的预测边界框。
2023-10-23 17:48:10 279
原创 CMake学习
在Windows上开发c++相比Linux还是有点不方便,这里介绍CMake,跨平台的构建工具.在Windows上可选择的构建后端有vs,codeblocks这种软件的文件结构,或者单纯的Makefiles以及Ninja.相当于忽略了几个项目构建的差异.
2023-10-14 15:05:09 56
原创 [深度学习教程] 训练的tricks
最近在看微软的AI for Beginners,质量比较高,这里相当于将其中的一篇文章写过来加点自己的理解.模型的训练的一个主要问题是梯度爆炸或者梯度消失,前者会导致训练不稳定,表现出来就是损失值不稳定,一直都处在较高值降不下去,后者就是更新缓慢.下面介绍一些技巧。
2023-10-04 12:12:28 80
原创 [计算机视觉DL学习] 迁移学习 风格迁移基础学习
将一个图像中的风格应用在另一图像之上,即风格迁移(style transfer)这里我们需要两张输入图像:一张是内容图像,另一张是风格图像。我们将使用神经网络修改内容图像,使其在风格上接近风格图像。more。
2023-10-01 18:13:00 313
原创 [GAN学习] 生成动漫人物头像
生成式AI以及比较新的概念AIGC最近比较火,之前的Diffusion model也很火,但是一般的电脑不太好训练,这里使用了GAN模型生成动漫人物他头像,简单易懂。
2023-09-20 17:19:50 313
原创 [机器学习]KL散度——两个概率分布的相似度量
现有的度量方式有很多,但我们主要关心的是尽量减少必须发送的信息量。这两个模型都将我们的问题简化为两个参数,牙齿数和概率(尽管我们实际上只需要均匀分布的齿数)。信息的最佳编码是一个非常有趣的话题,但对于理解KL分歧来说并不是必要的。将KL散度视为距离度量可能很诱人,但我们不能使用KL散度来测量两个分布之间的距离。这是因为KL散度不是对称的。熵的关键在于,只要知道我们需要的比特数的理论下限,我们就可以准确地量化数据中的信息量。本质上,我们所看到的KL散度是原始分布中数据的概率与近似分布之间的对数差的期望。
2023-09-10 12:34:28 832
原创 【机器学习】F1-score那些事
如果你有一个不平衡的数据集,那么你应该使用macroF1分数,因为即使类是偏斜的,这仍然会反映真实的模型性能。然而,如果你有一个平衡的数据集,那么可以考虑microF1分数,特别是如果与最终用户交流结果很重要的话。
2023-09-02 12:35:13 940
原创 [AI写作工具评测]评价市面上的AI写作产品
众所周知,目前AI可以粗浅的分为cv,nlp以及语音相关.这几个方面都可以生成,目前相关的工具也特别多,这时候就要确定自己的目的,如果是为了便于写作,做上层的东西,那就首先要求自己的内容和主题,然后才是确定工具.本人打算写几篇关于现在的一些AIGC方面工具的评测,包括文字,图像以及语音.随着深度学习神经网络的发展,AI的概念也越来越火,AIGC等概念也越来越深入人心,相比于之前炒的很热的web3,元宇宙啥的,这个至少效果是很不错的,但是背后的一些原理什么的还是很令人捉摸不透,不过这就是学术界的事情了.
2023-09-01 20:43:19 268
原创 [全面教程]Javascript DOM操作(一)
对于一个节点来说,它的父节点只可能是三种类型:元素节点(element)、文档节点(document)和文档片段节点(documentfragment)js的DOM操作大致可以分为几个section介绍,从DOM的基础概念,选择元素,遍历元素,控制元素,控制属性,处理事件等等.由于父节点只可能是三种类型:元素节点、文档节点(document)和文档片段节点(documentfragment)。只有文本节点(text)、注释节点(comment)和属性节点(attr)有文本值,因此这三类节点的。
2023-09-01 20:40:48 132
原创 【实用教程】 实战写浏览器插件!
这是内容脚本的工作。现在Edge浏览器和Chrome浏览器都差不太多,需要修改一些API即可进行移植,这里选择Chrome浏览器,因为谷歌官方教程写得更详细一些,这里使用的是最新的V3版本.其中,action键指定 Chrome 浏览器应作为扩展的操作图标使用的图片,以及在点击扩展的操作图标时弹出的 HTML 页面.icons里的选项对应不同的展示.最后我写了一个简单的划重点的扩展,用户点击扩展后可以自己选择某种预定的颜色或者自定义某种颜色,然后光标选中的文字就会根据选择变色作为画出的重点.
2023-08-23 10:30:13 817
原创 C++与Qt开发入门
在mainwindow.cpp中实现连接,注意连接的两个信号和槽函数对应关系是,如果信号有参数,槽函数可以没有参数,但如果槽函数有参数,就要与声明的信号一致;invite_code=M19ldHltaXk=比如单击窗口上一个按钮然后弹出一个对话框,那么就可以将这个按钮的单击信号和自定义的槽关联起来,信号是按钮的单击信号,槽实现了创建一个对话框并显示的功能。此外,信号可以连接多个槽函数或者信号,多个信号也可以连接同一个槽函数.所以可以看出在数量方面,槽函数和信号没有什么连接限制.
2023-08-22 19:20:24 112
原创 Hexo博客Next主题魔改教程系列-音乐播放器
之前写过给博客添加音乐播放器,主要使用的是Hexo-tag-aplayer同时使用Meting-js。同时在meting-js里增加判断,如果报错就显示这个iframe元素,所以就不使用cdn引入了.这样在fetch之后报错的话就增加iframe元素,就正常显示一个播放器了.所以为了网站正常显示播放器,同时也为了操作方便,我这里又使用了firame。但最近发现貌似Meting-js出现了一些问题,主要是访问跨域的问题.下载meting-js文件并引入.
2023-06-11 16:05:37 416
原创 node的包管理工具介绍
主要是采用硬链接和软链接的方式,提高了安装速度、节约了磁盘空间、避免了“依赖分身(doppelgangers)”和“幻影依赖(Phantom dependencies)”的问题。由于require寻找包的机制,如果A和C都依赖了B,那么A和C在自己的node_modules中未找到依赖B的时候会向上寻找,并最终在与他们同级的node_modules中找到依赖包B。常用的打包工具有Parcel,Rollup与Webpack,现在也常常使用比较火的Vite,其功能也不仅限于打包.npm与yarn存在的问题。
2023-06-10 21:49:26 110
原创 使用Python编写Wox插件
其中,拿一个翻译插件来说,Title就是要点,SubTitle就是翻译结果,icoPath是左边图标的路径,我测试了必须使用本地文件,而JsonRPCAction就是按Enter键或鼠标左击后的响应,method就是触发的方法,可以自己写,也可以用wox.py。像对于这种插件的开发个人认为是比较累的,debug比较麻烦,不能在终端直接显示,不像一般的客户端或者Web开发,所以日志还是很重要的,主要使用Python自带的logging模块.这是我写的部分代码,可以看到返回了一个列表,展示出来就是下面样子的。
2023-05-21 18:04:49 379
运动想象 脑电信号 学习资料+代码
2023-07-30
西工大 编译原理课程 实验班作业+课程资料 2022
2023-03-16
python深度学习图像伪造对抗攻击
2023-01-07
https的ip下访问非433端口显示不安全
2021-12-27
TA创建的收藏夹 TA关注的收藏夹
TA关注的人