人人都能上手部署DeepSeek模型:Janus-Pro香橙派开发板实践指南
人人都能上手部署DeepSeek模型:Janus-Pro香橙派开发板实践指南
前序
2025 年春节,AI 领域再掀波澜!DeepSeek的Janus-Pro模型横空出世,以创新的双路径架构以及强大的多模态交互能力,引发业界广泛关注。
为了让更多开发者能够快速上手,我们基于MindSpore AI框架和MindSpore NLP套件在香橙派AI pro(20T)24G开发板上,部署了DeepSeek-Janus-Pro 模型,希望通过我们的努力,能够为 AI 社区的发展贡献一份力量,让更多人能够参与到 AI 的浪潮中来,以下是详细的DeepSeek-Janus-Pro部署教程。
开源链接:
https://gitee.com/mindspore-lab/mindnlp.git
https://github.com/mindspore-lab/mindnlp.git
前期准备
硬件、软件环境要求
硬件:
Orange Pi AIpro(20T)开发板一个、鼠标、键盘、显示屏、网线、电源线。
软件环境

步骤一:烧录镜像
1、下载镜像
注意,不同型号的香橙派开发板使用的镜像不同,因此需要专门针对Orange Pi AIpro(20T)烧录镜像。
首先,从官网获取20T开发版镜像,镜像地址:http://www.orangepi.cn/html/hardWare/computerAndMicrocontrollers/service-and-support/Orange-Pi-AIpro%2820T%29.html
进入后可以看到有Ubuntu和openEuler两个镜像环境,本次教程用Ubuntu镜像作为示例:

点击“下载”,进入百度网盘,依次选择“Ubuntu"、"opiaipro_20t_ubuntu22.04_desktop_aarch64_20240924.img.xz",进行下载。

2、烧录镜像
然后准备一张至少64G大小的SD卡,将SD卡插入读卡器中,打开镜像烧录软件balenaEtcher(请使用1.18版本,并使用管理员身份运行)如图所示。

选择好镜像文件和SD卡之后,就可以开始烧录了,烧录之后会显示烧录成功。
步骤二:开发板启动与连接
1、开发板连接
我们将烧录好的SD卡插入到香橙派卡槽当中,并启动开发板(开发板事先要连接显示屏、键盘和鼠标。开发板连接可以参考官方资料中的“用户手册”http://www.orangepi.cn/html/hardWare/computerAndMicrocontrollers/service-and-support/Orange-Pi-AIpro(20T).html)。
开发板启动后,开发板支持多种连接方式,如串口连接、网线连接等,请参考用户手册的2.9、3.5、3.6节,如下图所示,选择其中的一种方式连接开发板。


2、设置swap
登录开发板后请参考3.18节设置swap内存为24G。

环境配置
01
CANN升级
1、CANN包下载
镜像中预装的是CANN 7.0,需要对CANN版本进行升级。
在开发板系统中,进入官网(https://www.hiascend.com/developer/download/community/result?module=cann&cann=8.0.RC3.alpha002),按照下图中的标注进行筛选。

分别下载:
Ascend-cann-toolkit_8.0.RC3.alpha002_linux-aarch64.run和Ascend-cann-kernels-310b_8.0.RC3.alpha002_linux.run。
2、CANN包安装
下载完成后进入下载目录,如果你是使用浏览器下载,默认在~/Downloads目录下,在终端中依次执行(#后内容为注释):


sudo su #下面会要求输入密码,默认为Mind@123,输入的时候不会显示键入的字符, 输入完成后进入root用户
此时用户切换为root用户,终端提示变为root:

运行下面命令授予下载的两个安装包运行权限:
chmod +x Ascend*
运行下面命令安装toolkit包,安装约需要10分钟,请耐心等待:
./Ascend-cann-toolkit_8.0.RC3.alpha002_linux-aarch64.run --install
按照提示键入'Y'。
运行下面命令安装kernels包,安装约需要10分钟,请耐心等待:
./Ascend-cann-kernels-310b_8.0.RC3.alpha002_linux.run --install
按照提示键入'Y'。
kernels安装完成后请运行以下命令:
ls /usr/local/Ascend/ascend-toolkit/latest/opp/built-in/op_impl/ai_core/tbe/kernel/
将会输出下面内容:

如果输出不正确需要重新安装CANN。
安装完成后终端执行:
exit
退出root用户,此时终端又变回:

运行下面命令设置环境变量(当前用户需要为HwHiAiUser):
echo "source /usr/local/Ascend/ascend-toolkit/set_env.sh" >> ~/.bashrc
source ~/.bashrc
02
MindSpore安装
1、依赖包安装
我们需要安装2.4.10版本的MindSpore,在安装MindSpore之前需要安装MindSpore依赖包,在终端中运行:
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
pip install sympy
pip install /usr/local/Ascend/ascend-toolkit/latest/lib64/te-*-py3-none-any.whl
pip install /usr/local/Ascend/ascend-toolkit/latest/lib64/hccl-*-py3-none-any.whl
2、MindSpore安装
安装完成后开始安装MindSpore2.4.10版本,进入MindSpore官网:https://www.mindspore.cn/。

选择对应的MindSpore、Python、CANN版本(本次安装配置和截图一致)。然后将安装命令复制到命令行执行即可。
3、验证是否安装成功
MindSpore安装完成后,执行下面命令验证是否安装成功。
python -c "import mindspore;mindspore.set_context(device_target='Ascend');mindspore.run_check()"
应输出如下结果:

03 安装MindSpore NLP
请注意以下所有命令均在HwHiAiUser用户下运行。
首先下载MindSpore NLP的代码,这里对janus做了适配,终端中执行以下命令从源码安装MindSpore NLP:
cd ~
git clone https://gitee.com/mindspore-lab/mindnlp.git
cd mindnlp
git checkout janus
pip install -e .
运行案例
请注意以下所有命令均在HwHiAiUser用户下运行。
01 下载janus模型权重
终端中执行以下命令:
pip install modelscope
modelscope download --model deepseek-ai/Janus-Pro-1B --local_dir /home/HwHiAiUser/Janus-Pro-1B
这里需要等待较长时间,具体时间取决于网速。
下载完成后模型权重将保存在/home/HwHiAiUser/Janus-Pro-1B中,如果要保存在其他位置,请修改local_dir参数,并同步修改mindnlp/llm/inference/janus_pro/understanding.py和mindnlp/llm/inference/janus_pro/generation.py中的model_path修改为对应的目录地址。

02 运行模型
注意,由于模型占用内存较多,没有设置swap请设置swap,swap参考前述用户手册的3.18节。
1、运行图像理解样例
运行图像理解**任务,**在终端中输入:
pip install attrdict
cd ~/mindnlp/llm/inference/janus_pro
python understanding.py
该案例输入的图像如下:

运行结果为:

2、运行图像生成案例
运行图像生成任务,在终端中输入:
python generation.py
输入prompt为:A stunning princess from kabul in red, white traditional clothing, blue eyes, brown hair
在~/mindnlp/llm/inference/janus_pro/generated_samples目录下生成图像:
