Hello, 大家新年好。

在这个春节期间最火的显然是 DeepSeek 了。据不负责统计朋友圈每天给我推送关于 DeepSeek 的文章超过20篇。打开知乎跟B站也全是 DeepSeek 相关的内容。不过大部分的内容都是关于 DeepSeek R1 推理模型有多牛逼。在这里就不多说关于 R1 的废话了,因为大家已经看腻了。

R1 在本地用 ollama 跑了一下,太简单了,都没必要写个教程。除了 R1 今天还在本地部署成功了 DeepSeek 的 Janus Pro 模型。

什么是 Janus Pro

Janus-Pro是一种创新的自回归框架,其统一了多模态理解与生成任务。该框架通过将视觉编码解耦到不同的处理路径(同时仍使用单一统一的Transformer架构进行信息处理),有效解决了先前方法的局限性。这种解耦机制不仅缓解了视觉编码器在理解与生成双重角色间的冲突,还显著提升了框架的灵活性。Janus-Pro在性能上超越了以往的统一模型,并达到甚至超越了专用任务模型的表现水平。凭借其架构简洁性、高度灵活性和卓越有效性,Janus-Pro有望成为下一代统一多模态模型的重要技术方向。

以上内容来自 Janus Pro github 仓库的介绍,非常的学术。简单说它是文生图的模型,类似 DALL-E 3, Stable Diffusion。

以下就让我们看看这么在本地的 PC 电脑来运行 Janus Pro 模型吧。

1. 安装 conda

从以下地址下载 anaconda 的 windows 安装包

https://www.anaconda.com/download

安装完成后需要把安装目录配置到环境变量 PATH 上

2. 创建 python 虚拟环境

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

注意:Python 3.10是经过验证的兼容版本,避免使用其他版本导致依赖冲突

3. 克隆 janus 仓库到本地

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

4. 安装依赖

# 安装基础依赖
pip install -e .

注意:pip 安装依赖的时候可能会遇到网络问题,建议配置代理

5. 安装 Gradio

pip install -e .[gradio]

到时候我们会通过 Gradio 的界面跟 janus 进行交互

6. 使用 janus pro 1B 模型

janus pro 默认启动的时候使用的是 7B 参数的模型,本地电脑跑起来的话太卡了。这里我们会修改成使用 1B 模型,这样的话大概 8G 的显存也能勉强跑一跑,7B 的话对显存的要求会更高。

找到我们克隆下来的仓库。使用编辑器打开 demo/

把第15行改成:

model_path = "deepseek-ai/Janus-Pro-1B"

7. 启动 Janus Pro

python demo/app_januspro.py

注意:启动期间会从 huggingface 拉取 1B 模型,大小大概 4G,所以还是需要指定代理。

启动成功后如下图:

8. 使用 Gradio 界面进行交互

启动成功后在浏览器里输入: http://127.0.0.1:7860 即可访问 Gradio 页面。

9. 图片理解

先来试试 janus pro 对图片的理解。

This image is a humorous meme that uses the popular "buff Doge vs. sad Doge" format to compare two different approaches to visual encoding.
...

这个解释到位的有点吓人。

10. 文生图

再来试试文字生成图片

prompt:

A cute and adorable baby fox with big brown eyes, autumn leaves in the background enchanting,immortal,fluffy, shiny mane,Petals,fairyism,unreal engine 5 and Octane Render,highly detailed, photorealistic, cinematic, natural colors.



图片是我从 Hugging Face 直接运行得到的。在我本地运行了30分钟都没出结果,我直接 ctrl-c 取消了。可能是我的显卡太垃圾了(RTX4060 Mobile)。

总结

以上我们在本地 windows 上成功部署了 DeepSeek janus pro 模型。按照以上 step by step 的方式也没什么难度。通过测试 janus pro 对图片的理解非常到位。但是文生图的测试失败了,可能是我的显卡太垃圾,如果有同学有 4090 这种显卡可以试一试本地文生图的性能。

