首页 > 其他分享 >Win本地运行PaliGemma

Win本地运行PaliGemma

时间:2024-07-24 08:58:53浏览次数:5  
标签:本地 Win token PaliGemma CUDA https 驱动 显卡

PaliGemma 是 Google 开发的轻量级的具有多模态功能的视觉语言模型 (VLM)。

https://ai.google.dev/gemma/docs/paligemma?hl=zh-cn

它将图片和文本作为输入,可以回答有关图片的问题并提供详细信息和上下文。

这意味着 PaliGemma 可以对图片进行更深入的分析,并提供有用的数据洞见,例如:为图片和短视频添加说明、对象检测以及读取图片中嵌入的文字。

下面是环境搭建和演示代码:

环境搭建

涉及到显卡驱动、CUDA、Python环境、PyTorch这些。

显卡驱动

我这里的3060显卡,Nvidia官方驱动会报跟Win不兼容,查看硬件id,是一个官方驱动中没有的SUBSYS:

说明:SUBSYS 代表的是显卡的子系统供应商和特定配置(通常包括具体的显卡型号和制造商的定制信息)。如果这个ID在NVIDIA的官方列表中找不到,可能是因为该显卡是某个OEM(原始设备制造商)的特别版本,或者是一个非常新的产品,或者是所谓的山寨魔改版本。

最终我是用驱动总裁来完成显卡驱动更新的。

从显卡驱动的数字签名、驱动日期等信息判断我这个是个山寨魔改的3060显卡。

非官方下载的Nvidia驱动中也才有这个驱动,比如:
https://www.driverscloud.com/en/services/GetInformationDriver/76270-0/nvidia-56070-desktop-win10-win11-64bit-international-dch-whqlexe

CUDA

注意,最新版本的PyTorch需要的CUDA版本不是最新的,我们不能安装最新的CUDA。

https://pytorch.org/get-started/locally/

所以我们不能直接下载最新版本的CUDA:
https://developer.nvidia.com/cuda-downloads

而是下载之前版本的:
https://developer.nvidia.com/cuda-toolkit-archive
从上面链接找到12.1版本的CUDA下载。

下载,完成安装后,重启后,可以用下面命令查看

# 显示 CUDA 编译器驱动的版本信息
nvcc -V

默认情况下,CUDA 安装在 C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA 目录下。

开发环境搭建

Miniconda3 提供了一个最小化的安装器,只包含 Conda(一个包和环境管理器)和 Python。这种设置允许用户自己选择安装所需的额外库,从而节省空间并避免安装不必要的包。

下载地址:
https://docs.anaconda.com/miniconda/miniconda-install/

默认会安装在下面目录:

c:\ProgramData\miniconda3

注意要把这个对应的执行目录c:\ProgramData\miniconda3\condabin放入PATH环境变量中,方便使用。

安装完成后,就是搭建环境:

conda create -n pg python=3.12
conda activate  pg
conda install pip

PyTorch

按照CUDA版本和环境选择出现的安装命令安装。

https://pytorch.org/get-started/locally/


pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu121

演示代码

导入依赖库

pip install transformers
pip install Pillow requests
  • transformers:用于加载和使用预训练的模型和处理器。
  • requests:用于从网络获取图像。
  • Pillow:用于图像处理。

下面演示了,结合图像和文本提示来生成相关的答案代码。


from transformers import AutoProcessor, PaliGemmaForConditionalGeneration,AutoConfig
import requests
from PIL import Image

access_token="your_huggingface_access_token" # 替换为你的访问令牌

model_id = "google/paligemma-3b-mix-224"

# 加载预训练的模型和相应的处理器
model = PaliGemmaForConditionalGeneration.from_pretrained(model_id,token=access_token)
processor = AutoProcessor.from_pretrained(model_id,token=access_token)

prompt = "What is on the flower?"
image_file = "https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/bee.jpg?download=true"
raw_image = Image.open(requests.get(image_file, stream=True).raw)
inputs = processor(prompt, raw_image, return_tensors="pt")

# max_new_tokens参数限制生成的最大新词数量。
output = model.generate(**inputs, max_new_tokens=20)

# skip_special_tokens=True参数用于在输出中去掉特殊令牌。
# [len(prompt):]这部分代码意在去除输出中与输入提示相同的部分,只显示模型生成的答案。
print(processor.decode(output[0], skip_special_tokens=True)[len(prompt):])
# bee

总结

从上面代码我们可以看出,PaliGemma不仅能够理解图像本身的视觉信息,还能结合相关的文本描述,提供更加丰富和精准的数据解读。

这种能力使其在各种应用场景中都显得非常有用,比如在自动化客服、智能教育、以及内容创作等领域。通过有效地结合视觉和语言信息,PaliGemma能够提供更为细致和深入的互动体验,极大地拓宽了人工智能在日常生活中的应用范围。

标签:本地,Win,token,PaliGemma,CUDA,https,驱动,显卡
From: https://www.cnblogs.com/ghj1976/p/18320023/win-ben-de-yun-xingpaligemma

相关文章

  • WIN7X64SP1极限精简版by双心
    WIN7X64SP1极限精简版by双心http://bbs.wuyou.net/forum.php?mod=viewthread&tid=405044&page=1&extra=#pid3534155http://www.cnblogs.com/liuzhaoyzz/p/7774511.htmlWIN7X64SP1极限精简版by双心 下载地址1:https://cloud.189.cn/t/UvQF73QVbURz下载地址2:链接: https://pan.ba......
  • Django 5.0:配置本地开发和生产环境?
    这个问题已经以各种形式被问过几次。然而,关于这个主题的大多数答案都有十年或更久的历史了。我的《TwoScoops》书是针对Django3.x的。我认为更新与Django5.0相关的答案和今天可用的托管选项可能会很有用。这是我回顾过的许多旧讨论之一:Django:如何管理开......
  • 如果 Python 脚本正在使用文件夹,如何在文件资源管理器中进行更改时防止 Windows 的“
    我有一个简单的脚本,显示在QTreeView中的QListView中选择的目录的内容,我想添加打开文件资源管理器的功能,以让用户编辑目录内的内容。但是,添加新的文件夹和文件可以,但删除或移动文件夹或文件会提示“文件夹正在使用”错误:此操作无法完成,因为该文件已在另一个程......
  • windows10安装过程,win7升级win10过程
    教程是win7老系统升级win101、空的u盘和一台windown操作系统的电脑准备一个u盘,提前备份盘内数据,因为制作启动盘会将u盘格式化需要一台能联网的windows操作系统的电脑用于制作系统安装盘2、浏览器搜索“下载win10安装包”也可直接点击链接 下载Windows10 3、下载之......
  • 利用Swin-Unet(Swin Transformer Unet)实现对文档图片里表格结构的识别
    项目:https://github.com/jiangnanboy/table_structure_recognition#利用Swin-Unet(SwinTransformerUnet)实现对文档图片里表格结构的识别##实现功能-[x]识别表格中的线条-[]结果转为excel##下载weights模型文件见github将模型文件放到model目录下##训练(te......
  • windows 系统下常用命令
    根据进程名称查找进程PID>tasklist|findstrchrometasklist命令详解tasklist命令显示本地计算机或远程计算机上当前正在运行的进程列表。命令结合筛选器一起使用,可以按照我们的需求进行过滤,查找我们需要了解的进程信息。tasklist替换tlist.exe工具。findstr命令详......
  • 【分享】WinRAR五大实用功能详解:让文件管理更高效
    WinRAR作为一款功能强大的压缩和解压缩工具,拥有许多实用功能。今天来分享其中的5个功能,一起来看看这些功能如何设置吧!功能一:文件压缩文件压缩是WinRAR的基本功能,通过压缩文件可以减少存储空间和传输时间。1.选择要压缩的目标文件或文件夹,右键点击并选择【添加到压缩文件.........
  • Win11系统显示缺少mfc140.dll文件怎么解决?Win11计算机找不到mfc140.dll修复方法
    在Win11计算机中,如果出现找不到mfc140.dll的情况,您无需过度担忧。这里为您提供有效的修复方法。您可以通过重新安装相关软件、更新系统、手动下载并注册该文件等方式来解决问题,让您的计算机恢复正常运行。本篇将为大家带来Win11计算机找不到mfc140.dll修复方法的内容,感兴趣的小......
  • Win11电脑显示msvcp80.dll缺失该如何应对?Win11系统找不到msvcp80.dll的解决之道
    在Win11系统中,若遭遇msvcp80.dll不见的情况,无需惊慌。这一问题存在多种有效的解决之道。您可以通过系统的自动修复功能进行尝试,也能从可靠的网站下载该文件并正确安装。或者利用系统还原点,让系统恢复到正常状态。本篇将为大家带来Win11系统找不到msvcp80.dll的解决之道的内容,感......
  • React中引入使用本地图片
    1、css样式中,可以写成如下:.login{ //映射路径background:url('@images/img-login.png');background-size:100%100%;}.box{ //相对路径background:url('../assets/images/box.png');background-size:100%100%;}2、在jsx文件中importLoginLogo1......