[AI]从零开始的llama.cpp部署与DeepSeek格式转换、量化、运行教程

一、前言

        在上一次的DeepSeek的部署教程中,我们使用Ollama与LM Studio很轻松的部署了DeepSeek并且也完成了相关API的调用,如果还有不会的小伙伴请看下面的教程:

DeepSeek本地部署:[AI]从零开始的DeepSeek本地部署及本地API调用教程-CSDN博客

当然,在部署的时候,我们也发现了一些问题,那就是Ollama和LM Studio它们都只能运行GGUF格式的模型,但是我们会发现,在模型仓库中,模型的格式非常多样,比如有下图这种的:

这样的模型有一堆的配置文件和一个向量文件。那么这种模型,我们要怎么运行呢?答案其实很简单,这里我们需要使用到一款非常强大LLM框架——llama.cpp。它不仅可以完成模型的格式转换、量化,自身还可以运行被转化出来的模型。那么本次教程,就来教大家如何使用llama.cpp转换模型格式以及模型量化。如果你准备好了,就让我们开始吧!

二、谁适合本次教程 

        在本次教程中,会提供两种llama.cpp的安装方法,一种是自己编译llama.cpp另一种是直接使用预编译版本。如果你想体验编译的过程,那么你可以跟着我一起编译。如果你是小白,那么就建议直接使用预编译的版本,我也会讲解如何下载预编译的llama.cpp。最后就是,模型格式转换部分可能会使用到一个python脚本,这里需要部署脚本运行所需的环境,请确保自己对python或者python虚拟环境有一定的了解。

三、llama.cpp的部署

        在前面也提到了,本次我们会提供两种llama.cpp的部署方法,一种是自己编译,另一种是直接使用已经编译好的。这里的编译也提供了CPU和GPU两种版本的编译方法,GPU编译的过程比较麻烦并且对显卡有一定的要求。顺带一提,如果你只是想将模型的格式转化为GGUF的话,可以直接跳过整个第三步,模型格式的转化不需要安装llama.cpp。如果你准备好了,那就让我们开始吧!

1.编译安装llama.cpp

        之前也提到了,自己编译安装llama.cpp是非常麻烦的,需要安装好几个环境,不建议小白轻易尝试。自己安装llama.cpp首先要分两种情况。有NVIDIA的GPU和没有NVIDIA的GPU。这里划重点,必须要NVIDIA的GPU才行,目前AMD的显卡有一定的解决方案,但是资料太少了,这里不推荐。如果你没有NVIDIA的GPU那就只能编译CPU版的llama.cpp。llama.cpp我们主要也是用来做模型的量化,不会长期在上面运行模型,所以,CPU版的llama.cpp并没有什么影响,最多就是量化的时候会慢一些。

1.CUDA的安装 (没有NVIDIA显卡跳过此步)  

        如果你确定你有NVIDIA的显卡,那么就需要为你的显卡安装一个CUDA用来驱动CUDA核心。首先,使用下面的命令查看自己显卡支持的CUDA版本,直接在cmd窗口或者powershell输入即可:

nvidia-smi.exe

这里被我圈出来的数字就是显卡支持的最大的CUDA版本:

重点的来了,如果你这里的CUDA版本低于12.4请跳过此步,你的显卡不支持自己编译最新版的llama.cpp,会引发下面的错误:

当然,你不一定需要自己编译,也可以使用下面的预编译版本,那里有llama.cpp官方编译好的GPU版的llama.cpp。

当你确定你的GPU条件符合以后,就可以开始安装CUDA了,这里的CUDA安装教程我在之前的pytouch安装教程中已经讲得很详细了,你可以前往我的pytouch安装教程中查看如何为自己的显卡安装CUDA:

pytouch安装教程:[python]如何正确的安装pytorch?(详细)_pytorch安装-CSDN博客

当然,如果你是计算机高手知道安装步骤,直接前往CUDA的下载地址即可:

CUDA官网地址:CUDA Toolkit Archive | NVIDIA Developer

当你安装安装好CUDA以后,输入下面的命令,如果有如下输出就表示CUDA安装成功了:

nvcc -V

如果你没有这样的输出,可以尝试跟着CUDA的安装教程再操作一遍,一般再CUDA这一步不会出错,这里就不多说了。

2.CMake的安装

        下面我们需要安装一个构建工具CMake,这里大家可以直接点击下方的链接前CMake的官网:

CMake官网:CMake - Upgrade Your Software Build System

进入官网以后,就能看到以下界面了:

我们直接点击右上角的“Download”:

进入新的页面以后,往下滑就能看到许多CMake的版本了:

这里我们直接选择64位的版本即可:

这里需要注意的是目前是2025年2月14日,目前CMake的版本是3.31.5,如果你在未来的某天使用我的方法构建失败了,那就将CMake和llama.cpp源码都降级到今天的版本。

点击了下载以后,浏览器就弹出了下载:

大家将其下载到自己能找到的地方即可:

我们双击这个安装引导程序开始安装,这里直接点击“Next”:

然后勾选同意协议随后点击下一步:

这里的第一个选项是将CMake添加到环境变量,需要勾上。第二个选项是将CMake添加到桌面,大家视情况勾选即可。勾选完以后,我们点击“Next”:

随后就是选择安装的路径了,这里大家自行选择即可,选择完成以后点击“Next”:

最后点击“Install”:

然后CMake就进入了安装阶段,大家等待安装完成即可:

出现下面的窗口就表示安装已经完成了,我们直接关掉窗口即可:

然后可以在cmd或者powershell中输入下面的命令来查看CMake是否安装成功:

cmake --version

输入命令以后CMake会输出自己的版本号,这就表示已经安装成功了:

如果你在这一步被提示找不到命令,可以检查CMake安装目录下的bin目录是否被添加到环境变量,如果没有,可以手动添加。

至此,我们CMake的安装就完成了。

3.Visual Studio 2022的安装

        这里建议大家和我使用一样的VS版本,避免出现一些未知的错误。这里VS的安装过于简单,只要你学过C语言应该都用过。所以VS的安装步骤就不多说了。我们主要讲一下需要在VS中勾选哪些开发环境。这里大家可以跟着我勾:

安装好对应的环境以后VS的安装就结束了。它们有的教程还需要添加VS的某些路径到环境变量,经过测试,这不是必须的。

5.拉取llama.cpp的源码

        我们直接使用git命令拉取llama.cpp的代码,在座的各位应该都会使用git吧?嗯,能够自己编译llama.cpp的应该都会使用git,那我就不教喽:

git clone https://github.com/ggerganov/llama.cpp.git

这里大家将其拉取到自己能找到的地方即可,拉取下来以后,就得到了一个名为“llama.cpp”的文件夹:

6.llama.cpp的编译

        我们进入llama.cpp的项目文件夹就能看到下面的文件和文件夹了:

这里,我们需要创建一个目录,用于存放编译后生成的文件,大家在powershell中执行下面的命令即可,当然,也可以直接右键创建:

mkdir build

这里使用下面的命令进入这个文件夹:

cd build

进入llama.cpp项目目录下的build文件夹以后,就可以输入下面的命令了:

cmake -DGGML_CUDA=ON ../

这里需要注意的是,只有你想编译GPU版的llama.cpp时才需要加“-DGGML_CUDA=ON”参数,如果你想编译CPU版的llama.cpp直接输入“cmake ../”即可。如果你的GPU的CUDA不符合要求或者是没有GPU,加了“-DGGML_CUDA=ON”参数就会出现错误导致相关的编译文件无法生成。这里的“../”表示上级目录,这里的命令也就表示,为build的上级目录下的文件生成makefile文件。

命令执行以后,可以看到许多输出:

结束以后,我们的build中就多了许多文件:

这里需要注意的是,如果你终端输出了一些乱码的字符或者有error字样,都代表生成makefile这一步出错了。建议检查CUDA的版本,大部分的错误都是CUDA版本不符引起的。实在不行,就去掉“-DGGML_CUDA=ON”参数,编译CPU版的llama.cpp。

在makefile生成以后我们就可以开始编译了,这里我们直接使用下面的命令进行编译:

cmake --build . --config Release -j20

这里的-j20表示使用20个线程进行编译,大家根据自己CPU情况自行修改。

编译时,可能会出现警告(不用在意),并且CPU占用非常高:

出现下面的提示,就表示编译已经完成了:

编译生成的文件都被放到了“bin\Release”文件夹下:

图中所示文件夹中的那些exe文件就是我们通过编译得到的可执行文件了。后面会教大家如何使用这些文件。至此,我们llama.cpp的编译就完成了。

2.使用预编译的llama.cpp

        现在来教大家如何使用预编译的llama.cpp。使用预编译的llama.cpp也分为有NVIDIA的GPU和没有两种情况。llama.cpp的官方编译了一套CUDA版的llama.cpp。并且支持到了CUDA12.4。下面就来教大家如何下载llama.cpp的预编译文件,我们首先通过下面的链接来到llama.cpp的开源主页:

llama.cpp开源主页:ggerganov/llama.cpp: LLM inference in C/C++

因为是GitHub可能加载会比较慢甚至加载失败,大家可以选择更换网络环境或者使用一些正向代理手段。进入llama.cpp的开源主页以后,我们直接点击右边的Releases下面发布的应用:

进来以后,就可以看到许多llama.cpp的预编译版本了:

这里我们主要看windows平台并且架构为X64的,这也是最常见的情况,如下图被我框起来的:

这里首先我们来看第一个名字:

​llama-b4713-bin-win-avx-x64.zip​

这里的llama很好理解,就指的是llama.cpp嘛,后面的“b4173”表示版本号,后面的“win”就表示windows系统。再往后就是"avx"这是英特尔推出的一种指令集扩展,下面的也同理,avx2表示256位,avx512表示512位。如果你只有CPU的话,就使用预编译的avx版本,这里下载512即可。

然后我们再看看下面的名字:

llama-b4713-bin-win-cuda-cu11.7-x64.zip

这里前面的部分就不说了,就说说后面的“cuda”部分,这里的cuda表示这个预编译包是在cuda之上构建的,这也意味着,你需要自己的cuda满足要求才能运行。后面的“cu11.7”就表示,这个包是基于cuda11.7构建的,你要运行的话,显卡的CUDA版本就必须大于11.7,使用下面的命令可以直接查看显卡支持的CUDA版本:

nvidia-smi.exe

 

这里大家根据输出的内容就可以确定自己的CUDA版本了。在确定了CUDA版本以后需要安装CUDA软件才能调用CUDA核心。CUDA的安装步骤我们在pytouch的安装教程中讲过,大家可以自行前往:

pytouch安装教程:[python]如何正确的安装pytorch?(详细)_pytorch安装-CSDN博客

这里大家需要确定,你下载的llama.cpp的预编译包的CUDA版本没有大于你自己的CUDA版本。假如你下载的预编译包支持12.4的CUDA,但是你显卡最高就只能支持到CUDA11.8那么这个包很可能就无法运行。

下面我们继续看文件名字:

llama-b4713-bin-win-hip-x64-gfx1030.zip

这是一个支持AMD显卡的包,“hip”是AMD显卡特殊的调用接口类似于N卡的CUDA,后面的“gfx1030”表示这个包支持的版本。这里我对AMD的显卡不是很了解,就不多说了。有能力的小伙伴自己研究吧!

大家选择好适配自己硬件的包以后,点击包,浏览器就会开始下载了,这里建议新建一个文件夹将其放在文件夹中,我这里就放在桌面的文件夹中了:

我们这里直接右键解压即可,解压得到下面的文件:

这些文件都是可执行文件,和我们编译时得到的是一样的。这样我们预编译的llama.cpp就已经部署好了。后面我会教大家如何使用。

四、使用llama.cpp转换模型格式为GGUF

        现在来教大家,如何将不同格式的模型转换为GGUF格式,首先我们看看模型大致分为几种。目前,模型站中常见的模型,有safetensors为后缀的模型,如下图:

我们可以看到,模型文件夹中有两个非常大的以safetensors结尾的文件,这就是模型权重文件。其它还有一些用JSON写的配置文件。这是第一种常见的模型格式。还有一种就是以bin结尾的,如下图:

我们可以看到这里有一个名为“pytouch_model.bin”的文件。从大小来看,很明显,这也是一个模型权重文件。

以上说的两种都是常见的模型权重格式,我们可以使用llama.cpp将其转换为GGUF格式的模型。下面就让我们开始吧!

1.Conda的安装

        在开始之前,我们需要准备一些环境,因为在llama.cpp中,处理模型格式转换的是一个python的脚本。所以我们这里需要安装一个Conda来管理python和python的一些依赖,这一步请确保自己有一定的python基础。Conda的安装可以查看我以前的Conda安装教程:

Miniconda安装:[python]我们应该如何安装Miniconda虚拟环境?(详细)_miniconda创建虚拟环境-CSDN博客

如果你对Conda不够了解也可以从上面的教程中学习。 

安装好以后,启动conda的终端,输入conda就可以获得下面的输出:

至此,Conda的安装就完成了。

2.llama.cpp项目拉取

        这里考虑到可能会有新手,不会使用git命令,这里我们就使用简单的办法下载llama.cpp的项目源码。这里大家先点击下方的链接前往llama.cpp的主页:

llama.cpp项目主页:

ggerganov/llama.cpp: LLM inference in C/C++

因为是github链接,可能会出现有的小伙伴打不开的情况。这里可以尝试更换网络环境或者使用一些正向代理手段。

进入llama.cpp的主页以后,我们点击右边的code:

随后再点击“Download”:

点击以后,过一会浏览器就会弹出下载了:

将下载下来的压缩包直接解压以后,就得到了下面的文件,这些文件和拉取的是一样的:

至此,我们llama.cpp的的项目文件就算是拉取过来了。

3.安装依赖

        这里因为我们要运行的是一个python脚本,我们就需要安装相关的依赖文件。这里首先在Conda的终端中使用下面的命令创建一个虚拟环境:

conda create --name llamacpp python=3.10

创建好以后,使用下面的命令进入虚拟环境:

conda activate llamacpp

然后,这里需要将终端的路径切换到llama.cpp的项目目录下,注意,这里一定要切换到llama.cpp的项目目录下:

切换到项目目录下以后,我们开始安装环境。这里首先需要安装pytouch,大家可以看下面的pytouch安装教程:

pytouch安装教程:[python]如何正确的安装pytorch?(详细)_pytorch安装-CSDN博客

当然,如果你是小白,不清楚pytouch的GPU与CPU版,也可以跳过此步。直接在下面使用安装命令安装CPU版的touch。

我们可以在llama.cpp的项目目录下执行下面的命令安装依赖:

pip install -r .\requirements.txt

安装完成,没有错误的话,llama.cpp的相关依赖就安装完成了:

至此,llama.cpp的相关依赖就安装完成了。

4.模型的下载

        模型的下载之前在部署DeepSeek的教程中已经讲得很详细了,如果你还不知道如何下载模型,可以去看上一篇教程:

DeepSeek部署:[AI]从零开始的DeepSeek本地部署及本地API调用教程-CSDN博客

这里模型下载同样使用hf-mirror,地址如下:HF-Mirror

这里主要教大家如何拉取非GGUF格式的模型。GGUF格式的模型只有一个文件,直接下载即可,但是我们之前介绍了两种特殊模型权重文件还附带了一堆的配置文件,我们需要将这些配置文件也下载下来,假如下面是一个我想下载的模型:

这里就可以直接点击如图所示的三个点:

在出现的选项中选择第一个,这表示要克隆这个模型:

随后使用中间的git命令进行克隆即可:

如果这里没安装git需要自行安装一下,安装过程并不复杂,大家自行安装即可。安装完git就可以使用git命令了。如果git拉取大文件比较慢,可以直接复制大文件的链接然后直接下载。

当我们克隆完成一个模型,就能得到这样一个模型文件夹:

这个文件夹中,就包含了模型的权重文件以及配置文件:

至此,模型的下载就已经完成了。

5.使用llama.cpp进行模型转换

        当我们准备好上面的环境以后,就可以进行模型转换了。首先需要将我们拉取的模型文件夹复制到llama.cpp的“models”文件夹下,这里我就用我已经下载好的“DeepSeek-R1-Distill-Qwen-7B”模型举例:

这里要注意是将整个模型文件夹都复制过来,并且注意路径不要弄错了。

然后我们这里进入虚拟环境,然后在llama.cpp的项目目录下执行下面的命令,模型格式的转换就开始了:

python convert_hf_to_gguf.py models/DeepSeek-R1-Distill-Qwen-7B

这里的“convert_hf_to_gguf.py”表示调用的python脚本。这个脚本就放在了llama.cpp的项目根目录下。然后“models/DeepSeek-R1-Distill-Qwen-7B”表示我模型存放的路径,这里的路径要根据你文件夹的名字来定,不一定和我一样。

输入命令回车以后,模型转换就开始了,如果你回车以后,被提示缺少xxx库,那就说明环境没有装好,可以尝试重新安装依赖:

模型转换完成以后,我们就可以看到,这里转换后的模型已经被输出到了模型文件夹下:

去到模型文件夹下,就可以看到这个GGUF格式的模型了:

至此,我们的模型转换就完成了。这里生成出来的GGUF格式的模型在Ollama,LM Studio中同样适用。

五、使用llama.cpp量化模型

        现在我们就可以对GGUF格式的模型进行量化了。这里首先你需要确定自己已经部署好了llama.cpp。现在我们开始吧!

这里就使用我刚才已经输出的GGUF模型进行演示,我的模型路径为“models\DeepSeek-R1-Distill-Qwen-7B\DeepSeek-R1-Distill-Qwen-7B-F16.gguf”。

这里我们要量化模型需要去到llama.cpp可执行文件的目录。不管是自己编译的llama.cpp还是下载的预编译版的llama.cpp。都需要去到可执行文件的目录,其实就是有一堆exe文件的目录,如图:

在可执行文件目录下,打开终端,使用下面的命令就可以进行模型的量化了。注意,你用我的命令不一定可以直接运行,需要一些修改,请看下面我对命令的说明:

.\llama-quantize.exe e://openproject/llama.cpp/models/DeepSeek-R1-Distill-Qwen-7B\DeepSeek-R1-Distill-Qwen-7B-F16.gguf e://openproject/llama.cpp/models/DeepSeek-R1-Distill-Qwen-7B\DeepSeek-R1-Distill-Qwen-7B-Q4.gguf Q4_K_S

这里的“.\llama-quantize.exe”表示使用当前目录下的“llama-quantize.exe”程序,因为我们就在可执行目录下,所以直接写“.\”。“e://openproject/llama.cpp/models/DeepSeek-R1-Distill-Qwen-7B\DeepSeek-R1-Distill-Qwen-7B-F16.gguf”表示模型的路径,我的模型放在了这个路径下,所以命令是这样,你可以根据自己的模型路径来写命令。“e://openproject/llama.cpp/models/DeepSeek-R1-Distill-Qwen-7B\DeepSeek-R1-Distill-Qwen-7B-Q4.gguf”表示输出模型的路径,可以在输出这里修改被量化后模型的名字,这里将模型后面的F16改为了Q4,表示这个模型使用了Q4的量化算法。最后面的“Q4_K_S”表示量化算法。

如果你不知道有哪些量化算法可用,在终端中直接执行下面的命令就可以看到所有的量化算法了:

.\llama-quantize.exe

综上所示,模型量化命令的大致格式为:

.\llama-quantize.exe 输入模型的路径 输出模型的路径 量化算法

输入命令回车以后,量化就开始了:

量化结束以后,被量化过的模型,就被输出到了我们指定的目录下:

至此,我们使用llama.cpp进行模型量化就已经完成了。

六、使用llama.cpp运行GGUF格式模型

        llama.cpp本身也是可以运行模型的,这里同样的我们前往可执行文件目录:

在可执行目录下,输入下面的命令就可以运行相关的模型了:

.\llama-cli.exe -m e://openproject/llama.cpp/models/DeepSeek-R1-Distill-Qwen-7B/DeepSeek-R1-Distill-Qwen-7B-Q4.gguf  -n 2048

这里的“.\llama-cli.exe”同样表示当前目录下的可执行文件。后面的“-m”表示指定模型的路径,再后面的“e://openproject/llama.cpp/models/DeepSeek-R1-Distill-Qwen-7B/DeepSeek-R1-Distill-Qwen-7B-Q4.gguf”就是我们模型的路径了,大家替换成自己GGUF文件所在的路径即可。后面的-n表示上下文最大的token数,这里我们这里指定的是2048。回车以后,模型就开始运行了:

随后,我们就可以和模型进行对话了:

这样,我们使用llama.cpp运行GGUF格式的模型就已经完成了。

七、结语

        本次教程,教了大家如何部署llama.cpp以及如何使用llama.cpp运行,转换,量化模型。当然llama.cpp的强大远不止这些,剩下的,就留给大家自己探索吧,那么最后,感谢大家的观看!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/18158.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基于SSM+uniapp的数学辅导小程序+LW示例参考

1.项目介绍 系统角色:管理员、普通用户功能模块:用户管理、学习中心、知识分类管理、学习周报管理、口算练习管理、试题管理、考试管理、错题本等技术选型:SSM,Vue(后端管理web),uniapp等测试环…

解决DeepSeek服务器繁忙问题

目录 解决DeepSeek服务器繁忙问题 一、用户端即时优化方案 二、高级技术方案 三、替代方案与平替工具(最推荐简单好用) 四、系统层建议与官方动态 用加速器本地部署DeepSeek 使用加速器本地部署DeepSeek的完整指南 一、核心原理与工具选择 二、…

B+Tree在mysql中的使用

BTree的结构 BTree是B-Tree的变种,实际结构如图 绿色框框起来的部分,是索引部分,仅仅起到索引数据的作用,不存储数据。红色框框起来的部分,是数据存储部分,在其叶子节点中要存储具体的数据 BTree的特点 所有…

vue学习10

1.GPT和Copilot Copilot Tab接受 删除键,不接受 ctrlenter更多方案 更适合的是修改方向 const submitForm async () > {//等待校验结果await formRef.value.validate()//提交修改await userUpdateInfoService(form.value)//通知user模块,进行数据更…

我的新书《青少年Python趣学编程(微课视频版)》出版了!

🎉 激动人心的时刻来临啦! 🎉 小伙伴们久等了,我的第一本新书 《青少年Python趣学编程(微课视频版)》 正式出版啦! 📚✨ 在这个AI时代,市面上的Python书籍常常过于枯燥&…

总结:如何在SpringBoot中使用https协议以及自签证书?

总结:如何在SpringBoot中使用https协议以及自签证书? 前提一:什么是http协议?前提二:什么是https协议?一生成自签证书二 将证书转换为PKCS12格式三 配置SpringBoot(1)修改配置文件&a…

JAVA毕业设计212—基于Java+Springboot+vue3的校园运动场馆预约管理系统(源代码+数据库)

毕设所有选题: https://blog.csdn.net/2303_76227485/article/details/131104075 基于JavaSpringbootvue3的校园运动场馆预约管理系统(源代码数据库)212 一、系统介绍 本项目前后端分离(可以改为ssm版本),分为用户、管理员两种角色 1、用户&#xff…

在nodejs中使用RabbitMQ(六)sharding消息分片

RabbitMQ 的分片插件(rabbitmq_sharding)允许将消息分布到多个队列中,这在消息量很大或处理速度要求高的情况下非常有用。分片功能通过将消息拆分到多个队列中来平衡负载,从而提升消息处理的吞吐量和可靠性。它能够在多个队列之间…

数据结构 二叉树

一、⼆叉树的定义 ⼆叉树是⼀种特殊的树型结构,它的特点是每个结点⾄多只有2棵⼦树(即⼆叉树中不存在度⼤于2的结点),并且⼆叉树的⼦树有左右之分,其次序不能任意颠倒。 ⼆叉的意思是这种树的每⼀个结点最多只有两个孩…

本地部署DeepSeek集成VSCode创建自己的AI助手

文章目录 安装Ollama和CodeGPT安装Ollama安装CodeGPT 下载并配置DeepSeek模型下载聊天模型(deepseek-r1:1.5b)下载自动补全模型(deepseek-coder:1.3b) 使用DeepSeek进行编程辅助配置CodeGPT使用DeepSeek模型开始使用AI助手 ✍️相…

【NLP】循环神经网络RNN

目录 一、词嵌入层 二、循环网络层 2.1 RNN网络原理 2.2 Pytorch RNN API 自然语言处理(Nature language Processing,NLP)研究的主要是通过计算机算法来理解自然语言。对于自然语言来说,处理的数据主要就是人类的语言&#xf…

利用蓝耘智算平台深度搭建deepseek R1模型,进行深度机器学习

大佬请阅读 前言关于DeepSeek 的显著优点卓越的性能表现低廉的训练成本广泛的应用场景开放的开源策略 DeepSeek 与其他 AI 对比什么是蓝耘智算平台为什么使用蓝耘智算平台搭建我们的deepseek如何使用蓝耘 GPU 智算云平台搭建我们的R1模型并成功进行调用测试11. AVL树节点结构2.…

spring6(完结)

像是八大模式这种,放在后面八股文中再重点了解,对于源码部分也是后面会一起手敲。 个人觉得spring的重点在于注解开发,省去了很多耦合的问题,像是各种事务的管理,和bean类的管理都可以给spring容器管理,注入…

H5自适应响应式代理记账与财政咨询服务类PbootCMS网站模板 – HTML5财务会计类网站源码下载

(H5自适应)响应式代理记账财政咨询服务类pbootcms网站模板 html5财务会计类网站源码下载 为了提升系统安全,请将后台文件admin.php的文件名修改一下。修改之后,后台登录地址就是:您的域名/您修改的文件名.php 模板特点: 1&#x…

Java 大视界 -- 量子计算时代 Java 大数据的潜在变革与应对策略(88)

💖亲爱的朋友们,热烈欢迎来到 青云交的博客!能与诸位在此相逢,我倍感荣幸。在这飞速更迭的时代,我们都渴望一方心灵净土,而 我的博客 正是这样温暖的所在。这里为你呈上趣味与实用兼具的知识,也…

[css] 黑白主题切换

link动态引入 类名切换 css滤镜 var 类名切换 v-bind css预处理器mixin类名切换 【前端知识分享】CSS主题切换方案

基于Ceedling的嵌入式软件单元测试

Ceedling 如果你使用 Ceedling(一个针对 C 代码单元测试的构建管理器),可以更方便地管理测试。Ceedling 会自动处理 Unity 和 CMock 的集成,无需手动编写 Makefile。 1.环境搭建 1.1 Ruby环境 sudo apt-get install ruby1.2 安…

Renesas RH850 FDL库集成步骤

文章目录 1. 获取并解压FDL库文件2. 将FDL库文件添加到工程3. 配置工程编译选项4. 配置运行时参数5. 集成API调用到应用程序6. 处理多任务与中断7. 验证与调试常见问题与解决方案总结1. 获取并解压FDL库文件 下载途径:从Renesas官网或提供的安装包获取FDL库(如 RENESAS_FDL_R…

使用 AutoMQ 和 Tinybird 分析用户网购行为

前言 在当前竞争激烈的市场环境中,数据分析已成为企业实现差异化和精准营销的关键。通过分析用户行为数据,企业能够深入了解用户的习惯、偏好和行为模式,从而更精准地定位目标市场,制定个性化营销策略,并提供定制化推…

2.14学习记录

Web flag直接读取不就行了&#xff1f; 代码审计&#xff1a; <?php highlight_file(index.php); # 我把flag藏在一个secret文件夹里面了&#xff0c;所以要学会遍历啊~ error_reporting(0); $J1ng $_POST[J]; $Hong $_POST[H]; $Keng $_GET[K]; $Wang $_GET[W]; $d…