本地部署 DeepSeek Janus Pro 文生图大模型的更多相关文章

  1. ArcGIS API for JavaScript 4.x 本地部署之Nginx法

    上篇ArcGIS API for JavaScript 4.x 离线配置之IIS法提到,如何用IIS配置ArcGIS jsAPI: 本篇则使用http下的Nginx配置,其原理基本一致.https的部 ...

  2. virtual judge 本地部署方案

    这是一种将自己的电脑当作服务器来部署一个vj的方法,我也是参考前辈们的做法稍作了改动,如果在服务器上部署的话需要在细节上稍作改动: 一.什么是Virtual Judge? vj的工作原理什么?  vj ...

  3. RocketMq灰皮书(二)------本地部署启动MQ

    RocketMq灰皮书(二)------本地部署启动MQ Windows10本地部署RocketMQ 在上一篇文章中,我们对rocket的几个基本概念进行了介绍,也了解了业内几大消息中间件的区别.在本 ...

  4. Exceptionless 本地部署

    免费开源分布式系统日志收集框架 Exceptionless 前两天看到了这篇文章,亲身体会了下,确实不错,按照官方的文档试了试本地部署,折腾一番后终于成功,记下心得在此,不敢独享. 本地部署官方wik ...

  5. ArcGIS API for JavaScript开发笔记(一)——ArcGIS for Javascript API 3.14本地部署

    堪称史上最详细的< ArcGIS forJavascript API 3.14本地部署>文档,有图有真相~~~ ---------环境:Windows server 2012R2,IIS ...

  6. easy-mock本地部署成功,访问报错:EADDRNOTAVAIL 0.0.0.0:7300 解决方案

    easy-mock本地部署成功后,迫不及待的想看看是否能正常访问,执行命令 npm run dev 启动项目,访问 127.0.0.1:7300 ,结果郁闷的是报错:EADDRNOTAVAIL 0.0 ...

  7. Cesium 本地部署案例

    众所周知,cesium的服务器是搭建在国外的,所以我们国内的用户访问的时候贼慢.有时想查个api或者看个案例半天都进不去,今天我来说一下傻瓜式搭建本地的cesium环境,用于大家没事查资料用!步骤:1 ...

  8. 更改Dynamics 365 Customer Engagement本地部署的高级配置

    我是微软Dynamics 365 & Power Platform方面的工程师罗勇,也是2015年7月到2018年6月连续三年Dynamics CRM/Business Solutions方面 ...

  9. Kubernetes 学习笔记(二):本地部署一个 kubernetes 集群

    前言 前面用到过的 minikube 只是一个单节点的 k8s 集群,这对于学习而言是不够的.我们需要有一个多节点集群,才能用到各种调度/监控功能.而且单节点只能是一个加引号的"集群&quo ...

  10. 本地部署 Misago Docker + 配置 HTTPS 笔记

    最近答应帮朋友做个论坛网站,想借此机会捡起 Python 在 GitHub 找了一圈,打算借用以 Python+Django 开发的 Misago 这个论坛系统 由于作者在今年更新的 Misago 0 ...

随机推荐

  1. Win10使用SSH反向隧道(端口转发)连接远程桌面

    应用场景: 如果你有Linux云主机(腾讯.华为等),且公司有一台只有内网IP (或动态IP) 的Win10工作机:你计划在家里工作时,通过家里的电脑连接公司的工作机 (且不想使用类似Teamview ...

  2. c# is 和 as 浅看重制版

    前言 当年写的比较差:https://www.cnblogs.com/aoximin/p/12965408.html,所以特来重新写一遍. 正文 首先为什么会出现is 和 as 呢? 因为是为了有需要 ...

  3. Element-Plus表格:Table自定义合并行数据的最佳实践

    " 知行合一 " -- 王阳明 在开发项目中,我们时常会用到表格,许多需求可能会要求自定义特定的行或列. 接下来,我们将探讨在实际开发中如何应对这一挑战. 本文案例采用的技术: 名 ...

  4. ARCGIS 拓扑检查步骤与修正拓扑错误技巧

    转自http://xygszsh.blog.163.com/blog/static/19221517201111831348533/,写得没有说多好,贵在详细. 将数据装载如个人地理数据库,用拓扑功能 ...

  5. electron项目icon显示异常

    前情 公司有个桌面端项目是基于Electron开发的. 坑 构建打包好的项目在桌面和任务栏上图标显示正常,但是在任务栏弹框上左上角的图标确不显示 Why? 经过反复搜索,网上有文章说如果ico图标过大 ...

  6. 鸿蒙应用开发从入门到入行 - 篇3:ArkUI布局基础与制作可交互页面

    鸿蒙应用开发从入门到入行 - 篇3:ArkUI布局基础与制作可交互页面 导读:在本篇文章里,您将掌握事件.装饰器.双向绑定等相关知识,并利用所学知识做一个待办列表的案例. 练手案例:登录界面 开始之前 ...

  7. FCM发送测试消息(控制台和postman)

    方法1 在firebase控制台新建通知 点击cloud messaging后点击新建通知 输入标题和内容,点击右边的发送测试消息,注意要在真机接收,模拟器收不到 然后添加测试令牌,测试令牌可以在ap ...

  8. blender low poly + unity 3d游戏制作

    会是一个有趣的方向,适合独立游戏制作人,独立动画电影制作人.

  9. [Blazor] 一文理清 Blazor Identity 鉴权验证

    一文理清 Blazor Identity 鉴权验证 摘要 在现代Web应用程序中,身份认证与授权是确保应用安全性和用户数据保护的关键环节.Blazor作为基于C#和.NET的前端框架,提供了丰富的身份 ...

  10. Xshell无法连接22端口问题解决办法汇总

    Xshell软件在进行远程连接过程中,会出现端口连接报错的问题,提示:"该IP地址的22端口连接失败",这是怎么回事?今天小编就xshell软件无法连接22端口的问题,整理相关情形 ...