当前位置: 首页 > news >正文

欢迎 PaliGemma 2 – 来自 Google 的新视觉语言模型

我们很高兴迎来 Google 全新的视觉语言模型 PaliGemma 2,这是 PaliGemma 的一个新版本。与其前代产品一样,PaliGemma 2 使用强大的SigLIP进行视觉处理,但在文本解码部分升级到了最新的 Gemma 2

https://hf.co/collections/google/siglip-659d5e62f0ae1a57ae0e83ba

模型规模和输入分辨率

PaliGemma 2 提供了新的预训练模型,参数规模包括 3B10B28B。所有模型均支持以下多种输入分辨率:

  • 224x224

  • 448x448

  • 896x896

这种多样化的组合为不同的使用场景提供了极大的灵活性,使实践者能够根据质量和效率需求之间的平衡进行选择。与之相比,上一代 PaliGemma 仅提供 3B 版本。

预训练和微调能力

这些预训练模型被设计为更容易适配下游任务。首个 PaliGemma 模型因其广泛适配性被社区用于多种任务。本次迭代引入了更高质量的预训练模型和更多选择,进一步增强了灵活性。

DOCQI 数据集示例

Google 此次发布了一些基于DOCCI数据集的微调模型,展现了长篇、细致和富有表现力的图像描述能力。这些微调模型提供 3B10B 两个版本,支持输入分辨率 448x448

DOCCIhttps://hf.co/datasets/google/docci

此次发布包含了所有开放的模型仓库、Transformers 框架的集成、微调脚本,以及我们基于VQAv2 数据集微调的视觉问答模型演示。这些资源为用户提供了全面的工具支持,助力探索和开发更多创新应用。

VQAv2 数据集https://hf.co/datasets/HuggingFaceM4/VQAv2


资源链接

本次发布包括开源模型库、transformers 集成、微调脚本以及视觉问答演示。以下是相关资源链接:

  • 发布合集https://hf.co/collections/google/paligemma-2-release-67500e1e1dbfdd4dee27ba48

  • 微调脚本https://github.com/merveenoyan/smol-vision/blob/main/Fine_tune_PaliGemma.ipynb

  • 微调模型演示 Demohttps://hf.co/spaces/merve/paligemma2-vqav2

  • 技术报告https://hf.co/papers/2412.03555


PaliGemma 2 介绍

PaliGemma 2 是PaliGemma 视觉语言模型的一个新迭代,由 Google 于五月发布。

PaliGemma 视觉语言模型https://hf.co/blog/paligemma

PaliGemma 2 将强大的 SigLIP 图像编码器与Gemma 2语言模型连接起来。

Gemma 2https://hf.co/blog/gemma2

adbfad40e1b9c2799cb19aa641c024d4.png
PaliGemma2 Architecture

新的模型基于 Gemma 22B9B27B 语言模型,分别对应 3B10B28B 的 PaliGemma 2 变体。这些模型的名称考虑了紧凑图像编码器的附加参数。正如上文所述,这些模型支持三种不同的分辨率,为下游任务的微调提供了很大的灵活性。

PaliGemma 2 根据 Gemma 许可证 分发,该许可证允许重新分发、商业使用、微调以及创建模型衍生品。

此版本包含以下基于 bfloat16 精度的检查点:

  • 9 个预训练模型: 3B、10B 和 28B,分辨率支持

    • 224x224

    • 448x448

    • 896x896

  • 2 个在 DOCCI 数据集上的微调模型: 基于DOCCI数据集 (图像-文本配对),支持 3B10B 的 PaliGemma 2 变体,输入分辨率为 448x448。https://hf.co/datasets/google/docci

模型能力

如同之前的 PaliGemma 发布一样,预训练 (pt) 模型在下游任务的微调中表现出色。

预训练数据集

pt 模型在以下数据混合集上进行了预训练。这些多样化的预训练数据集使模型能够在相似领域的下游任务中使用更少的示例进行微调。

  • WebLI: 一个基于公共网络构建的大规模多语言图像 - 文本数据集。WebLI 数据集的多样化分割使模型具备了多方面的能力,如视觉语义理解、物体定位、视觉文本理解和多语言能力。

  • CC3M-35L: 从网页上精心挑选的英语图像 - 替代文本数据集 (Sharma et al., 2018)。数据集的标签通过Google Cloud Translation API翻译成了 34 种额外的语言。https://aclanthology.org/P18-1238/https://cloud.google.com/translate

  • Visual Question Generation with Question Answering Validation (VQ2A): 一个改进的问题回答数据集。该数据集也被翻译成了相同的 34 种语言,使用了 Google Cloud Translation API。

  • OpenImages: 检测和物体感知的问答数据集 (Piergiovanni et al., 2022),通过手动规则生成,基于OpenImages 数据集。https://storage.googleapis.com/openimages/web/factsfigures_v7.html

  • WIT: 从 Wikipedia 收集的图像和文本数据集 (Srinivasan et al., 2021)。


微调模型与基准测试

PaliGemma 2 团队在多种视觉语言理解任务上对 PT 模型进行了内部微调,并提供了这些微调模型的基准测试结果。详细信息可以在模型卡和技术报告中找到。

  • 模型卡https://hf.co/google/paligemma2-28b-pt-896#paligemma-2-results-by-model-resolution-and-size

  • 技术报告https://hf.co/papers/2412.03555

PaliGemma 2 基于 DOCQI 数据集 微调,可以实现多种图像描述任务,包括文本渲染、捕捉空间关系以及包含世界知识的描述。


性能比较

以下表格展示了 DOCQI 微调模型与其他模型的性能对比 (数据来自技术报告中的 Table 6):

技术报告https://hf.co/papers/2412.03555

模型参数量字符数 (#char)句子数 (#sent)NES ↓
MiniGPT-47B4845.652.3
mPLUG-Owl28B4594.448.4
InstructBLIP7B5104.042.6
LLAVA-1.57B3954.240.6
VILA7B8718.628.6
PaliGemma3B5358.934.3
PaLI-5B5B106511.332.9
PaliGemma 23B5297.728.4
PaliGemma 210B5217.520.3

指标说明:

  • #char: 生成的描述中平均字符数。

  • #sent: 平均句子数。

  • NES: 非蕴含句子数 (数值越低越好),用于衡量事实不准确性。

您可以在下面找到 DOCQI 检查点的部分模型输出,展示模型的多样性和灵活性。

Input ImageCaption
6599f332cfcc381190f4ca8c63349400.jpeg折线图展示了 ImageNet 模型在微调后的 Top-1 准确率表现。图中有四条不同颜色的线条: 蓝色、橙色、绿色和黑色。蓝色线条是四条线中最低的一条 ,它代表了表现最差的模型结果。
ba6ca6f22ca2f2832a4ac14659df2bd6.jpeg一张白纸的特写镜头,上面用黑色的文字打印着内容。纸张中间稍微弯曲,文字使用打字机字体呈现。纸张顶部写着 "Ashley Hotel West Coast",其下是 "WiFi Internet Service"。再下面是 "Username: fqpp",最后是 "Password: aaeu"。
2db3cc540bf10e5b4c18a8bb9eea0ae4.jpeg一幅描绘大卫·鲍伊“Ziggy Stardust”造型的壁画被画在一面白墙上。壁画展示了三张并排的面孔,每张都有红色的头发,眼睛上画着蓝色的闪电图案。面孔的妆容包括蓝色眼影、粉红色腮红和红色嘴唇。中间的面孔上方有一个黑色的方形窗口,窗口内用白色文字写着 "JAM",字体为蓝色。画面的一侧停着一辆银色汽车。
98d3c8a9ba28ff7ab7f3b1adc6cc7b55.jpeg从上方俯瞰一张白色大理石台面,台面上放着四个咖啡杯。左边有两个灰色的杯子,左下角有一个白色的杯子,右侧则是另一个灰色的杯子。右上角放着一个带木质底座的金属水果篮,里面装满了橙子。左边还有一个装有水的透明玻璃水壶,画面中仅显示了部分内容。
41d75b63681d0ee00e8c554ca2365c26.jpeg一张白色书本的特写,上半部分是白色区域,底部有一条蓝色条纹。白色部分印有黑色文字,内容为: "Visual Concept Learning from User-tagged Web Video" 。黑色文字下方有一个白色框,框内包含五张小图片。最左边的图片是一名站在草地中的人,右侧紧接的是一张蓝色海洋的图片。

演示

为了演示效果,Hugging Face 团队对 PaliGemma 2 3B 模型进行了微调,输入分辨率为 448x448,数据集使用的是 VQAv2 的一小部分。我们采用了 LoRA 微调PEFT 方法,具体细节将在微调部分进行讲解。

下面的演示展示了最终结果。您可以自由查看 Space 中的代码了解其工作原理,或者克隆代码以适配您的自定义微调需求。

outside_default.png

如何与 Transformers 一起使用

您可以使用 🤗 Transformers 库对 PaliGemma 2 模型进行推理,通过 PaliGemmaForConditionalGenerationAutoProcessor APIs 实现操作。请确保您安装的 Transformers 版本为 4.47 或更高:

pip install transformers>=4.47

在安装完成后,您可以按照以下示例运行推理。同样重要的是,请确保遵循用于训练模型的任务提示格式,以获得最佳效果:

from transformers import AutoProcessor, PaliGemmaForConditionalGeneration
from PIL import Image
import requestsmodel_id = "google/paligemma2-10b-ft-docci-448"
model = PaliGemmaForConditionalGeneration.from_pretrained(model_id)
model = model.to("cuda")
processor = AutoProcessor.from_pretrained(model_id)prompt = "<image>caption en"
image_file = "https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/cats.png"
raw_image = Image.open(requests.get(image_file, stream=True).raw).convert("RGB")inputs = processor(prompt, raw_image, return_tensors="pt").to("cuda")
output = model.generate(**inputs, max_new_tokens=200)input_len = inputs["input_ids"].shape[-1]
print(processor.decode(output[0][input_len:], skip_special_tokens=True))
# A medium shot of two cats laying on a pile of brown fishing nets. The cat in the foreground is a gray tabby cat with white on its chest and paws. The cat is laying on its side with its head facing the bottom right corner of the image. The cat in the background is laying on its side with its head facing the top left corner of the image. The cat's body is curled up, its head is slightly turned to the right, and its front paws are tucked underneath its body. There is a teal rope hanging from the fishing net in the top right corner of the image.

您还可以使用 transformers 集成中的 bitsandbytes 来加载具有量化的模型。以下示例使用了 4-bit nf4 :

from transformers import BitsAndBytesConfigbnb_config = BitsAndBytesConfig(load_in_4bit=True,bnb_4bit_quant_type="nf4",bnb_4bit_compute_dtype=torch.bfloat16
)
model = PaligemmaForConditionalGeneration.from_pretrained(model_id,quantization_config=bnb_config,device_map={"":0}
)

我们快速测试了量化对性能的影响,通过评估一个 3B 微调检查点在textvqa数据集上的表现,使用 224x224 输入图像。这是我们在 5,000 个验证集条目上获得的结果:https://hf.co/datasets/lmms-lab/textvqa

  • bfloat16,无量化: 60.04% 准确率。

  • 8-bit: 59.78%

  • 4-bit,使用上面代码片段中的配置: 58.72%

这些结果非常鼓舞人心!当然,量化对于更大的检查点更有意义,我们建议您始终在您所使用的领域和任务上测量结果。

微调

如果您之前已经微调过 PaliGemma,那么用于微调 PaliGemma 2 的 API 是相同的,您可以直接使用现有代码。我们提供了微调脚本和一个notebook来帮助您微调模型,冻结模型部分参数,或应用内存高效的微调技术,如 LoRAQLoRA

  • 微调脚本https://github.com/merveenoyan/smol-vision/blob/main/paligemma.py

  • notebookhttps://github.com/merveenoyan/smol-vision/blob/main/Fine_tune_PaliGemma.ipynb

我们使用 LoRA 对 PaliGemma 2 模型在 VQAv2 验证集的一半进行了微调,以供演示。这项任务使用了 3 块 A100 显卡 (80GB VRAM),耗时半小时。

您可以在这里找到模型,此外这个 Gradio 演示展示了模型的效果。

  • 模型地址https://hf.co/merve/paligemma2-3b-vqav2

  • Gradio 演示链接https://hf.co/spaces/merve/paligemma2-vqav2

结论

新发布的 PaliGemma 2 比之前的版本更加令人兴奋,具有不同的规模以满足各种需求,并提供更强大的预训练模型。我们期待看到社区能够构建出什么样的成果!

我们感谢 Google 团队发布了这一令人惊叹且开放的模型系列。特别感谢Pablo Montalvo将模型集成到 Transformers 中,以及Lysandre、Raushan、Arthur、Yieh-Dar和团队其他成员的努力,他们迅速完成了模型的评审、测试和合并工作。

  • Pablo Montalvohttps://hf.co/Molbap

  • Lysandrehttps://hf.co/lysandre

  • Raushanhttps://hf.co/RaushanTurganbay

  • Arthurhttps://hf.co/ArthurZ

  • Yieh-Darhttps://hf.co/ydshieh

资源

  • 发布合集https://hf.co/collections/google/paligemma-2-release-67500e1e1dbfdd4dee27ba48

  • PaliGemma 博客文章https://hf.co/blog/paligemma

  • 微调脚本https://github.com/merveenoyan/smol-vision/blob/main/Fine_tune_PaliGemma.ipynb

  • 在 VQAv2 上微调模型https://hf.co/merve/paligemma2-3b-vqav2

  • 微调模型演示https://hf.co/spaces/merve/paligemma2-vqav2

  • 技术报告https://hf.co/papers/2412.03555


英文原文:https://hf.co/blog/paligemma2

原文作者: Merve Noyan, Andreas P. Steiner, Pedro Cuenca, Aritra Roy Gosthipaty

译者: xiaodouzi666

相关文章:

欢迎 PaliGemma 2 – 来自 Google 的新视觉语言模型

我们很高兴迎来 Google 全新的视觉语言模型 PaliGemma 2&#xff0c;这是 PaliGemma 的一个新版本。与其前代产品一样&#xff0c;PaliGemma 2 使用强大的SigLIP进行视觉处理&#xff0c;但在文本解码部分升级到了最新的 Gemma 2。 https://hf.co/collections/google/siglip-65…...

C++ List(双向链表)

是一个线性链表结构&#xff0c;它的数据由若干个节点构成&#xff0c;每一个节点都包括一个 信息块&#xff08;即实际存储的数据&#xff09;、一个前驱指针和一个后驱指针。它无需分配指定 的内存大小且可以任意伸缩&#xff0c;这是因为它存储在非连续的内存空间中&#…...

pip使用方法

1. 安装包&#xff1a; pip install &#xff1a;安装指定的 Python 包。 pip install &#xff1a;安装特定版本的 Python 包。 pip install -r requirements.txt&#xff1a;从文件中读取依赖列表并安装所有列出的包。 pip install --pre &#xff1a;允许安装预发布或开发版…...

websocket再项目中的使用

WebSocket在项目中的使用‌主要包括以下几个方面&#xff1a; ‌WebSocket的基本概念和原理‌&#xff1a; ‌定义‌&#xff1a;WebSocket是一种基于TCP的协议&#xff0c;实现了浏览器与服务器之间的全双工通信。它通过HTTP/1.1协议的101状态码进行握手&#xff0c;建立连接‌…...

C语言:指针2(指针变量指向数组)

通过指针引用数组元素 引用一个数组元素&#xff0c;可以用&#xff1a; ① 下标法&#xff1a;如 a[i] 形式。 ② 指针法&#xff1a;如 *(ai) 或者 *(pi) 。其中a是数组名&#xff0c;p是指向数组元素的指针变量&#xff0c;其初值&#xff1a;p a; 案例 需求&#xff1a;…...

心觉:一个人的关注点,决定了他的成长速度

Hi&#xff0c;我是心觉&#xff0c;带你用潜意识化解各种焦虑、内耗&#xff0c;建立无敌自信&#xff1b;教你财富精准显化的实操方法&#xff1b;关注我,伴你一路成长&#xff01; 每日一省写作265/1000天 在生活和工作中&#xff0c;我们经常会进入一个矛盾&#xff1a;总是…...

【Websokect】服务器https协议下ws连接失败问题及解决办法

在服务器使用HTTPS协议下连接WebSocket时&#xff0c;通常会出现一些常见的问题导致连接失败。以下是一些可能的原因和解决办法&#xff1a; SSL证书配置问题&#xff1a; 确保您的服务器上已正确配置SSL证书&#xff0c;并且证书有效。如果证书配置不正确或者过期&#xff0c;…...

Python 助力 DBA:高效批量管理数据库服务器的多线程解决方案-多库查询汇总工具实现

批量数据库服务器连接测试与数据汇总&#xff1a;Python实现方案 作为数据库服务器运维人员&#xff0c;我们经常需要面对大量服务器的连接测试和数据汇总工作。本文将介绍一个使用Python实现的高效解决方案&#xff0c;可以帮助我们快速完成这些任务。 需求概述 从配置文件…...

如何在繁忙的生活中找到自己的节奏?

目录 一、理解生活节奏的重要性 二、分析当前生活节奏 1. 时间分配 2. 心理状态 3. 身体状况 4. 生活习惯 1. 快慢适中 2. 张弛结合 3. 与目标相符 三、掌握调整生活节奏的策略 1. 设定优先级 2. 合理规划时间 3. 学会拒绝与取舍 4. 保持健康的生活方式 5. 留出…...

uniapp blob格式转换为video .mp4文件使用ffmpeg工具

前言 介绍一下这三种对象使用场景 您前端一旦涉及到文件或图片上传Q到服务器&#xff0c;就势必离不了 Blob/File /base64 三种主流的类型它们之间 互转 也成了常态 Blob - FileBlob -Base64Base64 - BlobFile-Base64Base64 _ File uniapp 上传文件 现在已获取到了blob格式的…...

SQLite建表语句示例(含所有数据类型、索引、自增主键、唯一索引)

下面是一个示例&#xff0c;展示如何创建一个用户信息表。 包含 SQLite 支持的所有数据类型&#xff0c;同时设置主键为自增、一个字段为唯一索引&#xff0c;以及另一个字段为普通索引&#xff1a; -- 创建用户信息表 CREATE TABLE user_info (id INTEGER PRIMARY KEY AUTOI…...

vue常用的一些指令整理

在 Vue.js 中&#xff0c;指令&#xff08;Directives&#xff09;是特殊的 HTML 属性&#xff0c;用于在模板中绑定行为。Vue 提供了许多内置指令&#xff0c;你也可以定义自定义指令。以下是指令的分类和常用用法&#xff1a; 1. 内置指令 v-bind 用于动态绑定属性或特性。…...

SSM 搭台,Vue 唱戏:新锐台球厅管理系统的设计与实现盛宴

2相关技术 2.1 MYSQL数据库 MySQL是一个真正的多用户、多线程SQL数据库服务器。 是基于SQL的客户/服务器模式的关系数据库管理系统&#xff0c;它的有点有有功能强大、使用简单、管理方便、安全可靠性高、运行速度快、多线程、跨平台性、完全网络化、稳定性等&#xff0c;非常适…...

#C01L10P01. C01.L10.双重循环、多重循环程序设计.双重循环

双重循环格式&#xff1a; for(循环条件1){语句1&#xff1b;for(循环条件2){语句2&#xff1b;} }...

实现某海外大型车企(T)Cabin Wi-Fi 需求的概述 - 3

大家好&#xff0c;我是Q&#xff0c;邮箱&#xff1a;1042484520qq.com。 今天我们在上一讲的基础上再扩展下 Cabin Wi-Fi 的功能需求&#xff0c;讲讲如何判断 5G TCU 系统中的路由关系。 参考&#xff1a; 实现某海外大型车企&#xff08;T&#xff09;Cabin Wi-Fi 需求的概…...

Python+OpenCV系列:AI看图识人、识车、识万物

在人工智能风靡全球的今天&#xff0c;用 Python 和 OpenCV 结合机器学习实现物体识别&#xff0c;不仅是酷炫技能&#xff0c;更是掌握未来的敲门砖。本篇博文手把手教你如何通过摄像头或图片输入&#xff0c;识别人、动物、车辆及其他物品&#xff0c;让你的程序瞬间具备 AI …...

全排列..

本节通过对一个全排列的实例,帮助对深度优先算法的理解. 问题描述: 给定一个集合,实现集合中的元素重排列 思路解析: 按照全排列的常规思维,执行过程如下:先确定第一位,将已经确定的元素放入一个数组中,再用一个循环对剩余数组进行全排列.在对剩余数组进行全排列时,就是递归执…...

用户体验与SEO的结合:如何优化网站以提升谷歌排名?

在SEO领域&#xff0c;算法、关键词和技术手段固然重要&#xff0c;但归根结底&#xff0c;谷歌的核心理念是提供最优质的用户体验。无论算法如何变化&#xff0c;用户体验始终是影响谷歌排名的重要因素之一。一个友好、直观的网站不仅能留住用户&#xff0c;还能直接提升搜索引…...

[计算机网络]ARP协议的故事:小明找小红的奇妙旅程

1.ARP小故事 在一个繁忙的网络世界中&#xff0c;每个设备都有自己的身份标识——MAC地址&#xff0c;就像每个人的身份证号码一样。在这个故事里&#xff0c;我们的主角小明&#xff08;主机&#xff09;需要找到小红&#xff08;目标主机&#xff09;的MAC地址&#xff0c;才…...

http的MIME类型

在 HTTP 协议中&#xff0c;MIME 类型&#xff08;Multipurpose Internet Mail Extensions&#xff09;用于描述传输内容的类型和格式。MIME 类型通过 Content-Type 头字段来指定&#xff0c;告知客户端如何处理和显示接收到的数据。 常见的 MIME 类型 以下是一些常见的 MIME…...

【数字信号处理】数字信号处理试题及答案,离散序列,Z变换,傅里叶变换

关注作者了解更多 我的其他CSDN专栏 过程控制系统 工程测试技术 虚拟仪器技术 可编程控制器 工业现场总线 数字图像处理 智能控制 传感器技术 嵌入式系统 复变函数与积分变换 单片机原理 线性代数 大学物理 热工与工程流体力学 数字信号处理 光电融合集成电路…...

信号槽【QT】

文章目录 对象树字符集信号槽QT坐标系信号与槽connect自定义槽自定义信号disconnect 对象树 #ifndef MYLABEL_H #define MYLABEL_H#include<QLabel> class MyLabel : public QLabel { public:// 构造函数使用带 QWidget* 版本的.// 确保对象能够加到对象树上MyLabel(QWi…...

【JAVA】JAVA接口公共返回体ResponseData封装

一、JAVA接口公共返回体ResponseData封装&#xff0c;使用泛型的经典 例子 public class ResponseData<T> implements Serializable { /** * */ private static final long serialVersionUID 7098362967623367826L; /** * 响应状态码 */ …...

如何评估并持续优化AI呼出机器人的使用效果

如何评估并持续优化AI呼出机器人的使用效果 作者&#xff1a;开源呼叫中心FreeIPCC 随着人工智能技术的发展&#xff0c;AI呼出机器人在企业中的应用越来越广泛。这些智能系统不仅提高了工作效率、降低了成本&#xff0c;还改善了客户体验。然而&#xff0c;要确保AI呼出机器…...

SQL注入漏洞详解

SQL注入是一种常见且十分严重的安全漏洞。它利用应用程序对用户输入的验证不充分&#xff0c;从而导致恶意的SQL查询被执行&#xff0c;可能导致数据泄露、篡改、甚至系统被攻陷。本文将详细解析SQL注入攻击的原理&#xff0c;举例说明其实现过程&#xff0c;并提供多种防范方案…...

爬虫逆向学习(十四):分享一下某数通用破解服务开发经验

阅前须知 这篇博客不是教大家怎么实现的&#xff0c;而且告知大家有这个东西&#xff0c;或者说一种趋势&#xff0c;借此分享自己大致的实现经验。具体的实现我也不好整理&#xff0c;毕竟是在别人的基础上缝缝补补。 前言 使用补环境方式破解过某数的同学都知道&#xff0…...

同步升压芯片-FP6276BXR-G1不能工作的原因

电源管理芯片FP6276BXR-G1是一个升压稳压电源&#xff0c;我用来把一节锂电池升压到5V电源 这个芯片是一个神奇的芯片&#xff0c;为什么专门拉出来写一篇文章呢&#xff0c;就是焊接好后&#xff0c;发现点不亮&#xff0c;这个就糟糕了。 这个是网友 memoff的一张图&#…...

Iris简单实现Go web服务器

package mainimport ("github.com/kataras/iris" )func main() {app : iris.New() // 实例一个iris对象//配置路由app.Get("/", func(ctx iris.Context) {ctx.WriteString("Hello Iris")})app.Get("/aa", func(ctx iris.Context) {ct…...

基于Spring Boot的营销项目系统

一、系统背景与意义 随着互联网技术的飞速发展&#xff0c;电子商务已成为现代商业活动的重要组成部分&#xff0c;深刻改变了人们的购物习惯和消费模式。然而&#xff0c;面对日益激烈的市场竞争和消费者需求的多样化&#xff0c;传统的电商管理系统往往存在功能单一、数据处…...

百度飞桨:零基础入门深度学习

目录 前言一、概念&#xff1a;机器学习&深度学习1. 机器学习2. 深度学习 二、实操&#xff1a;波士顿房价预测任务1. 线性回归模型2. 线性回归模型的神经网络结构3. 数据处理4. 模型设计5. 训练配置6. 训练过程6.1. 梯度下降法6.2. 计算梯度6.3. 使用Numpy进行梯度计算6.4…...

架构信息收集(小迪网络安全笔记~

附&#xff1a;完整笔记目录~ ps&#xff1a;本人小白&#xff0c;笔记均在个人理解基础上整理&#xff0c;若有错误欢迎指正&#xff01; 2.2 架构信息收集 引子&#xff1a;一个Web应用的构成&#xff0c;由诸多组件&服务相结合&#xff0c;而域名仅是处于Web架构中最表…...

【Python】pandas库---数据分析

大学毕业那年&#xff0c;你成了社会底层群众里&#xff0c;受教育程度最高的一批人。 前言 这是我自己学习Python的第四篇博客总结。后期我会继续把Python学习笔记开源至博客上。 上一期笔记有关Python的NumPy数据分析&#xff0c;没看过的同学可以去看看&#xff1a;【Pyt…...

天猫魔盒M17/M17S_超级UI 线刷固件包-可救砖(刷机取消双勾)

在智能电视盒子的领域中&#xff0c;天猫魔盒 M17 以其独特魅力占据一席之地&#xff0c;然而&#xff0c;原厂设置有时难以满足进阶用户的多元需求。此刻&#xff0c;刷机成为开启全新体验的关键钥匙&#xff0c;为您的盒子注入鲜活能量。 一、卓越固件特性概览 此款精心打造的…...

【Flink-scala】DataStream编程模型之延迟数据处理

DataStream API编程模型 1.【Flink-Scala】DataStream编程模型之数据源、数据转换、数据输出 2.【Flink-scala】DataStream编程模型之 窗口的划分-时间概念-窗口计算程序 3.【Flink-scala】DataStream编程模型之水位线 4.【Flink-scala】DataStream编程模型之窗口计算-触发器-…...

samout llm解码 幻觉更低更稳定

这段代码定义了一个简单的对话生成系统&#xff0c;包括模型加载、词汇表加载、以及基于给定提示生成文本的功能。下面是对代码的解析&#xff1a; load_model_and_voc(device"cpu"): 该函数用于加载预训练的模型和词汇表&#xff08;vocabulary&#xff09;。它首先…...

python学opencv|读取图像(十六)修改HSV图像HSV值

【1】引言 前序学习进程中&#xff0c;我们已经掌握了对HSV通道和BGR通道的拆分和合并&#xff0c;并通过自由组合的形式&#xff0c;获得了和初始图像完全不一样的新图像&#xff0c;相关文章可以参考下述链接&#xff1a; python学opencv|读取图像&#xff08;十四&#xf…...

nginx自定义错误页面

一、Nginx 自定义错误页面笔记 error_page 指令 语法&#xff1a;error_page error_code [|answer-code] uri;作用&#xff1a;用于定义当特定的 HTTP 错误发生时&#xff0c;Nginx 应该返回给客户端的自定义页面。error_code 是需要自定义页面的 HTTP 错误码&#xff0c;例如 …...

通过枚举值调用函数

在做业务的时候&#xff0c;需要根据前端传递的不同枚举参数&#xff08;比如说0&#xff0c;1&#xff09;返回对应固定的值。但是这个值需要根据时间又有所变化。我们可以使用if-else去实现对应的逻辑&#xff0c;比如说&#xff0c;当前端传递参数为0是&#xff0c;需要返回…...

[手机Linux] 六,ubuntu18.04私有网盘(NextCloud)安装

一&#xff0c;LNMP介绍 LNMP一键安装包是一个用Linux Shell编写的可以为CentOS/RHEL/Fedora/Debian/Ubuntu/Raspbian/Deepin/Alibaba/Amazon/Mint/Oracle/Rocky/Alma/Kali/UOS/银河麒麟/openEuler/Anolis OS Linux VPS或独立主机安装LNMP(Nginx/MySQL/PHP)、LNMPA(Nginx/MySQ…...

powershell(1)

免责声明 学习视频来自 B 站up主泷羽sec&#xff0c;如涉及侵权马上删除文章。 笔记的只是方便各位师傅学习知识&#xff0c;以下代码、网站只涉及学习内容&#xff0c;其他的都与本人无关&#xff0c;切莫逾越法律红线&#xff0c;否则后果自负。 泷羽sec官网&#xff1a;http…...

Message Processing With Spring Integration高级应用:自定义消息通道与端点

一、Spring Integration 简介 Spring Integration 是 Spring 框架的扩展&#xff0c;支持企业集成模式&#xff08;EIP&#xff09;&#xff0c;提供轻量级的消息处理功能&#xff0c;帮助开发者构建可维护、可测试的企业集成解决方案。 核心目标&#xff1a; 提供简单的模型…...

CUDA从入门到精通(六)——CUDA编程模型(二)

1. 核函数类型限定符 CUDA 核函数的常用函数类型限定符及其相关信息的表格&#xff1a; 限定符执行端调用方式备注__global__设备端&#xff08;GPU&#xff09;从主机代码使用 <<<...>>> 调用核函数用于声明核函数&#xff0c;在 GPU 上执行。只能从主机代…...

*【每日一题 基础题】 [蓝桥杯 2023 省 B] 飞机降落

题目描述 N 架飞机准备降落到某个只有一条跑道的机场。其中第 i 架飞机在 Ti 时刻到达机场上空&#xff0c;到达时它的剩余油料还可以继续盘旋 Di 个单位时间&#xff0c;即它最早可以于 Ti 时刻开始降落&#xff0c;最晚可以于 Ti Di 时刻开始降落。降落过程需要 Li个单位时间…...

作业Day4: 链表函数封装 ; 思维导图

目录 作业&#xff1a;实现链表剩下的操作&#xff1a; 任意位置删除 按位置修改 按值查找返回地址 反转 销毁 运行结果 思维导图 作业&#xff1a;实现链表剩下的操作&#xff1a; 1>任意位置删除 2>按位置修改 3>按值查找返回地址 4>反转 5>销毁 任意…...

线性规划中的几种逻辑表达式

线性规划中的几种逻辑表达式 注意&#xff1a; 摘录字刘博士的《数学建模与数学规划》&#xff0c; 以便用时可查。 实际上Gurobi API 中自身放啊变的逻辑表达式函数&#xff0c;下面列出自定义的实现方式。 1 逻辑与 如果 x 1 1 x_1 1 x1​1, x 2 1 x_2 1 x2​1, 那…...

NX二次开发通过内部函数获取面的面积MW_face_ask_area

获取动态库libmold.dll的路径 void TcharToChar(const TCHAR* tchar, char* _char) {int iLength; #if UNICODE//获取字节长度 iLength WideCharToMultiByte(CP_ACP, 0, tchar, -1, NULL, 0, NULL, NULL);//将tchar值赋给_char WideCharToMultiByte(CP_ACP, 0, tchar, -…...

初学stm32 ——— 串口通信

目录 STM32的串口通信接口 UART异步通信方式特点&#xff1a; 串口通信过程 STM32串口异步通信需要定义的参数: USART框图&#xff1a; 常用的串口相关寄存器 串口操作相关库函数 ​编辑 串口配置的一般步骤 STM32的串口通信接口 UART&#xff1a;通用异步收发器USART&am…...

分割双声道音频-Audacity和ffmpeg

双声道音频资源&#xff1a; https://download.csdn.net/download/yudelian/90135217 1、ffmpeg分割双声道音频 ffmpeg -i input.wav -map_channel 0.0.0 left.wav -map_channel 0.0.1 right.wav 2、audacity分割双生音频并且播放 选择分离立体声轨 可以看出分离出了两个音频…...

在 Spring Boot 3 中实现基于角色的访问控制

基于角色的访问控制 (RBAC) 是一种有价值的访问控制模型,可增强安全性、简化访问管理并提高效率。它在管理资源访问对安全和运营至关重要的复杂环境中尤其有益。 我们将做什么 我们有一个包含公共路由和受限路由的 Web API。受限路由需要数据库中用户的有效 JWT。 现在用户…...

MySQL追梦旅途之慢查询分析建议

一、找到慢查询 查询是否开启慢查询记录 show variables like "%slow%";log_slow_admin_statements&#xff1a; 决定是否将慢管理语句&#xff08;如 ALTER TABLE 等&#xff09;记录到慢查询日志中。 log_slow_extra &#xff1a; MySQL 和 MariaDB 中的一个系…...