直接上手搓了:
conda create -n myenv python=3.10 -ygit clone https://github.com/deepseek-ai/Janus.gitcd Januspip install -e .pip install webencodings beautifulsoup4 tinycss2pip install -e .[gradio]pip install 'pexpect>4.3'python demo/app_januspro.py
由于RTX4060只有8G顯存,只能運行1B的模型,下面是下載模型的代碼:
from modelscope import snapshot_download, AutoTokenizer
from transformers import TrainingArguments, Trainer, DataCollatorForSeq2Seq, Qwen2VLForConditionalGeneration, AutoProcessor
import torch# 在modelscope上下載Qwen2-VL模型到本地目錄下
model_dir = snapshot_download("deepseek-ai/Janus-Pro-1B", cache_dir="./", revision="master")# 使用Transformers加載模型權重
tokenizer = AutoTokenizer.from_pretrained("./deepseek-ai/Janus-Pro-1B/", use_fast=False, trust_remote_code=True)
# 特別的,Qwen2-VL-2B-Instruct模型需要使用Qwen2VLForConditionalGeneration來加載
model = Qwen2VLForConditionalGeneration.from_pretrained("./deepseek-ai/Janus-Pro-1B/", device_map="auto", torch_dtype=torch.bfloat16, trust_remote_code=True,)
model.enable_input_require_grads() # 開啟梯度檢查點時,要執行該方法
修改demo/app_januspro.py中model的名稱為1B。運行后用瀏覽器打開http://127.0.0.1:7860即可。
使用效果圖: