【DeepSeek】本地快速搭建多模态理解和文生图 Janus-Pro-7B模型

博主未授权任何人或组织机构转载博主任何原创文章,感谢各位对原创的支持!
博主链接

博客内容主要围绕:
       5G/6G协议讲解
       高级C语言讲解
       Rust语言讲解



文章目录

  • 本地快速搭建多模态理解和文生图 Janus-Pro-7B模型
    • 一、创建运行环境
    • 二、下载项目代码并安装依赖
    • 三、运行Gradio Demo

本地快速搭建多模态理解和文生图 Janus-Pro-7B模型

        Janus-Pro是一种新的自回归框架,将多模态理解和生成统一起来。它通过将视觉编码解耦到单独的路径中,同时仍然使用单一、统一的transformer架构进行处理,解决了以前方法的局限性。解耦不仅缓解了视觉编码器在理解和生成方面的角色冲突,而且增强了框架的灵活性。Janus-Pro超越了以前的统一模型,并匹配或超过特定任务模型的性能。Janus-Pro的简单性、高灵活性和有效性使其成为下一代统一多模态模型的有力候选者。

一、创建运行环境

我这边使用的是Anaconda,因此在cmd命令窗口中执行下面的命令创建一个虚拟环境:

conda create -n deepseek python=3.10 -y
conda activate deepseek

也可以使用pycharm或者miniforge

二、下载项目代码并安装依赖

运行下面的代码下载janus项目:

git clone https://github.com/deepseek-ai/Janus.git

这个项目中的requirements.txt文件中的 torch版本有问题,需要修改为更新的版本,以我这边测试为例,我使用的版本是:

torch==2.6.0+cu126 
--index-url https://download.pytorch.org/whl/cu126

transformers>=4.38.2
timm>=0.9.16
accelerate
sentencepiece
attrdict
einops

# for gradio demo
gradio==3.48.0
gradio-client==0.6.1
mdtex2html==1.3.0
pypinyin==0.50.0
tiktoken==0.5.2
tqdm==4.64.0
colorama==0.4.5
Pygments==2.12.0
markdown==3.4.1
SentencePiece==0.1.96

上面安装的版本是支持cuda 12.6 的torch版本,如果:

  • 你没有显卡,则只需要修改为 torch==2.6.0 即可;
  • 你的cuda版本和我的不一样,需要修改 torch 版本;

如何查看 cuda 版本?运行下面的命令查看:
nvidia-smi
在这里插入图片描述
如果无法执行上面的命令,需要先安装网卡驱动。

如何选择 torch 版本?

  1. 进入 https://download.pytorch.org/whl/cu<XXX>,XXX是你的cuda版本,例如我的是 CUDA 12.6,则XXX就是126,最后的地址就是 https://download.pytorch.org/whl/cu126
  2. 找到 torch 目录点进去;
  3. 然后找到 torch-<X.Y.Z>+cu126-*.whl 符合这个规则的最新版本的 torch就行。

修改好requirements.txt文件后,执行下面的命令开始安装环境:

pip install -r requirements.txt

三、运行Gradio Demo

在项目的 demo目录中,默认提供了三个模型的示例脚本,我们可以直接使用,这三个脚本对应的模型分别是:

脚本名称部署的模型
app.pydeepseek-ai/Janus-1.3B
app_janusflow.pydeepseek-ai/JanusFlow-1.3B
app_januspro.pydeepseek-ai/Janus-Pro-7B

我们这里使用 Janus-Pro-7B模型,在项目根目录运行下面的命令:

python demo/app_januspro.py

模型加载完毕之后,会提供一个本地 URL,我们将其复制到浏览器之后就可以开始使用了。

在这里插入图片描述

最后的效果就是下图所示:

在这里插入图片描述



在这里插入图片描述

### DeepSeek 多模态模型 Janus-Pro-7B 使用指南 #### 获取模型 为了使用 Janus-Pro-7B 模型,需先从指定网站下载模型文件。访问链接可获得最新版本的模型权重和其他必要资源[^2]。 ```bash # 下载命令示例(具体路径可能有所不同) wget https://huggingface.co/deepseek-ai/Janus-Pro-7B/archive/main.zip unzip main.zip -d ./janus_pro_7b/ ``` #### 安装依赖库 安装必要的 Python 库来加载并运行此多模态模型。推荐使用虚拟环境隔离项目依赖项。 ```bash pip install transformers torch accelerate safetensors ``` #### 加载预训练模型 通过 Hugging Face 的 `transformers` 库可以轻松加载已保存的模型及其配置。 ```python from transformers import AutoModelForVision2Seq, AutoProcessor model_name_or_path = "deepseek-ai/Janus-Pro-7B" processor = AutoProcessor.from_pretrained(model_name_or_path) model = AutoModelForVision2Seq.from_pretrained(model_name_or_path) ``` #### 数据准备与处理 对于输入数据,无论是文本还是像都需要经过特定方式编码成适合喂给神经网络的形式。 ```python image_url = "http://example.com/path/to/image.jpg" # 替换成实际片URL text_input = "描述这张照片的内容" inputs = processor(image=image_url, text=text_input, return_tensors="pt") ``` #### 执行推理任务 准备好所有前提条件之后就可以调用模型来进行预测了。这里展示了一个简单的例子用于说明如何执行一次前向传播操作得到输出结果。 ```python with torch.no_grad(): outputs = model.generate(**inputs) generated_text = processor.decode(outputs[0], skip_special_tokens=True) print(generated_text) ``` #### 进阶应用案例 除了基本的文字到文字转换外,Janus Pro 7B 支持更多样化的应用场景,比如基于视觉的理解能力以及跨媒体的信息成等功能[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

从善若水

原创不易,感谢支持

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值