自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(278)
  • 收藏
  • 关注

原创 关闭Ollama开机启动项

Ollama在本地普通算力机器上部署DeepSeek等大模型,有一定的生态优势。但是由于软件本身的一些策略问题,Windows平台的Ollama总是会随系统开机自动启动,还没有设置界面可以关闭。这里提供一种方法,可以在Windows平台永久关闭Ollama的开机自动启动功能。

2025-08-12 09:16:00 397

原创 VSCode手动版本更新

本文简单的介绍了如何禁用VSCode的版本自动更新,以及禁用更新后如何手动更新,或者切换VSCode的版本。

2025-07-28 11:11:00 672

原创 关于nan的大小判定规则

本文通过几个简单的代码示例,展示了一下NAN在PyTorch框架下形成的原因。通过了解这个原因和规则,有助于解决在深度学习开发和训练过程中出现的NAN的问题。

2025-07-21 17:46:00 180

原创 PyTorch中的take_along_dim

接前面一篇take_along_axis的文章,本文主要介绍在PyTorch框架下,功能基本一样的函数take_along_dim。二者除了命名和一些关键词参数不一致之外,用法是一样的。需要注意的是,两者都要求输入的数组和索引数组维度数量一致。在特定场景下,需要手动进行扩维。

2025-07-17 10:18:00 420

原创 PyTorch中的张量逆序问题

本文简单的介绍了一个在Pytorch中对张量进行逆序操作的方法相比于其他的框架,例如numpy和mindspore等的区别。在其他框架中我们可以直接使用slice的方法对一个张量做逆序,但是在Pytorch中,可能需要使用到一个flip函数。

2025-07-10 10:16:00 333

原创 PyTorch中实现开立方

本文介绍了在PyTorch中直接使用幂次函数计算有可能导致的计算结果异常的问题。由于PyTorch中并未像Numpy和MindSpore一样直接支持cbrt开立方函数,因此这里也提供了一个在PyTorch中计算开立方的函数。

2025-06-25 17:56:00 362

原创 conda环境部署脚本

本文简单的介绍了一下在空白的Ubuntu Linux中安装conda的方法和脚本,其中包含了CUDA部分的安装。

2025-06-23 10:16:00 384

原创 tensor_scatter_add算子异同点

本文介绍了MindSpore中的tensor_scatter_add算子的用法,可以对一个多维的tensor在指定的index上面进行加和操作。在PyTorch中虽然也有一个叫scatter_add的算子,但是本质上来说两者是完全不一样的操作。

2025-06-20 15:49:00 841

原创 gather算子大不同

本文通过2个实际的案例,演示了一下gather算子在MindSpore框架下PyTorch框架下的异同点。两者的输入都是tensor-axis-index,一个是输入顺序上略有区别,另一个是对于输入的张量索引维度的要求。在PyTorch中,如果我们要实现类似于MindSpore中的gather功能,需要手动对输入索引的维度操作一下。

2025-06-18 15:06:00 225

原创 MindSpore中的ReduceMax和max操作的区别

本文介绍了在pytorch和mindspore中两种计算张量最大值的算子,如果直接使用max算子,两者的输出都是最大值元素和最大值索引。但是mindspore中额外的支持了ReduceMax算子,可以允许我们只输出最大值而不输出最大值索引。

2025-06-16 14:52:00 279

原创 PyTorch中的求余

本文通过几个示例,介绍了在Python、Numpy和PyTorch三个不同的框架下,对于求余数函数的定义。比较特殊的是pytorch中的fmod函数,并不符合数学上的求余数方法,而是需要使用remainder函数。

2025-06-11 15:50:00 277

原创 Python中的cls变量

本文介绍了在Python的classmethod装饰的类方法的cls变量的意义,通过几个不同的示例对比,凸显cls变量在Python编程中的应用场景。对于大多数的场景来说,使用普通的Python类和函数定义即可。如果需要在类的外部使用类的内部函数,但是可能有多个不同初始化的类输入,那么可以使用staticmethod进行装饰。如果只有一个类,而有多种不同的输入场景下,可以使用classmethod进行装饰。

2025-06-03 17:50:00 705

原创 解决Cupy相关报错

本文记录了一些使用python-cupy的过程中有可能的遇到的一些问题,一部分是环境配置问题,还有一部分是运行输入问题。

2025-04-25 15:53:00 416

原创 QUBO建模

这篇文章算是对Fred Glover的一篇综述的解读,添加了一些方便直观理解的示例具体的建模过程。对于不同的场景,可以使用不同的惩罚项进行QUBO建模,从而可以使用求解器或者Ising机进行求解。

