20_大模型微调和训练之-基于LLamaFactory+LoRA微调LLama3后格式合并
1. 什么是 GGUF
GGUF 格式的全名为(GPT-Generated Unified Format),提到 GGUF 就不得不提到它的前身 GGML(GPT-Generated Model Language)。GGML 是专门为了机器学习设计的张量库,最早可 以追溯到 2022/10。其目的是为了有一个单文件共享的格式,并 且易于在不同架构的 GPU 和 CPU 上进行推理。但在后续的开发 中,遇到了灵活性不足、相容性及难以维护的问题。
为什么要转换 GGUF 格式?
在传统的 Deep Learning Model 开发中大多使用 PyTorch 来进行开发,但因为在部署时会面临相依 Lirbrary 太多、版本管理的问题于才有了 GGML、GGMF、GGJT 等格式,而在开源社群不停的迭代后 GGUF 就诞生了。
GGUF 实际上是基于 GGJT 的格式进行优化的,并解决了 GGML 当初面临的问题,包括:
- 可扩展性:轻松为 GGML 架构下的工具添加新功能,或者向 GGUF 模型添加新 Feature,不会破坏与现有模型的兼容性。
- 对 mmap(内存映射)的兼容性:该模型可以使用 mmap 进行加载(原理解析可见参考),实现快速载入和存储。(从 GGJT 开 始导入,可参考 GitHub)
- 易于使用:模型可以使用少量代码轻松加载和存储,无需依赖的 Library,同时对于不同编程语言支持程度也高。
- 模型信息完整:加载模型所需的所有信息都包含在模型文件中,不需要额外编写设置文件。
- 有利于模型量化:GGUF 支持模型量化(4 位、8 位、F16),在 GPU 变得越来越昂贵的情况下,节省 vRAM 成本也非常重要。
本地获取GGUF文件
我们使用llamafactory 训练完模型我们这个时候存在一个base模型和训练的权重参数(LoAR秩)需要导出合并模型
将 base model 与训练好的 LoRA Adapter 合并成一个新的模型。注意:不要使用量化后的模型或 参数进行合并。
以下是 merge_llama3_lora_sft.yaml 的内容:
#model(基座模型)
model_name_or_path: /root/autodl-tmp/Llama3-8B/LLM-Research/Meta-Llama-3-8B-Instruct
#lora(自己训练的lora模型部分)
adapter_name_or_path: /root/autodl-tmp/LLaMA-Factory/saves/Llama-3-8B-Instruct/lora/train_2024-11-22-17-18-42
template: llama3
finetuning_type: lora#export
export_dir: /root/autodl-tmp/Llama3-8B/LLM-Research/Meta-Llama-3-8B-Instruct-merged
export_size: 4
export_device: cuda
export_legacy_format: false
修改好配置文件 运行下面命令进行合并
llamafactory-cli export cust/merge_llama3_lora_sft.yaml
使用合并后的模型进行预测时,您不再需要加载 LoRA Adapter。
2. 把合成的模型进行转化 (llama.cpp)
安装llama.cpp
git clone https://github.com/ggerganov/llama.cpp.git
pip install -r llama.cpp/requirements.txt
执行转换
# 如果不量化,保留模型的效果
python llama.cpp/convert_hf_to_gguf.py ./Meta-Llama-3-8B-Instruct --outtype f16 --verbose --outfile Meta-Llama-3-8B-Instruct-gguf.gguf# 如果需要量化(加速并有损效果),直接执行下面脚本就可以
python llama.cpp/convert_hf_to_gguf.py ./Meta-Llama-3-8B-Instruct --outtype q8_0 --verbose --outfile Meta-Llama-3-8B-Instruct-gguf_q8_0.gguf
./Meta-Llama-3-8B-Instruct 导出模型的路径
Meta-Llama-3-8B-Instruct-gguf.gguf 转化之后的路径存放
这里--outtype
是输出类型,代表含义:
q2_k
:特定张量(Tensor)采用较高的精度设置,而其他的则保持基础级别。q3_k_l
、q3_k_m
、q3_k_s
:这些变体在不同张量上使用不同级别的精度,从而达到性能和效率的平衡。q4_0
:这是最初的量化方案,使用4位精度。q4_1
和q4_k_m
、q4_k_s
:这些提供了不同程度的准确性和推理速度,适合需要平衡资源使用的场景。q5_0
、q5_1
、q5_k_m
、q5_k_s
:这些版本在保证更高准确度的同时,会使用更多的资源并且推理速度较慢。q6_k
和q8_0
:这些提供了最高的精度,但是因为高资源消耗和慢速度,可能不适合所有用户。fp16
和f32
:不量化,保留原始精度。
命令解析
python llama.cpp/convert_hf_to_gguf.py \ # 运行转换脚本
./Meta-Llama-3-8B-Instruct \ # 输入模型路径
--outtype f16 \ # 输出浮点精度
--verbose \ # 显示详细日志
--outfile Meta-Llama-3-8B-Instruct-gguf.gguf.gguf # 输出文件名
关键参数说明
- llama.cpp/convert_hf_to_gguf.py
作用:llama.cpp 官方提供的转换脚本,用于将 Hugging Face 格式模型 → GGUF 格式。
路径要求:需确保 llama.cpp 仓库已克隆到当前目录,且脚本路径正确。
-
./Meta-Llama-3-8B-Instruct
这个一般是自己训练好的模型
输入模型路径:指向 Hugging Face 格式模型的目录,需包含:
pytorch_model.bin(模型权重)
config.json(模型配置)
tokenizer.model 或 tokenizer.json(分词器) -
–outtype f16
浮点精度:指定输出权重的数值类型:
f16:半精度浮点数(默认,平衡精度与速度)
f32:全精度浮点数(更高精度,但文件更大)
q8_0:8 位量化(缩小文件体积,轻微精度损失)
- –verbose
日志模式:显示转换过程的详细信息(如层名称、进度条),便于调试。
- –outfile
输出文件名:指定生成的 GGUF 文件路径。
建议路径部分是 绝对路径
典型使用场景
目标:将 Hugging Face 模型转换为可在 llama.cpp 中运行的格式。
适用场景:
在 CPU 或低显存 GPU 设备上运行大模型(GGUF 支持内存映射)。
需要量化模型以减小体积(如 4-bit/8-bit 量化)。
3. 合成后的可以使用ollama直接运行
安装ollama 不在详细介绍
安装
curl -fsSL https://ollama.com/install.sh | sh
启动 ollama
ollam start
ollama serve
ollam run LLamas 具体的大模型名称
3.2 创建ModelFile
复制模型路径,创建名为“ModelFile”的meta文件,内容如下
#GGUF文件路径
FROM /root/autodl-tmp/Llama3-8B/LLM-Research/Meta-Llama-3-8B-Instruct-gguf8.gguf
3.3 创建自定义模型
使用ollama create命令创建自定义模型
ollama create llama-3-8B-Instruct --file ./ModeFile
llama-3-8B-Instruct 这个名字是自己创建的
2.5 运行模型:
ollama ls
ollama run llama-3-8B-Instruct
4. ???llama_factory 不进行合并就不可以运行了吗 ?
答案可以的
使用命令行对话框
llamafactory-cli chat examples/inference/llama3_lora_sft.yaml
使用浏览器对话框
llamafactory-cli webchat examples/inference/llama3_lora_sft.yaml
启动 OpenAI 风格 API
llamafactory-cli api examples/inference/llama3_lora_sft.yaml
examples/inference/llama3_lora_sft.yaml内容如下:
model_name_or_path: /mnt/workspace/deepseeck/deepseek-ai/DeepSeek-R1-Distill-Qwen-7B
adapter_name_or_path: /mnt/workspace/LLaMA-Factory/saves/DeepSeek-R1-7B-Distill/lora/train_2025-04-28-20-42-03/adapter_config.json
template: deepseek3
infer_backend: huggingface # choices: [huggingface, vllm]
trust_remote_code: true
相关文章:
20_大模型微调和训练之-基于LLamaFactory+LoRA微调LLama3后格式合并
1. 什么是 GGUF GGUF 格式的全名为(GPT-Generated Unified Format),提到 GGUF 就不得不提到它的前身 GGML(GPT-Generated Model Language)。GGML 是专门为了机器学习设计的张量库,最早可 以追溯到 2022/10。其目的是为了有一个单文件共享的格式…...
LLamaFactory如何在Windows系统下部署安装训练(保姆级教程)
注意:以下教程编写和灵感来源均来自eogee开源作者(EOGEE_岳极技术_大模型与AI知识技术共享社区),大家有需要学习AI方面的知识可以关注他。 另我个人此次环境部署所用的显卡是5070ti16G显存,系统是Windows11。 如有问题…...
数据库系统概论|第三章:关系数据库标准语言SQL—课程笔记7
前言 在前面文章的介绍中,已经介绍了数据定义、数据更新、数据查询,关于SQL语句的标准语言已经基本上介绍完毕,本文接下来将介绍另外两种便于操作的操作模式——视图与索引。其大致的语句代码与前文其实并无大的区别,在了解基本语…...
【LeetCode】彩灯装饰记录 III
题目 题目链接 一棵圣诞树记作根节点为 root 的二叉树,节点值为该位置装饰彩灯的颜色编号。请按照如下规则记录彩灯装饰结果: 第一层按照从左到右的顺序记录 除第一层外每一层的记录顺序均与上一层相反。即第一层为从左到右,第二层为从右到左…...
MongoDB的图形化工具robo3t,navicat
MongoDB 常用的两个图形化工具 —— Robo 3T 和 Navicat 的详细介绍、区别和基本使用方法: 🧰 一、Robo 3T(原 Robomongo) 📌 简介 Robo 3T 是一款专注于 MongoDB 的轻量级可视化客户端。由原 Robomongo 团队开发&am…...
python celery框架结合django的使用
学习目标: 通过文章了解celery的运行机制以及如何结合django去使用 熟悉celery的运行原理属性celery在django项目当中的配置如何启动运行celery框架 学习内容: 熟悉celery的运行原理,简单来说 Celery 是一个“任务排队机后台处理器”。帮你…...
Ansible 守护 Windows 安全(Ansible Safeguards Windows Security)
Ansible 守护 Windows 安全:自动化基线检查与加固 在当今网络威胁日益严峻的形势下,保障 Windows 系统安全至关重要。Ansible 作为一款强大的自动化运维工具,可通过自动化脚本实现 Windows 安全基线检查和加固,大幅提升运维效率并…...
【计算机架构】CISC(复杂指令集计算机)架构
一、引言 在计算机技术领域中,计算机架构是基石,决定着计算机系统的性能、功能和效率。CISC(复杂指令集计算机)架构作为一种经典的计算机架构,自诞生以来就在计算机发展历程中扮演着举足轻重的角色。从早期的大型计算机…...
【学习资源】知识图谱与大语言模型融合
知识图谱与大型语言模型结合参数知识和明确知识的可用性会带来一些机会和愿景。分享一些知识图谱和大语言模型融合的论文和文章、实践案例、关键技术和实用工具。 1 模型库获取 https://modelscope.cn/models 注 下载模型需运行 git lfs instal 2 论文和文章 2.1 大型语言模…...
探索微服务入口:Spring Cloud Gateway 实战指南
在微服务架构中,网关(Gateway)扮演着“请求入口”的角色。它不仅帮助我们统一入口、路由转发,还可以承担限流、安全认证、权限校验、熔断等功能。 本文将系统介绍 Spring Cloud Gateway 的基础概念、快速上手指南,以及…...
python的turtle库实现四叶草
实现代码: import turtle turtle.pencolor(‘green’) turtle.fillcolor(‘green’) turtle.begin_fill() turtle.circle(100,90) turtle.left(90) turtle.circle(100,90) turtle.right(180) turtle.circle(100, 90) turtle.left(90) turtle.circle(100,90) tu…...
医疗生态全域智能化:从技术革新到价值重塑的深度探析
引言 医疗人工智能正在经历从单一技术应用向全域生态系统演进的关键转折点。随着深度学习、自然语言处理和计算机视觉等技术的成熟,AI不再局限于辅助诊断等单一功能,而是逐渐渗透到医疗健康服务的全生命周期。从传统设备制造商向智慧医疗转型的东软医疗,正在构建"AI大…...
Rust 的 Web 世界:actix_web 轻松接收 JSON 请求体
前言 在现代 Web 世界,数据传输早已从“你问我答”的问卷时代,迈入“你扔我接”的快节奏赛道。其中最火的“传球”方式,非 JSON 请求体莫属。Rust 这门以高性能和强类型著称的语言,也不甘人后,推出 actix_web 框架,力求在 Web 世界中杀出一条血路。 今天我们不讲玄学,…...
1.3 点云数据获取方式——ToF相机
图1-3-1TOF相机 ToF 相机作为新兴的 3D 感知设备,凭借独特的技术优势崭露头角。其工作原理基于光飞行时间(Time of Flight)技术,通过测量光信号从发射到被物体反射后返回传感器的时间差,直接且快速地获取物体的深度信息。这种直接测量深度的方式使得 ToF 相机具备…...
数据结构每日一题day13(链表)★★★★★
题目描述:采用尾插法在头指针L处建立一个带头结点的单链表,输入-1表示结束结果返回建立的单链表。 算法思想: 1.初始化链表:创建一个头结点(不存储实际数据),头指针 L 指向该头结点。初始时,头…...
【网络编程】UDP协议 和 Socket编程
1. UDP的特点 UDP(User Datagram Protocol,用户数据报协议)是互联网协议套件中的一种传输层协议,与广泛使用的TCP(Transmission Control Protocol,传输控制协议)相比,它是一种无连接…...
【探寻C++之旅】第十二章:异常
请君浏览 前言1.异常的概念2.异常的使用2.1 抛出与捕获2.2 栈展开2.3 查找匹配的处理代码2.4 简单的异常使用2.5 异常重新抛出 2. 异常的安全问题3. 异常的规范4. 标准库的异常5. 异常处理建议尾声 前言 今天,我们继续踏入追寻C的冒险历程。今天我们让我们来讲讲C中…...
CSS的三大特性:层叠、继承与优先级
CSS作为网页设计的核心语言,其三大核心特性——层叠性、继承性和优先级共同构成了样式表现的底层逻辑。理解这些特性将帮助开发者写出更优雅、更易维护的样式代码。 一、层叠性(Cascading) 1.1 核心概念 "层叠"指多个样式规则同…...
Spring Cloud 项目中优雅地传递用户信息:基于 Gateway + ThreadLocal 的用户上下文方案
在 Spring Cloud 微服务架构中,我们通常使用 API 网关(如 Spring Cloud Gateway)作为流量入口,负责统一的用户身份校验和请求路由。本文将介绍一种通用的用户信息传递方案:网关完成认证后通过请求头传递用户信息&#…...
node.js 实战——mongoDB 续一
mongoDB的基本指令 进入mongodb mongo显示当前的所有数据库 show dbs # 或者 show databases切换数据库/进入指定数据库 使用这个命令的时候,是不要求这个数据库是否创建 use 数据库名显示当前数据库 db显示数据库中所有集合 show collections数据库的CRUD的…...
鸟笼效应——AI与思维模型【84】
一、定义 鸟笼效应思维模型指的是人们在偶然获得一件原本不需要的物品后,会为了这件物品的配套或使用需求,进而继续添加更多与之相关但自己原本可能并不需要的东西,仿佛被这个“鸟笼”牵着走,最终陷入一种惯性消费或行为模式的现象。简单来说,就是人们在心理上会有一种自…...
豪越科技消防立库方案:实现应急物资高效管理
在消防救援工作中,应急物资管理是至关重要的一环。然而,当前应急物资管理的现状却令人担忧。传统的应急物资管理方式存在诸多弊端,严重影响了消防救援的效率和效果。 走进一些传统的消防仓库,映入眼帘的往往是杂乱无章的存储场景。…...
简化excel校验提高开发效率
业务背景:上传excel文件进行基础数据校验,然而东西太多写着写着就...自然成了测试的KPI了 解决思路:使用现有的注解处理,原理使用validate注解原理 直接上干货,一行代码搞定校验: ValidateUtils.validat…...
ElasticSearch深入解析(六):集群核心配置
1.开发模式和生产模式 Elasticsearch默认运行在开发模式下,此模式允许节点在配置存在错误时照常启动,仅将警告信息写入日志文件。而生产模式则更为严格,一旦检测到配置错误,节点将无法启动,这是一种保障系统稳定性的安…...
Python 重构“策略”模式:用函数简化设计模式的实践
在软件设计中,设计模式是解决问题的通用模板。但随着编程语言特性的发展,某些经典模式可以通过更简洁的方式实现。本文以电商促销折扣场景为例,演示如何通过函数重构“策略”模式,减少代码量并提升可维护性。 经典策略模式实现 …...
MCP协议深度解析:原理、应用与物联网时代的机遇-优雅草卓伊凡
MCP协议深度解析:原理、应用与物联网时代的机遇-优雅草卓伊凡 一、MCP协议技术详解 1.1 MCP协议的定义与起源 MCP(Modbus Communication Protocol)是一种基于主从架构的串行通信协议,最初由Modicon公司(现为施耐德电…...
IOS 国际化词条 Python3 脚本
一、词条处理脚本---使用教程 (1)环境篇 1: 该脚本基于python3 环境,请确保你的mac 安装了python3 2: 包依赖,请在python3环境下安装 xlrd; pip3 install xlrd(2)使用篇 1: 桌面创建一个文件夹, 例如 wordEntry,将该脚本文件与下载的最新的 ’词条.xlsx‘…...
uniapp 支付宝小程序自定义 navbar 无效解决方案
如图: uniapp编译到支付宝小程序隐藏默认的导航栏失效了 解决方案: 在 pages.json 文件中找到 globalStyle 中加入以下代码: "mp-alipay": {"transparentTitle": "always","titlePenetrate":…...
uni-app - 微信小程序中,使用 navigateTo 传递非常大的数字传参精度丢失的问题
文章目录 🍉原因分析:JavaScript 数值精度限制🍉常用解决方法🍉代码示例🍉官方推荐与最佳实践🍉微信小程序环境注意事项🍉原因分析:JavaScript 数值精度限制 微信小程序(uni-app)中,参数是通过 URL 查询字符串传递的,其本质上仍由 JavaScript 进行处理。Jav…...
通信施工安全员B证适合哪些人考
通信施工安全员B证适合人群分析 一、适用岗位范围 通信工程施工人员 从事基站建设、光缆布放、管道施工等现场作业的技术工人 5G网络建设、室内分布系统安装等新型基础设施建设人员 项目管理岗位 通信工程项目经理、技术负责人 施工队长、班组长等现场管理人员 专职安全…...
vue3使用<el-date-picker分别设置开始时间和结束时间时,设置开始时间晚于当前时间,开始时间早于结束时间,结束时间晚于开始时间
vue3使用<el-date-picker分别设置开始时间和结束时间时,设置开始时间晚于当前时间,开始时间早于结束时间,结束时间晚于开始时间 为避免出现填写结束事件后再次修改开始时间,导致开始时间晚于结束时间,添加 change“…...
移远通信LG69T赋能零跑B10:高精度定位护航,共赴汽车智联未来
当前,汽车行业正以前所未有的速度迈向智能化时代,组合辅助驾驶技术已然成为车厂突出重围的关键所在。高精度定位技术作为实现车辆精准感知与高效协同的基石,其重要性日益凸显。 作为全球领先的物联网及车联网整体解决方案供应商,移…...
HTML应用指南:利用POST请求获取全国达美乐门店位置信息
达美乐比萨作为全球知名的披萨连锁品牌,自1960年创立以来,始终致力于为消费者提供高品质、快速配送的披萨体验。在中国市场,达美乐凭借其“30分钟必达”的承诺和经典美式风味,逐渐赢得了广大消费者的青睐。品牌通过不断拓展门店网…...
进程优先级以及切换调度
目录 进程优先级 基本概念 实操理解 优先级操作 竞争,独立,并行,并发 进程切换 寄存器 讲切换 linux进程调度算法 进程优先级 基本概念 cpu资源分配的先后顺序,就是指进程的优先权(priority)。优…...
揭开应用程序的神秘面纱:深入了解 AWS X-Ray
1.AWS X-Ray 概述: AWS X-Ray 是一项服务,它收集应用程序所处理请求的数据,并提供一些工具供您查看、筛选和深入了解这些数据,从而发现问题和优化机会。您不仅可以查看请求和响应的详细信息,还可以查看应用程序对下游…...
元宇宙2.0:当区块链成为数字世界的宪法
引言:当虚拟世界成为“新大陆” 清晨,你戴上VR设备进入一个由数字建筑构成的城市,这里的地皮属于全球玩家,街边的艺术品标着NFT认证码,咖啡馆里的人们用加密货币支付咖啡,而社区规则由持有代币的居民投票决…...
JVM调优实战(JVM Tuning Pactice)
JVM调优实战 JVM调优 JVM调优是指对Java虚拟机进行性能优化的实际应用。 JVM调优实战主要是通过优化JVM的内存管理、垃圾回收、线程管理、类加载、编译器等方面来提高Java应用程序的性能和稳定性。 JVM调优步骤 JVM调优实战通常需要经过以下步骤: 1.监控GC的状…...
网络原理 - 11(HTTP/HTTPS - 2 - 请求)
目录 HTTP 请求(Request) 认识 URL URL 基本格式 关于 URL encode 认识方法(method) 1. GET 方法 2. POST 方法 认识请求“报头”(header) Host Content-Length Content-Type User-Agent&…...
百度CarLife实现手机车机无缝互联
百度CarLife是百度推出的智能车联网解决方案,通过手机与车机互联技术,为用户提供安全便捷的车载互联网服务体验。 CarLife 实现手机与车机屏幕的无缝互联,让应用内容同步至车载系统,减少驾驶过程中操作手机的频率,提升…...
初识Redis · 缓存
目录 前言: 引入缓存 缓存更新策略 定期生成 实时生成 缓存注意事项 缓存预热 缓存穿透 缓存雪崩 缓存击穿 前言: 我们在Redis的学习中,逐渐了解到了Redis的用途是可以用来当作内存数据库,缓存,消息队列等&…...
Redis性能优化终极指南:从原理到实战的深度调优策略
一、内存优化:构建高效存储体系 1.1 三级过期键管理机制 Redis通过组合策略实现精准的内存回收: 定时删除(主动淘汰) 创建定时器在键到期时立即删除 优点:及时释放内存 缺点:高CPU消耗(每个…...
哈希表笔记(一 )
设计思路 核心功能和 API 设计 (Core Functionality & API Design): 基本操作: 必须提供核心的 put(key, value)(添加或更新键值对)、get(key)(根据键获取值)、remove(key)(根据键删除键值对)、contain…...
c网络库libevent的http常用函数的使用(附带源码)
Libevent HTTP 核心函数详解与实战 核心概念HTTP 服务器端常用函数1. 初始化与绑定2. 设置请求处理回调3. 在回调函数中处理请求4. 发送响应5. 启动与停止6. 清理资源 HTTP 客户端常用函数1. 初始化2. 创建连接3. 创建并发送请求4. 在回调函数中处理响应5. 启动事件循环与清理 …...
java练习3
随机生成20个数字(随机种子) 分别使用冒泡排序、二叉树排序、插入排序进行排序 并输出最终结果以及三种排序使用的时间 package a01_第一次练习.a03_排序;import java.time.Duration; import java.time.LocalDateTime; import java.util.TreeSet;publi…...
当 AI 成为 “数字新物种”:人类职业的重构与进化
一、AI 的 “替代清单”:从流水线到办公室的全面侵袭 在深圳某智能工厂,机械臂正以 0.01 毫米的精度完成手机组装,100 台机器人 24 小时运转,替代了 3000 名工人。这种场景正在全球制造业蔓延 —— 麦肯锡预测,到 203…...
HarmonyOS ArkUI交互事件与手势处理全解析:从基础到高级实践
文章目录 一、交互事件1.1 通用事件1.1.1 事件分发1.1.1.1 触摸测试1. 触摸测试基本流程2. 触摸测试控制3. 自定义事件拦截4. 禁用控制5. 触摸热区设置6. 安全组件 1.1.1.2 事件响应链收集 1.1.2 触屏事件1.1.3 键鼠事件1.1.3.1 鼠标事件1.1.3.2 按键事件 1.1.4 焦点事件1.1.5 …...
【计算机网络】面试常考——GET 和 POST 的区别
GET 和 POST 的区别 GET 和 POST 是 HTTP 协议中最常用的两种请求方法,它们的主要区别体现在 用途、数据传输方式、安全性、缓存机制 等方面。以下是详细对比: 1. 用途 GET POST 主要用于 获取数据(如查询、搜索)。 主要用于 提…...
AI编程工具“幻觉”风险与飞算JavaAl的破局之道
近年来,AI编程辅助工具迅速崛起,极大地提升了开发者的工作效率。然而,这些工具普遍存在一个被称为“幻觉”(hallucination)的风险——AI可能会生成看似合理但实际错误、不安全或低效的代码。这种现象在复杂业务逻辑和特定领域开发中尤为明显&…...
【Python零基础入门系列】第1篇:Python 是什么?怎么装环境?推荐哪些 IDE?
各位网友们,欢迎来到我的 Python 学习专栏! 前两天看到新闻英伟达为 CUDA 添加原生 Python 支持,意味着开发者可直接用 Python 操作 GPU,加速 AI 和高性能计算,降低门槛,让 Python 的应用范围更广、能力更强。 一直想写一系列文章教知友们从零开始学会 Python 编程,目…...
VPN访问SAP组服务器报登陆负载均衡错误88:无法连接到消息服务器(RC=9)
用户反馈用SAPGUI接入SAP时报错:登陆负载均衡错误88:无法连接到消息服务器(RC9) 经了解是通过VPN访问,但VPN没有放行ICMP访问,导致不能PING通,不能确认是网络问题还是什么问题。 解决方案: 1、VPN由原&am…...