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

【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,我们将其复制到浏览器之后就可以开始使用了。

在这里插入图片描述

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

在这里插入图片描述



在这里插入图片描述


http://www.kler.cn/a/530389.html

相关文章:

  • css三角图标
  • 使用Avalonia UI实现DataGrid
  • day6手机摄影社区,可以去苹果摄影社区学习拍摄技巧
  • MySQL不适合创建索引的11种情况
  • 完全卸载mysql server步骤
  • [EAI-028] Diffusion-VLA,能够进行多模态推理和机器人动作预测的VLA模型
  • 小程序项目-购物-首页与准备
  • 主要功能是在给定一个随机种子的情况下,计算随机傅里叶特征
  • 二分法模板
  • DeepSeek 介绍及对外国的影响
  • 【Linux系统】信号:认识信号 与 信号的产生
  • 【CS61A 2024秋】Python入门课,全过程记录P5(Week8 Inheritance开始,更新于2025/2/3)
  • WebShell分析
  • 使用 Elastic Cloud 中的异常检测来识别欺诈
  • UE5 蓝图学习计划 - Day 4:变量与函数基础
  • 5.5.1 面向对象的基本概念
  • 搜索与图论复习2最短路
  • 使用Z-score进行数据特征标准化
  • Rust 所有权特性详解
  • 谭浩强C语言程序设计(4) 8章(下)
  • Maven全解析:从基础到精通的实战指南
  • 利用DeepSeek提炼腾讯AI研究院的图景关键词——延伸畅想
  • Resnet 改进:尝试在不同位置加入Transform模块
  • LeetCode435周赛T2贪心
  • Elixir语言的安全开发
  • GWO优化LSBooST回归预测matlab