Llama.cpp Docker镜像部署指南:快速搭建本地大模型运行环境

news2026/5/13 6:14:53
1. 项目概述为什么需要为Llama.cpp准备Docker镜像在本地部署和运行大型语言模型LLM这件事上Llama.cpp 几乎成了开源社区的“标准答案”。它用纯C/C编写通过高效的量化技术让我们能在消费级硬件甚至树莓派上流畅运行像Llama 3、Qwen这样的百亿参数模型。然而从“知道它很牛”到“真正跑起来”中间往往隔着一道环境配置的鸿沟。不同操作系统的依赖库版本、CUDA驱动与硬件的兼容性、编译器的细微差异都可能让一个简单的make命令变成数小时的排错之旅。这正是fboulnois/llama-cpp-docker这个项目要解决的核心痛点。它不是一个新框架而是一套精心构建的Docker镜像集合。其核心价值在于将Llama.cpp及其运行所需的所有复杂环境——包括CPU优化、不同版本的CUDA支持、以及必要的依赖库——全部打包进一个即开即用的容器里。对于开发者、研究者甚至是只想体验一下本地大模型的爱好者来说这意味着你无需再关心底层系统是Ubuntu还是macOS也无需手动安装cmake、python或匹配CUDA版本。你只需要安装好Docker然后一条docker run命令就能获得一个完整、隔离、可复现的Llama.cpp运行环境。我自己的体验是在帮助团队搭建内部测试环境时使用这个Docker镜像将原本需要半天甚至一天的跨平台环境统一工作缩短到了十分钟以内。它尤其适合以下场景快速验证不同量化精度模型如Q4_K_M, Q8_0在特定硬件上的性能表现作为持续集成CI流水线中的标准化测试环境或者当你需要在多台配置各异的机器上部署相同的模型服务时确保环境绝对一致。接下来我将深入拆解这个镜像仓库的设计思路、具体用法以及背后的实践经验。2. 镜像架构与版本选型解析fboulnois/llama-cpp-docker并非只有一个“万能”镜像而是提供了一系列标签Tags对应着不同的硬件加速后端和功能组合。理解这些标签的含义是高效使用它的第一步。镜像的命名和标签策略直接反映了Llama.cpp所支持的计算后端。2.1 核心镜像标签及其适用场景主流的镜像标签通常围绕以下几个关键维度构建计算后端这是最重要的选择维度决定了模型推理由CPU还是哪种GPU来加速。cpu仅使用CPU进行推理兼容性最广适用于所有支持Docker的机器包括没有独立GPU的笔记本、服务器和ARM设备如Mac M系列。它通常会启用CPU的指令集优化如AVX2、AVX512。cuda使用NVIDIA GPU的CUDA进行加速。这是拥有N卡用户的首选能提供最高的吞吐量。但需要注意CUDA版本与宿主机器GPU驱动的兼容性。opencl使用OpenCL进行加速这是一个开放标准可以支持AMD GPU、Intel集成显卡甚至某些NVIDIA GPU但效率通常不如CUDA。当你的设备没有NVIDIA GPU时这是一个重要的备选方案。rocm专门为AMD GPU设计使用ROCm平台进行加速。对于拥有较新AMD显卡如RX系列、Instinct系列的用户此版本能提供最佳性能。变体版本很多标签会附带变体例如-latest、带CUDA版本号的如-cuda11.7、或带有-full后缀的。带版本号像cuda11.7或cuda12.1指明了镜像内内置的CUDA Toolkit版本。你必须选择与宿主机NVIDIA驱动兼容的CUDA版本。一个简单的记忆方式是驱动版本决定了支持的最高CUDA版本。-full后缀这种镜像通常包含了更多额外的工具和Python绑定可能预装了常用的Python包如llama-cpp-python,numpy,transformers等方便你直接运行或编写基于Python的模型交互脚本而不仅仅是使用命令行工具。2.2 如何根据你的硬件选择镜像选择镜像本质上是在匹配你的硬件和需求。这里有一个快速决策流程确认硬件NVIDIA GPU运行nvidia-smi查看驱动版本。根据驱动版本选择兼容的CUDA镜像标签。例如驱动版本525.xx通常支持CUDA 12.0及以下535.xx支持CUDA 12.2及以下。当不确定时选择稍旧但稳定的CUDA版本如11.7通常兼容性更好。AMD GPU尝试rocm标签。请注意宿主机的ROCm驱动安装可能本身就有一定复杂度。仅CPU/其他GPU使用cpu或opencl标签。cpu最省事opencl在Intel核显或AMD显卡未装ROCm上可能带来一些加速。确认需求只想用命令行快速测试模型基础标签如cpu,cuda就够了它们包含了main、server等核心可执行文件。需要Python API进行开发或集成选择带-full后缀的镜像或者准备好自己在基础镜像里安装llama-cpp-python包。注意一个常见的误区是认为拉取了cuda镜像就能直接用GPU。实际上你需要确保1) 宿主机已安装正确版本的NVIDIA驱动2) 安装了nvidia-docker2或Docker的--gpus支持3) 运行容器时添加了--gpus all参数。否则容器内依然无法访问GPU。2.3 镜像的内部构建剖析理解镜像里有什么能帮助你在遇到问题时进行排查。以典型的fboulnois/llama-cpp-docker:latest-cuda镜像为例其Dockerfile构建流程通常遵循以下步骤基础镜像选择一个轻量级的、包含对应CUDA版本的官方镜像作为起点例如nvidia/cuda:11.7.1-runtime-ubuntu22.04。这保证了最底层的CUDA库是完整且兼容的。系统依赖安装通过apt-get安装编译Llama.cpp所需的工具链包括cmake,git,build-essential, 以及可能的libopenblas-dev等数学库。源码获取与编译克隆llama.cpp仓库的特定分支或提交以确保可复现性。创建构建目录运行cmake进行配置。关键在这里CMake配置会根据镜像的目标平台CPU/CUDA/OpenCL自动检测并启用相应的编译选项例如-DLLAMA_CUBLASON用于开启CUDA支持。使用make -j进行多线程编译生成main命令行交互、serverHTTP API服务等核心二进制文件。清理与优化为了减小镜像体积构建过程通常会分为多阶段multi-stage。最终镜像只包含运行所需的二进制文件、必要的动态库如CUDA runtime和模型文件目录而丢弃庞大的编译工具和中间文件。这种设计的好处是你获得的不仅是一个可执行文件而是一个包含正确链接库的完整运行时环境。例如自行编译时可能遇到的“找不到libcudart.so.11.7”这类问题在Docker镜像中几乎不会发生。3. 从拉取到运行完整实操指南理论说得再多不如动手跑一遍。我们以最常见的场景——在拥有NVIDIA GPU的Linux服务器上运行一个量化模型为例展示从零开始的全过程。3.1 环境准备与镜像拉取首先确保你的宿主机环境就绪# 1. 确认Docker已安装并运行 docker --version sudo systemctl status docker # 2. 确认NVIDIA驱动和容器工具包已安装 nvidia-smi # 应显示GPU信息 docker run --rm --gpus all nvidia/cuda:11.7.1-base-ubuntu22.04 nvidia-smi # 测试Docker能否调用GPU此命令应输出与宿主机相同的GPU信息。如果最后一条命令报错可能需要安装nvidia-container-toolkit具体步骤因Linux发行版而异通常需要添加NVIDIA的仓库后安装。接下来拉取合适的镜像。我们选择一个兼顾兼容性和功能的版本# 拉取支持CUDA的完整版本镜像 docker pull fboulnois/llama-cpp-docker:latest-cuda-full这个镜像包含了Python环境及常用库方便后续扩展。拉取完成后可以用docker images查看。3.2 准备模型文件Llama.cpp运行需要GGUF格式的模型文件。GGUF是Llama.cpp引入的格式它包含了模型的架构、参数以及量化信息。你无法直接使用Hugging Face上的原始PyTorch模型.bin或.safetensors必须先进行转换。获取模型文件的两种方式从社区直接下载预转换的GGUF文件这是最快捷的方式。许多模型作者或社区如TheBloke会在Hugging Face Model Hub上直接提供各种量化等级的GGUF文件。例如要获取Llama 3 8B Instruct的Q4_K_M量化版本你可以直接下载。# 在宿主机上创建一个目录存放模型 mkdir -p ~/models cd ~/models # 使用wget或curl下载此处为示例链接请替换为实际链接 wget https://huggingface.co/TheBloke/Llama-3-8B-Instruct-GGUF/resolve/main/llama-3-8b-instruct.Q4_K_M.gguf自行转换模型进阶如果你有原始的PyTorch或SafeTensors模型可以使用llama.cpp仓库中的convert.py脚本进行转换。这通常需要在fboulnois/llama-cpp-docker镜像中运行因为它已经包含了Python和必要的依赖。步骤稍复杂涉及启动一个临时容器执行转换脚本。对于大多数用户强烈推荐方式一。将下载好的模型文件例如llama-3-8b-instruct.Q4_K_M.gguf放在宿主机的一个目录下比如~/models。3.3 运行模型的几种典型方式有了镜像和模型就可以启动容器了。关键是将宿主机的模型目录“挂载”到容器内部让容器内的程序能够访问。方式一交互式命令行运行测试用这种方式适合快速测试模型的基本对话能力。docker run -it --rm --gpus all \ -v ~/models:/models \ # 将宿主机的~/models挂载到容器的/models目录 fboulnois/llama-cpp-docker:latest-cuda-full \ ./main -m /models/llama-3-8b-instruct.Q4_K_M.gguf \ -p Building a website can be done in 10 simple steps:\n1. \ -n 256 # 生成256个token参数解释-it交互式终端。--rm容器退出后自动删除。--gpus all将全部GPU分配给容器。-v ~/models:/models数据卷挂载至关重要。-m指定模型路径容器内的路径。-p提供提示词Prompt。-n指定生成token的数量。运行后你会看到模型开始生成文本。首次运行会花一些时间加载模型到GPU显存。方式二启动HTTP API服务器这是更实用的方式通过REST API与模型交互便于集成到其他应用中。docker run -d --name llama-server --gpus all \ -v ~/models:/models \ -p 8080:8080 \ # 将容器的8080端口映射到宿主机的8080端口 fboulnois/llama-cpp-docker:latest-cuda-full \ ./server -m /models/llama-3-8b-instruct.Q4_K_M.gguf \ --host 0.0.0.0 --port 8080 \ -c 2048 # 上下文长度参数解释-d后台运行。--name给容器命名方便管理。-p 8080:8080端口映射。./server启动HTTP服务器。--host 0.0.0.0监听所有网络接口。-c上下文token数量。启动后你可以通过curl或Postman测试APIcurl http://localhost:8080/completion \ -H Content-Type: application/json \ -d { prompt: 法国的首都是哪里, temperature: 0.7, max_tokens: 100 }方式三使用Python进行交互如果你拉取的是-full镜像里面已经预装了llama-cpp-python库。你可以进入容器内部使用Python脚本与模型交互。# 1. 进入容器内部 docker run -it --rm --gpus all \ -v ~/models:/models \ -v $(pwd):/app \ # 挂载当前目录方便传递脚本 -w /app \ fboulnois/llama-cpp-docker:latest-cuda-full \ /bin/bash # 2. 在容器内的bash中编写并运行Python脚本 # cat test.py EOF # from llama_cpp import Llama # llm Llama(model_path/models/llama-3-8b-instruct.Q4_K_M.gguf, n_gpu_layers-1) # -1 表示所有层都放GPU # output llm(Q: 你好请介绍一下你自己。 A:, max_tokens128, echoTrue) # print(output[choices][0][text]) # EOF # python test.py实操心得在长期运行服务器时建议使用docker-compose.yml来管理配置。你可以定义模型路径、端口、GPU数量、启动参数等管理起来比一长串docker run命令清晰得多。此外通过docker logs --tail 50 --follow llama-server可以实时查看服务器日志对于监控和调试非常有用。4. 性能调优与关键参数详解让模型跑起来只是第一步跑得快、回答准才是目标。Llama.cpp提供了大量参数来调节生成行为、控制资源使用理解它们至关重要。4.1 影响性能的核心参数这些参数直接关系到推理速度和资源占用。参数命令行示例解释与调优建议-t/--threads-t 8用于推理的CPU线程数。并非越多越好通常设置为物理核心数。对于纯GPU推理此参数影响不大对于CPU或混合推理需要根据负载调整。-ngl/--n-gpu-layers-ngl 99指定将模型的多少层放到GPU上运行。设置为一个很大的数如99意味着尽可能多的层使用GPU这能极大加速推理。对于纯CPU运行设为0。这是提升速度最关键的参数。-c/--ctx-size-c 4096上下文窗口大小token数。必须大于或等于你的提示词生成答案的总长度。更大的上下文会消耗更多内存显存。需要根据模型本身的能力和你的需求来设置例如Llama 3支持8K有些模型支持32K。-b/--batch-size-b 512提示处理批次大小。在处理长提示时增大此值可以更高效地利用GPU但也会增加显存峰值使用量。如果遇到显存不足OOM错误尝试减小此值。--mlock--mlock将模型锁定在RAM中防止被交换到磁盘。这能确保稳定的推理速度但要求你的物理内存足够大。--no-mmap--no-mmap不使用内存映射文件方式加载模型。默认情况下Llama.cpp使用mmap加载速度极快且节省内存。但在某些网络文件系统NFS或特殊环境下可能需要禁用此选项。性能调优实战假设你有一张16GB显存的RTX 4080运行一个13B参数的Q4_K_M量化模型约占用8GB显存。你的目标是获得最低的生成延迟。首先确保-ngl设置为足够大的值如99让所有模型层都在GPU上。将-t设置为你的CPU物理核心数比如8。如果进行流式对话一次生成一点保持默认的-b值即可。如果需要一次性处理非常长的文档可以适当增加-b比如到1024但要监控显存使用通过nvidia-smi在容器外查看。如果系统内存充足可以加上--mlock来避免性能波动。4.2 控制生成质量与行为的参数这些参数影响模型输出的内容。参数命令行示例解释与调优建议-n/--n-predict-n 256控制生成token的最大数量。防止模型“自言自语”停不下来。--temp--temp 0.8温度。控制随机性。值越高如1.2输出越多样、有创意但也可能更不连贯。值越低如0.2输出越确定、保守容易重复。对于代码生成或事实问答建议较低温度0.1-0.5对于创意写作可以调高0.7-1.0。--top-p--top-p 0.9核采样Top-p。与温度配合使用从概率累积超过p的最小候选词集合中采样。通常设置为0.7-0.9。top-p和top-k通常只用其一。--top-k--top-k 40Top-k采样。仅从概率最高的k个token中采样。k1就是贪婪搜索。--repeat-penalty--repeat-penalty 1.1重复惩罚。用于抑制重复的词语或短语。值大于1.0会施加惩罚。如果发现模型经常重复句子可以尝试增加到1.1或1.2。-r/--reverse-prompt-r 用户反向提示词。当生成内容包含该字符串时停止生成。在对话场景中非常有用例如设置-r 用户可以让模型在说完一轮后自动停止等待下一轮输入。生成质量调优示例你需要模型进行严谨的技术问答。./main -m model.gguf \ -p 请解释Transformer模型中的注意力机制。 \ -n 500 \ --temp 0.3 \ # 低温度确保回答稳定、准确 --repeat-penalty 1.1 \ # 轻微惩罚避免啰嗦重复 --top-p 0.95. 常见问题排查与运维技巧即便使用了Docker在实际部署和运行中依然会遇到各种问题。这里记录了我踩过的一些坑和解决方案。5.1 启动与运行问题问题1容器启动失败报错Error response from daemon: could not select device driver...或docker: Error response from daemon: could not select device driver...原因Docker无法找到NVIDIA驱动通常是因为nvidia-container-toolkit未正确安装或未重启Docker服务。解决重新安装并配置NVIDIA容器工具包。对于Ubuntu可以参考以下步骤具体请以官方文档为准distribution$(. /etc/os-release;echo $ID$VERSION_ID) curl -s -L https://nvidia.github.io/libnvidia-container/gpgkey | sudo apt-key add - curl -s -L https://nvidia.github.io/libnvidia-container/$distribution/libnvidia-container.list | sudo tee /etc/apt/sources.list.d/libnvidia-container.list sudo apt-get update sudo apt-get install -y nvidia-container-toolkit sudo systemctl restart docker运行docker run --rm --gpus all nvidia/cuda:11.7.1-base nvidia-smi验证。问题2运行模型时速度极慢nvidia-smi显示GPU利用率为0%原因模型没有在GPU上运行而是回退到了CPU。最可能的原因是-nglGPU层数参数设置不当。解决检查启动命令确保包含了-ngl参数并设置了一个较大的值如99。对于server参数是--n-gpu-layers。在容器内运行./main --help | grep gpu确认二进制文件是否支持CUDA。如果帮助信息里没有CUDA相关选项说明你拉取的可能是CPU版本的镜像。确认宿主机GPU驱动和容器内CUDA版本兼容。问题3运行模型时出现CUDA out of memory或llama_new_context_with_model: failed to allocate...错误原因显存不足。模型本身、上下文-c设置过大、批次大小-b过大都会消耗显存。解决降低上下文大小尝试减小-c参数例如从8192降到4096。减少GPU层数如果模型太大即使量化后也无法完全放入显存可以尝试减少-ngl的值让一部分层在CPU上运行混合推理。尝试更高程度的量化将Q4_K_M模型换成Q3_K_M或Q2_K可以显著减少显存占用但可能会损失一些模型质量。减小批次大小尝试减小-b参数。关闭内存映射极少数情况下--no-mmap可能有助于解决某些内存分配问题但通常不是首选。5.2 模型与文件问题问题4启动时提示failed to load model: invalid model file原因模型文件损坏、格式不正确不是GGUF格式或者与当前llama.cpp版本不兼容。解决重新下载模型文件并检查文件的MD5或SHA256哈希值是否与发布者提供的一致。确认你下载的是GGUF文件而不是其他格式如.bin, .safetensors。GGUF格式本身也有版本。如果镜像内的llama.cpp版本较旧可能无法加载新版本的GGUF文件。尝试拉取更新版本的Docker镜像或者使用与模型文件同时期发布的llama.cpp版本进行转换/加载。问题5模型回答质量差胡言乱语原因除了模型本身能力问题更多是生成参数设置不当。解决检查提示词格式许多指令微调模型如Llama-3-Instruct有特定的对话模板。例如Meta官方模板可能包含|begin_of_text||start_header_id|user|end_header_id|\n\n{prompt}|eot_id||start_header_id|assistant|end_header_id|\n\n。你需要按照这个格式构造提示词否则模型无法理解你的意图。查阅模型发布页面的说明至关重要。调整温度过高的温度会导致随机性太强。尝试将--temp降到0.7以下。检查量化等级过低的量化如Q2_K会严重损失模型精度。对于需要理解复杂指令的任务尝试使用Q4_K_M或更高精度的量化版本。5.3 运维与监控长期运行的服务管理对于作为HTTP服务运行的容器建议使用docker-compose或容器编排工具如Kubernetes进行管理。一个简单的docker-compose.yml示例如下version: 3.8 services: llama-api: image: fboulnois/llama-cpp-docker:latest-cuda-full container_name: llama-3-8b-server runtime: nvidia # 使用nvidia容器运行时 deploy: resources: reservations: devices: - driver: nvidia count: all capabilities: [gpu] volumes: - /path/to/your/models:/models ports: - 8080:8080 command: [ ./server, -m, /models/llama-3-8b-instruct.Q4_K_M.gguf, --host, 0.0.0.0, --port, 8080, -c, 4096, --n-gpu-layers, 99, -b, 512 ] restart: unless-stopped # 容器意外退出时自动重启使用docker-compose up -d启动docker-compose logs -f查看日志docker-compose down停止服务。资源监控GPU监控在宿主机上使用watch -n 1 nvidia-smi可以实时观察GPU利用率和显存占用。容器监控使用docker stats命令可以查看所有运行中容器的CPU、内存和网络IO使用情况。服务健康检查可以为server容器配置健康检查定期调用一个简单的/health端点如果server提供的话或者发送一个轻量的推理请求确保服务可用。最后一个非常重要的经验是保持镜像、模型和期望的一致性。如果你在开发环境中使用特定版本的镜像和模型进行测试那么生产环境也应部署完全相同的版本。Docker镜像的哈希值digest和模型文件的哈希值是确保这种一致性的关键。每次更新镜像或模型都应在隔离环境中进行充分的测试避免因版本差异导致线上服务异常。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

SpringBoot-17-MyBatis动态SQL标签之常用标签

文章目录 1 代码1.1 实体User.java1.2 接口UserMapper.java1.3 映射UserMapper.xml1.3.1 标签if1.3.2 标签if和where1.3.3 标签choose和when和otherwise1.4 UserController.java2 常用动态SQL标签2.1 标签set2.1.1 UserMapper.java2.1.2 UserMapper.xml2.1.3 UserController.ja…

wordpress后台更新后 前端没变化的解决方法

使用siteground主机的wordpress网站,会出现更新了网站内容和修改了php模板文件、js文件、css文件、图片文件后,网站没有变化的情况。 不熟悉siteground主机的新手,遇到这个问题,就很抓狂,明明是哪都没操作错误&#x…

网络编程(Modbus进阶)

思维导图 Modbus RTU(先学一点理论) 概念 Modbus RTU 是工业自动化领域 最广泛应用的串行通信协议,由 Modicon 公司(现施耐德电气)于 1979 年推出。它以 高效率、强健性、易实现的特点成为工业控制系统的通信标准。 包…

UE5 学习系列(二)用户操作界面及介绍

这篇博客是 UE5 学习系列博客的第二篇,在第一篇的基础上展开这篇内容。博客参考的 B 站视频资料和第一篇的链接如下: 【Note】:如果你已经完成安装等操作,可以只执行第一篇博客中 2. 新建一个空白游戏项目 章节操作,重…

IDEA运行Tomcat出现乱码问题解决汇总

最近正值期末周,有很多同学在写期末Java web作业时,运行tomcat出现乱码问题,经过多次解决与研究,我做了如下整理: 原因: IDEA本身编码与tomcat的编码与Windows编码不同导致,Windows 系统控制台…

利用最小二乘法找圆心和半径

#include <iostream> #include <vector> #include <cmath> #include <Eigen/Dense> // 需安装Eigen库用于矩阵运算 // 定义点结构 struct Point { double x, y; Point(double x_, double y_) : x(x_), y(y_) {} }; // 最小二乘法求圆心和半径 …

使用docker在3台服务器上搭建基于redis 6.x的一主两从三台均是哨兵模式

一、环境及版本说明 如果服务器已经安装了docker,则忽略此步骤,如果没有安装,则可以按照一下方式安装: 1. 在线安装(有互联网环境): 请看我这篇文章 传送阵>> 点我查看 2. 离线安装(内网环境):请看我这篇文章 传送阵>> 点我查看 说明&#xff1a;假设每台服务器已…

XML Group端口详解

在XML数据映射过程中&#xff0c;经常需要对数据进行分组聚合操作。例如&#xff0c;当处理包含多个物料明细的XML文件时&#xff0c;可能需要将相同物料号的明细归为一组&#xff0c;或对相同物料号的数量进行求和计算。传统实现方式通常需要编写脚本代码&#xff0c;增加了开…

LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器的上位机配置操作说明

LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器专为工业环境精心打造&#xff0c;完美适配AGV和无人叉车。同时&#xff0c;集成以太网与语音合成技术&#xff0c;为各类高级系统&#xff08;如MES、调度系统、库位管理、立库等&#xff09;提供高效便捷的语音交互体验。 L…

(LeetCode 每日一题) 3442. 奇偶频次间的最大差值 I (哈希、字符串)

题目&#xff1a;3442. 奇偶频次间的最大差值 I 思路 &#xff1a;哈希&#xff0c;时间复杂度0(n)。 用哈希表来记录每个字符串中字符的分布情况&#xff0c;哈希表这里用数组即可实现。 C版本&#xff1a; class Solution { public:int maxDifference(string s) {int a[26]…

【大模型RAG】拍照搜题技术架构速览:三层管道、两级检索、兜底大模型

摘要 拍照搜题系统采用“三层管道&#xff08;多模态 OCR → 语义检索 → 答案渲染&#xff09;、两级检索&#xff08;倒排 BM25 向量 HNSW&#xff09;并以大语言模型兜底”的整体框架&#xff1a; 多模态 OCR 层 将题目图片经过超分、去噪、倾斜校正后&#xff0c;分别用…

【Axure高保真原型】引导弹窗

今天和大家中分享引导弹窗的原型模板&#xff0c;载入页面后&#xff0c;会显示引导弹窗&#xff0c;适用于引导用户使用页面&#xff0c;点击完成后&#xff0c;会显示下一个引导弹窗&#xff0c;直至最后一个引导弹窗完成后进入首页。具体效果可以点击下方视频观看或打开下方…

接口测试中缓存处理策略

在接口测试中&#xff0c;缓存处理策略是一个关键环节&#xff0c;直接影响测试结果的准确性和可靠性。合理的缓存处理策略能够确保测试环境的一致性&#xff0c;避免因缓存数据导致的测试偏差。以下是接口测试中常见的缓存处理策略及其详细说明&#xff1a; 一、缓存处理的核…

龙虎榜——20250610

上证指数放量收阴线&#xff0c;个股多数下跌&#xff0c;盘中受消息影响大幅波动。 深证指数放量收阴线形成顶分型&#xff0c;指数短线有调整的需求&#xff0c;大概需要一两天。 2025年6月10日龙虎榜行业方向分析 1. 金融科技 代表标的&#xff1a;御银股份、雄帝科技 驱动…

观成科技:隐蔽隧道工具Ligolo-ng加密流量分析

1.工具介绍 Ligolo-ng是一款由go编写的高效隧道工具&#xff0c;该工具基于TUN接口实现其功能&#xff0c;利用反向TCP/TLS连接建立一条隐蔽的通信信道&#xff0c;支持使用Let’s Encrypt自动生成证书。Ligolo-ng的通信隐蔽性体现在其支持多种连接方式&#xff0c;适应复杂网…

铭豹扩展坞 USB转网口 突然无法识别解决方法

当 USB 转网口扩展坞在一台笔记本上无法识别,但在其他电脑上正常工作时,问题通常出在笔记本自身或其与扩展坞的兼容性上。以下是系统化的定位思路和排查步骤,帮助你快速找到故障原因: 背景: 一个M-pard(铭豹)扩展坞的网卡突然无法识别了,扩展出来的三个USB接口正常。…

未来机器人的大脑:如何用神经网络模拟器实现更智能的决策?

编辑&#xff1a;陈萍萍的公主一点人工一点智能 未来机器人的大脑&#xff1a;如何用神经网络模拟器实现更智能的决策&#xff1f;RWM通过双自回归机制有效解决了复合误差、部分可观测性和随机动力学等关键挑战&#xff0c;在不依赖领域特定归纳偏见的条件下实现了卓越的预测准…

Linux应用开发之网络套接字编程(实例篇)

服务端与客户端单连接 服务端代码 #include <sys/socket.h> #include <sys/types.h> #include <netinet/in.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #include <arpa/inet.h> #include <pthread.h> …

华为云AI开发平台ModelArts

华为云ModelArts&#xff1a;重塑AI开发流程的“智能引擎”与“创新加速器”&#xff01; 在人工智能浪潮席卷全球的2025年&#xff0c;企业拥抱AI的意愿空前高涨&#xff0c;但技术门槛高、流程复杂、资源投入巨大的现实&#xff0c;却让许多创新构想止步于实验室。数据科学家…

深度学习在微纳光子学中的应用

深度学习在微纳光子学中的主要应用方向 深度学习与微纳光子学的结合主要集中在以下几个方向&#xff1a; 逆向设计 通过神经网络快速预测微纳结构的光学响应&#xff0c;替代传统耗时的数值模拟方法。例如设计超表面、光子晶体等结构。 特征提取与优化 从复杂的光学数据中自…