AI大模型学习四:‌DeepSeek Janus-Pro 多模态理解和生成模型 本地部署指南(折腾版)

一、说明简介

DeepSeek Janus-Pro‌是一款先进的多模态理解和生成模型,旨在实现高质量的文本-图像生成与多模态理解。它是由DeepSeek团队研发的,是之前Janus模型的升级版,能够同时处理文本和图像,即可以理解图片内容,也能生成图像‌。

技术特点

  1. 双路径视觉编码设计‌:Janus-Pro采用双路径视觉编码设计,理解路径使用SigLIP-L编码器提取图像的高层语义特征,适用于问答、分类等任务;生成路径采用VQ tokenizer将图像转换为离散token序列,关注细节纹理,支持文本到图像生成‌。
  2. 统一Transformer架构‌:两种任务的特征序列通过统一的Transformer处理,实现知识融合与任务协同,同时简化模型结构‌1。
  3. 多模态对齐‌:使用真实文生图数据替代ImageNet,提升训练效率与生成质量‌。
  4. 扩展训练数据‌:新增图像字幕、表格图表等复杂场景数据,增强模型泛化能力‌。

性能表现

MMBench基准测试中,Janus-Pro得分79.2,超越LLaVAMetaMorph等模型;在GenEval测试中得分0.80,优于DALL-E 3(0.67)和Stable Diffusion 3(0.74),尤其在细节与审美质量上表现突出‌。

应用场景

Janus-Pro可以精准识别地标(如杭州西湖三潭印月)并解析文化内涵,生成符合复杂指令的图像(如特定风格插画或场景设计)‌。此外,它还能对图片进行描述、识别地标景点、识别图像中的文字,并对图片中的知识进行介绍‌。

Janus Github主页: https://github.com/deepseek-ai/Janus

二、 Janus 模型运行硬件要求

任务类型

Janus-Pro-1B

Janus-Pro-7B

图像识别

5G( 3060)

15G(4080)

图片生成

14G(4080)

40G( 3090/4090*2)

本文采用的系统是 下图免费基础型,只能图像识别7b模型,图片生成1b模型,据说1B模型效果不好,好在我们只是学习过程,好坏暂时不论

三、 janus模型下载和项目部署

1、下载源码

cd /workplace
git clone https://github.com/deepseek-ai/Janus.git
#难道关税大战,github也要干掉了,有点怀疑啊,慢的要死,我是直接上传,clone不成功
cd Janus

(base) root@VM-0-80-ubuntu:/workspace# cd Janus
(base) root@VM-0-80-ubuntu:/workspace/Janus# ls
LICENSE-CODE   generation_inference.py  janus_pro_tech_report.pdf
LICENSE-MODEL  images                   pyproject.toml
Makefile       inference.py             requirements.txt
README.md      interactivechat.py
demo           janus

 2、安装虚拟环境和依赖

conda create -n janus python=3.10
conda init
source ~/.bashrc
conda activate janus
cd /workspace/Janus
# 注意后面的点
pip install -e .
pip install flash-attn

#安装jupyter
conda install ipykernel
conda install ipywidgets
python -m ipykernel install --user --name janus --display-name "Python (janus)"

选择janus环境 

3、下载预训练模型

这里我们考虑在项目主目录下创建models文件夹,用于保存Janus-Pro-1B和7B模型权重。考虑到国 内网络环境,这里推荐直接在Modelscope上进行模型权重下载。

Janus-Pro-1B模型权重: 魔搭社区 Janus-Pro-7B模型权重: 魔搭社区

  • 安装modelscope 
pip install modelscope
  • 创建模型文件夹
mkdir -p Janus-Pro-1B
mkdir -p Janus-Pro-7B
  • 下载Janus-Pro-1B模型权重

# 下载1B模型
modelscope download --model deepseek-ai/Janus-Pro-1B --local_dir ./Janus-Pro-1B
  • 下载Janus-Pro-7B模型权重

# 下载7B模型
modelscope download --model deepseek-ai/Janus-Pro-7B --local_dir ./Janus-Pro-7B

四、Jannus本地调用流程  

1、Janus-Pro-7B模型

/workspace/Janus/Janus-Pro-7B.ipynb

创建Janus-Pro-7B.ipynb


import torch
from transformers import AutoMo
### DeepSeek Janus-Pro 本地部署教程 为了在本地环境中成功部署 DeepSeekJanus-Pro 模型,需遵循官方提供的具体步骤。首先,获取项目源码是必要的前置操作: 通过 Git 将 `Janus` 仓库克隆至本地环境以便于后续配置与开发工作开展。 ```bash git clone https://github.com/deepseek-ai/Janus.git cd Janus ``` 完成上述命令执行之后,进入到了项目的根目录下,在这里可以找到有关如何设置运行环境以及加载预训练模型的相关文档支持文件[^1]。 接着,按照官方说明准备所需的依赖项环境变量,这通常涉及到安装 Python 虚拟环境、pip 工具以及其他可能必需的软件包来满足特定本的要求。对于更详细的指导,请参阅 GitHub 上该项目页面中的 README 文件或其他辅助资料[^2]。 最后一步则是下载并加载所选大小(如7B参数量级)的预训练权重文件到指定位置,并确保一切正常运作。可以通过访问 Hugging Face 平台上的对应存储库链接来进行这一过程;例如针对较大规模本可参照如下地址:<https://huggingface.co/deepseek-ai/Janus-Pro-7B> 来获取更多信息。 #### 示例代码片段展示如何初始化已下载好的模型实例: ```python from transformers import AutoModelForCausalLM, AutoTokenizer model_name_or_path = "path_to_downloaded_model" tokenizer = AutoTokenizer.from_pretrained(model_name_or_path) model = AutoModelForCausalLM.from_pretrained(model_name_or_path) text = "Some input text here." inputs = tokenizer(text, return_tensors="pt") outputs = model.generate(**inputs) result = tokenizer.decode(outputs[0], skip_special_tokens=True) print(result) ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值