【AI打标签】基于DeepSeek Janus为图片批量打标签

article/2025/6/19 4:50:47

DeepSeek Janus的能力,相信不需要我多说了,看下面三张图片,自然就知道了。

但是,如何通过DeepSeek Janus提高我们的工作生产力,在这里,我给大家说道说道。

★★★★★ 建议一定看到最后,至于为什么,因为第4章才能大大提高您的生产力★★★★★

1. 直接使用部署在hugging face的janus pro

Chat With Janus-Pro-7B - a Hugging Face Space by deepseek-ai

2. 本地调用hugging face的API

  1. 安装依赖
pip install gradio_client
  1. 编写代码
from gradio_client import Client, handle_fileclient = Client("deepseek-ai/Janus-Pro-7B")
result = client.predict(#image=handle_file('https://raw.githubusercontent.com/gradio-app/gradio/main/test/test_files/bus.png'),image=handle_file('D:/bus.png'),question="Hello!!",seed=42,top_p=0.95,temperature=0.1,api_name="/multimodal_understanding"
)
print(result)

3. 【本地】基于Janus中app_januspro进行打标签

app_januspro是一个带web ui界面的应用程序,集成了图片理解和图片生成功能,界面与huggingface提供的界面相同。

3.1、 克隆janus源码到本地

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

3.2、安装依赖

在Python>=3.8环境的基础上,通过运行以下命令安装必要的依赖项:

cd Janus
pip install -e .
pip install -e .[gradio]

3.3、运行带web ui界面的app_januspro

python demo/app_januspro.py

4. 【本地】基于Janus中fastapi_app进行打标签

代码clone和依赖安装,参考3.1和3.2。

fastapi_app和fastapi_client二者是搭配使用的,fastapi_client通过http接口调用fastapi_app的图片理解和图片生成的服务。

因此,我们想要实现对图片进行批量打标签,首先要对fastapi_client进行定制化改造。

4.1、fastapi_client.py源码修改

这里,我已经帮大家完成了,如下所示,如果,不想破坏原来的代码,新建一个py文件也可以。

prompt的value,大家可以根据自己的需求进行定制。

import requests
from PIL import Image
import os# Endpoint URLs
understand_image_url = "http://localhost:8000/understand_image_and_question/"prompt = """理解室内设计图片,首先,识别房间类型,然后,然后输出简洁的一句话英文描述。
"""# Function to call the image understanding endpoint
def understand_image_and_question(image_path, question, seed=42, top_p=0.95, temperature=0.1):files = {'file': open(image_path, 'rb')}data = {'question': question,'seed': seed,'top_p': top_p,'temperature': temperature}response = requests.post(understand_image_url, files=files, data=data)if response.status_code == 200:response_data = response.json()# print("Image Understanding Response:", response_data['response'])return response_data['response']else:print('failed generate tags: {image_path}')def get_image_files(directory):supported_extensions = ('.png', '.jpg', '.jpeg', '.bmp', '.gif')image_files = [f for f in os.listdir(directory) if f.endswith(supported_extensions)]return image_filesdef save_text_file(directory, image_name, content):base_name = os.path.splitext(image_name)[0]text_file_path = os.path.join(directory, base_name + '.txt')with open(text_file_path, 'w', encoding='utf-8') as file:  # 使用 'w' 模式以覆盖已有文件file.write(content)return text_file_pathdef process_images(directory, trigger, prompt):image_files = get_image_files(directory)total_images = len(image_files)if total_images == 0:print("\n--------文件夹中没有图片--------\n")returnfor i, image_name in enumerate(image_files, 1):image_path = os.path.join(directory, image_name)# 显示进度信息print(f"正在处理 {i}/{total_images}")print(f"图片文件: {image_name}")# Call the image understanding APIresponse = understand_image_and_question(image_path, prompt)if response is None:continueresponse = trigger + ',' + responsetext_file_path = save_text_file(directory, image_name, response)print(f"标签文件: {text_file_path}")print(f"标签内容: {response}\n")print("--------打标已完成--------\n")# Example usage
if __name__ == "__main__":image_directory = 'D:/images'trigger = 'your trigger'process_images(image_directory, trigger, prompt)

4.2、 运行程序

  1. 启动fastapi_app服务端程序
python demo/fastapi_app.py
  1. 启动fastapi_client客户端程序
python demo/fastapi_client.py

服务端运行界面

客户端运行界面如下:

说明:

  1. 如果遇到问题,不用怀疑我的方法和代码有问题,检查一下Python环境问题。
  2. 如果发现图片理解速度很慢,可能是程序跑在了CPU上,这时候可以参考我的另外一篇文章,配置CUDA+PyTorch环境Windows系统CUDA及PyTorch安装教程-CSDN博客
  3. 可以将遇到的问题放在评论区,有时间我会帮大家解决

5. 引用

Chat With Janus-Pro-7B - a Hugging Face Space by deepseek-ai

deepseek-ai/Janus: Janus-Series: Unified Multimodal Understanding and Generation Models


http://www.hkcw.cn/article/QfxUhoNRZo.shtml

相关文章

SpringAI+MCP协议 实战

文章目录 前言Spring AIMcp(Model Context Protocol) 快速实战Spring AISpring AI 集成 MCP 协议Spring Mcp Client 示例Spring Mcp Server 示例 前言 大模型发展可能到了接近成熟的程度了,但是业界的重点肯定不会仅仅就放在大模型上的&…

AI+游戏开发:如何用 DeepSeek 打造高性能贪吃蛇游戏

文章目录 一、技术选型与准备1.1 传统开发 vs AI生成1.2 环境搭建与工具选择1.3 DeepSeek API 初步体验 二、贪吃蛇游戏基础实现2.1 游戏结构设计2.2 初始化游戏2.3 DeepSeek 生成核心逻辑 三、游戏功能扩展3.1 多人联机模式3.2 游戏难度动态调整3.3 游戏本地保存与回放3.4 跨平…

AI智能体|扣子(Coze)全网最详细讲解(保姆级)

没有任何编程基础?没关系! 这篇保姆级教程将手把手教你用Coze平台打造能搜索新闻、分析数据、创作内容的AI智能体,让你的工作效率提升300%。从此告别加班,让AI成为你最强力的工作伙伴! 什么是AI智能体?一个…

国足备战世预赛生死战 力争两连胜

中国男足国家队于6月2日晚抵达印度尼西亚首都雅加达,准备参加5日举行的2026美加墨世界杯亚洲区预选赛18强赛第9轮对阵印尼队的比赛。当地时间晚上10时30分,中国队在主教练伊万科维奇的带领下走出雅加达苏加诺-哈达国际机场,随后登上大巴前往酒店。伊万科维奇表示,中国队在…

滕州走失男孩遗体被发现 溺水身亡排除刑案

6月2日晚,山东省滕州市公安局发布警情通报。5月31日22时35分许,滕州市公安局接到孔某某报警,称其10岁的外孙赵某某于当日17时许离家后失联。接警后,公安机关迅速行动,调阅监控、走访群众,并联合当地政府和社会救援力量,使用搜救警犬和无人机等手段持续搜寻。6月2日15时许…

官方通报幼童掉入高铁股道 儿童已安全交还家长

6月2日下午,上铁淮南西站发布了一则情况说明。5月31日16时09分左右,铁路工作人员在淮南南站3号站台边缘下方发现了一名儿童,并迅速将其拉上站台。经了解,这名儿童当天随家长乘坐G7446次列车,在列车停靠淮南南站3号站台期间,不慎从列车和站台之间的间隙掉入股道。经过初步…

ubuntu安装devkitPro

建议开个魔法 wget https://apt.devkitpro.org/install-devkitpro-pacman chmod x ./install-devkitpro-pacman sudo ./install-devkitpro-pacman(下面这句如果报错也没事) sudo ln -s /proc/self/mounts /etc/mtab往~.bashrc添加 export DEVKITPRO/o…

西藏那曲市双湖县发生地震 震级3.4级

西藏那曲市双湖县发生地震 震级3.4级!中国地震台网正式测定:6月3日9时44分在西藏那曲市双湖县(北纬33.65度,东经89.37度)发生3.4级地震,震源深度10千米。(总台央视记者 张腾飞)责任编辑:0882

张雪峰直播含泪自曝告别直播 压力山大但问心无愧

6月2日,张雪峰自曝可能告别直播的话题登上微博热搜。据报道,张雪峰结束了2025届高考志愿填报直播,并宣布暂停直播两个月。在直播结束时,张雪峰哽咽着向屏幕前的家长和考生深深鞠躬:“不管以后发生什么事,希望大家记住,我对得起大家。”他直言一路压力山大,但问心无愧。…

使用 Deepseek AI 制作视频的完整教程

使用 Deepseek AI 制作视频的完整教程 一、简介 Deepseek 作为一款强大的国产 AI 模型,可以帮助我们快速生成视频创作所需的脚本和画面描述。本教程将介绍如何利用 Deepseek AI 辅助视频制作的完整流程。 二、准备工作 需要准备的工具: Deepseek AI…

b站缓存视频导出/转换成.mp4文件

以Redmi K40S手机为例 1.查询视频id 1.首先缓存好要转换的视频 2.打开手机b站离线缓存->离线设置->离线诊断 3.选择要转换成mp4的缓存视频 4.记住视频id 2.根据id寻找对应的m4a文件 在/Android/data/tv.danmaku.bili/文件下,根据视频id找到对应的文件夹…

uniapp [全端兼容] - 实现瀑布流自定义单列+双列+三列布局,瀑布流组件插件可配置页面显示多少列数+自适应计算页面,实现瀑布流列表懒加载上拉页面触底加载(图片瀑布流、图文瀑布流、视频瀑布流)

前言 如果您需要 Vue 版本,请访问 这篇文章。 在 uni-app 全平台兼容(H5网页网站、支付宝/微信小程序、安卓App、苹果App、nvue)开发中,实现瀑布流布局列表+无限懒加载完整实现思路及源码,可配置瀑布流布局列数(支持1列/2列/3列/多列)组件改个配置项后自动重构瀑布流布局…

懒人必备!Coze一键制作火柴人心理学视频,新号45天涨了2.6w粉!(附超详细实战教程)

目录 一、工作流设计思路 二、制作工作流 2.1 开始节点 2.2 文案分镜分割 2.3 生成火柴人的提示词 2.4 字幕翻译成英文 2.5 图像内容生成 2.5.1 图像生成 2.5.2 选择器 2.5.3 补充图片工作流 2.5.4 智能抠图01 2.5.5 智能抠图02 2.5.6 变量聚合 2.6 固定背景图 …

iOS视频编码详细步骤(视频编码器,基于 VideoToolbox,支持硬件编码 H264/H265)

iOS视频编码详细步骤流程 1. 视频采集阶段 视频采集所使用的代码和之前的相同,所以不再过多进行赘述 初始化配置: 通过VideoCaptureConfig设置分辨率1920x1080、帧率30fps、像素格式kCVPixelFormatType_420YpCbCr8BiPlanarFullRange设置摄像头位置&am…

FramePack本地部署教程:6GB显存即可生成高质量视频,彻底摆脱显存线性依赖!

FramePack 由ControlNet之父张吕敏团队研发,是一种用于逐步生成视频的下一帧(下一帧部分)预测神经网络结构。FramePack 将输入上下文压缩到固定长度,以便生成工作量与视频长度无关。即使在笔记本电脑 GPU 上,FramePack…

OpenCV与AI深度学习|16个含源码和数据集的计算机视觉实战项目(建议收藏!)

本文来源公众号“OpenCV与AI深度学习”,仅用于学术分享,侵权删,干货满满。 原文链接:分享|16个含源码和数据集的计算机视觉实战项目 本文将分享16个含源码和数据集的计算机视觉实战项目。具体包括: 1. 人…

04、Python爬虫——批量爬取douyin视频,下载到本地,半个小时内解决批量下载douyin视频

概要 针对批量爬取douyin视频分为两期进行讲解,本期(第一期)内容是讲解如何在上批量下载视频,如何快速的搭建环境,修改参数,让小伙伴们边看边学,半个小时内就可以轻松将douyin视频批量进行下载。…

opencv下载安装及VS配置(笔记)

1、opencv下载及安装 官网地址:https://opencv.org/,点击Releases进入下载界面: 根据自己的需要下载相应的版本,这里我下载的是opencv-4.10版本: 找到下载的exe文件: 双击安装,选择安装路径&…

[ComfyUI]腾讯混元视频:v2v视频驱动,最强开源视频模型,影视级画质与导演级运镜,本地16G可体验

前言 腾讯混元视频:v2v视频驱动,影视级画质与导演级运镜, HunyuanVideo简介 在之前文章中已经介绍过腾讯最新开源的当前最大参数的文生视频模型:HunyuanVideo。这是一款全新的开源视频生成具有130 亿参数大模型,具有…

一文就懂:基带、视频、中频、射频

在无线电领域,经常接触到基带、视频、中频、射频等概念。这些专业名词比较基础,大部分电子相关专业工程师对于这些概念都比较清楚,无需再往下看。因此本文的受众主要是非本专业相关人士但是又经常接触这些名词的同学,有些同学似懂…