2025-04-22 15:17:00 800

原创 KTransformers实战DeepSeek-R1-1.58bit量化模型

技术背景在上一篇文章中,我们介绍过KTransformers大模型高性能加载工具的安装和使用方法。但是当时因为是在一个比较老旧的硬件上面进行测试,其实并没有真正的运行起来。现在补一个在KTransformers下运行DeepSeek-R1的1.58bit量化模型的实战测试。软硬件设施显卡:NVIDIA GeForce RTX 4080(只需1张)CPU:Intel(R) Xeon(R)...

2025-03-12 15:34:00 820

原创 Ollama+DeepSeek+SlackBot

技术背景想必最近有在部署DeepSeek大模型的人,看标题就知道这篇文章在做什么事情了。由于Ollama对于IP的监听缺乏安全防护,并且内网部署的Ollama模型对于外网来说也是不可见的,而如果使用一些公网API,又存在隐私数据泄露的风险。这里提供一个方案:使用端到端加密的通讯软件,将消息内容转为token传输给Ollama本地部署的模型,然后接收token作为消息,通过加密通讯返回给用户。但...

2025-03-10 10:33:00 916

原创 Cython与CUDA之Add

技术背景在前一篇文章中,我们介绍过使用Cython结合CUDA实现了一个Gather算子以及一个BatchGather算子。这里我们继续使用这一套方案,实现一个简单的求和函数,通过CUDA来计算数组求和。由于数组求和对于不同的维度来说都是元素对元素进行求和,因此高维数组跟低维数组没有差别,这里我们全都当做是一维的数组输入来处理,不做Batch处理。头文件首先我们需要一个CUDA头文件cud...

2025-03-05 09:59:00 668

原创 Cython与CUDA之BatchGather

技术背景在前面一篇文章中,我们介绍过Cython+CUDA框架下实现一个简单的Gather算子的方法。这里演示Gather算子的升级版本实现——BatchGather算子。不过这里只是加了一个Batch维度,并没有添加其他的维度,例如Dimension维度,在这里暂不考虑。CUDA头文件这里我们保留了原本的Gather部分,只添加一个BatchGather的运算,以下为cuda_index...

2025-03-03 15:54:00 908

原创 DeepSeek满血版测试

技术背景很多厂商以次充好,用蒸馏版DeepSeek冒充满血版。本文提供一些收集的问题集,可以用于测试是否满血DeepSeek。经过实际测试,国内厂商中只有满血版DeepSeek可以全对。但是各厂商后续有可能经过联网更新,所以本集合有一定的时效性。问题一在平面四边形ABCD中,\(AB = AC = CD = 1\), \(\angle ADC = 30^{\circ}\), \(\angl...

2025-02-28 16:34:00 1015

原创 CUDA时长统计

技术背景前面的一篇文章中介绍了在CUDA中使用宏来监测CUDA C函数或者Kernel函数的运行报错问题。同样的思路,我们可用写一个用于统计函数运行时长的宏,这样不需要使用额外的工具来对函数体的性能进行测试。文件准备因为这里的宏改动,主要涉及CUDA头文件和CUDA文件的修改,所以Cython文件和Python文件还有异常捕获宏我们还是复用这篇文章里面用到的。测试内容是,定义一个原始数组和...

2025-02-28 09:45:00 381

原创 Cython与CUDA之Gather

技术背景Cython是Python的一个超集,可以使用Pythonic的语法写出接近于C语言的性能,可以用于将Python编程过程中遇到的Bottleneck模块改写成Cython以达到加速的效果。前面写过一些关于Cython加速计算的文章。又因为Cython编译过程中会先转为C语言代码,然后再编译为动态链接库或者可执行文件,所以很自然的可以在Cython中调用C语言函数。用这种方法,还可以直...

2025-02-27 10:20:00 709

原创 CUDA异常捕获

技术背景在CUDA编程中有可能会遇到一些相对比较隐蔽的报错,但是直接编译运行cu文件是不显现的。那么可以通过添加一个用于检查的宏,来监测CUDA程序运行过程中可能出现的报错。error.cuh我们在CUDA头文件中实现这个宏:#pragma once#include <stdio.h>#define CHECK(call) do{const cudaError_t er...

2025-02-25 15:55:00 461

原创 bin格式转safetensors

技术背景本文主要介绍在Hugging Face上把bin格式的模型文件转为safetensors格式的模型文件,并下载到本地的方法。bin转safetensors首先安装safetensors:$ python3 -m pip install safetensors --upgrade然后把Github的safetensors仓库克隆下来:$ git clone https://gi...

2025-02-24 15:40:00 493

原创 DeepSeek本地性能调优

技术背景大模型性能调优是一个很复杂的工程,涉及到很多细节,如果真要对模型动刀子,还需要对模型和数据集本身有非常好的理解。这里我们仅仅考虑模型加载过程中,可以优化的一些参数配置。关于DeepSeek在本地的部署,以及PageAssist插件的使用,可以参考DeepSeek合集。调优思路一句话总结一下调优思路,如果你已经尝试过了,那么可以略过本文:GPU内存 > 多GPU内存 >...

2025-02-21 10:53:00 1555

原创 Ollama模型迁移

技术背景在前面的一些文章中,我们介绍过使用Ollama在Linux平台加载DeepSeek蒸馏模型,使用Ollama在Windows平台部署DeepSeek本地模型。除了使用Ollama与模型文件交互,还可以使用llama.cpp和KTransformer这样的。也有一些ChatBox、AnythingLLM和PageAssist这样的客户端工具推荐。这里我们考虑到这样的一个使用场景,在我们...

2025-02-20 16:34:00 1144

原创 DeepSeek智能编程

技术背景DeepSeek开源之后,让大家意识到了即时是在自己硬件性能一般的本地环境,也能够部署和使用大语言模型,真正实现了大模型的“私有化”。而私有化大模型之后,自然是考虑生产力的私有化。例如,如何使用大模型作为一个工具来进行编程?本文将要介绍两种不同的人工智能编程方法。Cursor的安装与使用第一种方法,是使用Cursor来进行编程,是一个跟VSCode很像的IDE,优点是支持了很多模型...

2025-02-19 17:45:00 1076

原创 大模型工具KTransformer的安装

技术背景前面写过几篇关于DeepSeek的文章,里面包含了通过Ollama来加载模型,以及通过llama.cpp来量化模型(实际上Llama.cpp也可以用来加载模型,功能类似于Ollama)。这里再介绍一个国产的高性能大模型加载工具:KTransformer。但是本文仅介绍KTransformer的安装方法,由于本地的GPU太老,导致无法正常的运行KTransformer,但是编译安装的过程...

2025-02-19 10:28:00 1080

原创 DeepSeek模型量化

技术背景大语言模型(Large Language Model,LLM),可以通过量化(Quantization)操作来节约内存/显存的使用,并且降低了通讯开销,进而达到加速模型推理的效果。常见的就是把Float16的浮点数,转换成低精度的整数,例如Int4整数。最极限的情况下,可以把参数转化成二值Bool变量,也就是只有0和1,但是这种大幅度的量化有可能导致模型的推理效果不佳。常用的是,在70...

2025-02-17 14:11:00 1317

原创 DeepSeek+PageAssist实现本地大模型联网

技术背景在前面的几篇博客中,我们分别介绍过在Ubuntu上部署DeepSeek、在Windows上部署DeepSeek、使用AnythingLLM构建本地知识库的方法,其中还包含了ChatBox的基本安装和使用。这里我们要介绍的是PageAssist,一个包含了大模型Chat、网络检索和知识库搭建的浏览器插件,不依赖于操作系统,而且功能配置非常丰富,可玩性很高,推荐使用。安装PageAssi...

2025-02-14 17:02:00 1418

原创 DeepSeek+Zotero

技术背景在DeepSeek系列文章中,我们已经分别介绍过关于DeepSeek在Ubuntu Linux平台和Windows平台上的本地部署方案,以及Ollama、ChatBox和AnythingLLM等辅助工具的使用。即使不使用DeepSeek-R1的全量模型,在DeepSeek的本地部署的蒸馏模型,结合AnythingLLM已经可以构建本地化的知识库。但是如果在科研过程中要专注于使用PDFC...

2025-02-11 14:19:00 780

原创 DeepSeek部署本地知识库

技术背景在前面的两篇文章中,分别介绍过Ubuntu上关于DeepSeek的部署以及Windows平台关于DeepSeek的部署。其中内容包含了Ollama的下载安装和基本使用、DeepSeek模型文件的下载,以及使用ChatBox导入Ollama本地模型进行本地对话的方法。这里再介绍一个使用AnythingLLM构建本地知识库的方法,本地知识库跟ChatBox两种对话模式的主要不同点在于,Ch...

2025-02-08 15:16:00 1868

原创 Windows11本地部署DeepSeek加速

技术背景在上一篇文章中我们介绍了在Ubuntu Linux操作系统上部署了一个DeepSeek-R1:14B,再通过其他电脑远程调用模型进行生成的方法。这里我们介绍一下Windows11安装Ollama+DeepSeek-R1模型的加速方法,因为这几天DeepSeek实在太火了,导致官方模型下载渠道网络不是很稳定,但其实有其他的方法可以加速这个下载过程。安装Ollama跟Ubuntu Li...

2025-02-07 15:12:00 1046

原创 Ubuntu Linux部署DeepSeek

技术背景DeepSeek是这段时间最热门的话题之一,其蒸馏模型可以实现低成本而高质量的推理,使得我们现在可以在本地小型化的硬件上也用上大模型这一AI利器。本文主要介绍通过Ollama来部署DeepSeek R1模型的方法,由于网络环境的问题,过程相比于普通的安装方案可能略有改动。安装Ollama以下是DeepSeek生成的关于Ollama的介绍的一个片段:Ollama 是一个开源工具,...

2025-02-06 10:16:00 1263

原创 使用SpongeExt快捷完成CudaSPONGE结合PySAGES的增强采样

技术背景在前面的一些文章中,我们介绍过关于CudaSPONGE的安装和基础使用方法,CudaSPONGE提供的Python接口,PySAGES增强采样软件的基本使用方法,还有一篇关于CudaSPONGE和PySAGES相结合的文章,并且做了一些简单的CudaSPONGE结合PySAGES的性能测试。其中因为CudaSPONGE与PySAGES的接口实际上是可以多场景共用的,因此考虑把这部分的接...

2025-01-23 10:20:00 748

原创 Markdown转Beamer进阶

技术背景在前面的一篇文章中,我们介绍过Markdown转Beamer的基本方法。通过这个方案,我们可以只写普通的Markdown文档,甚至可以用Github或者Gitee进行保存和协同编辑。然后在本地环境中通过pandoc进行编译构建,最终可以生成一个Beamer风格的pdf文件。这里我们不讨论到底是用PPT写比较好,还是Beamer比较好,抑或者是Markdown,我们只探讨Markdown...

2025-01-20 17:27:00 950

原创 CudaSPONGE与PySAGES初步性能测试

技术背景在前面的一篇博客中,我们介绍过CudaSPONGE的基础使用方法、CudaSPONGE调用Python接口函数以及CudaSPONGE结合增强采样软件PySAGES的使用方法。在这篇文章中,我们将介绍CudaSPONGE和PySAGES相结合的初步性能测试结果。 测试案例我们沿用这一篇文章中的测试案例,对一个简单的多肽体系的两个二面角参数空间执行MetaDynamics增强采...

2025-01-20 16:04:00 672

原创 Markdown转Beamer

技术背景在早期我写过一些文章介绍用RMarkdown写Beamer,还有相应的TinyTex配置。后来Xie Yihui大神发文离开了RMarkdown核心团队,想来中文社区的支持力度和活跃度可能会有所降低。于是干脆直接用pandoc,把普通的markdown文件编译成Latex Beamer PDF格式。pandoc的安装这里给的是Ubuntu Linux操作系统的pandoc安装方案:...

2024-12-25 16:54:00 873

原创 PySAGES结合CUDA SPONGE增强采样

技术背景在前面的一篇博客中,我们介绍过PySAGES这个增强采样软件的基本安装和使用方法。该软件类似于Plumed是一个外挂增强采样软件,但是PySAGES是基于Python语言和Jax框架来实现的,在性能上有一定的优势。这里我们结合PySAGES的易开发特性,和CUDA SPONGE的高性能特性,做一个简单的扩展将二者联合起来进行分子动力学模拟与增强采样。耦合框架在前面的文章中我们介绍过...

2024-12-23 09:38:00 946

原创 PCA主成分分析的Python实现

技术背景PCA主成分分析在数据处理和降维中经常被使用到,是一个非常经典的降维算法,本文提供一个PCA降维的流程分解,和对应的Python代码实现。二维数据生成如果没有自己的测试数据,我们可以生成一些特殊的随机数据点。例如我们使用Numpy的均匀随机数生成一系列二维的数据点\(\mathbf{r}=\left(x,y\right)\),其中数据点分布在一个椭圆内:\[x^2+4y^2\le...

2024-12-06 11:12:00 798

原创 Numpy本征值求解

技术背景Numpy是一个Python库中最经常被用于执行计算任务的一个包,得益于其相比默认列表的高性能表现,以及易用性和可靠性,深受广大Python开发者的喜爱。这里介绍的是使用Numpy计算矩阵本征值和本征矩阵的方法。求解问题本征问题是求解形如:\(\mathbf{A}\mathbf{v}=\lambda\mathbf{v}\)的方程,其中\(\mathbf{A}\)为已知矩阵,\(\m...

2024-12-04 10:51:00 378

空空如也

空空如也

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

TA关注的人

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