在目标检测数据集上微调Florence-2

        Florence-2是由微软开源的轻量级视觉-语言模型,采用MIT许可。该模型在任务如图像描述、目标检测、定位和分割中展示了强大的零样本和微调能力。

        图1。图示展示了每个任务所表达的空间层次和语义细粒度水平。来源:Florence-2:推进多种视觉任务的统一表示。

        该模型将图像和任务提示作为输入,并以文本格式生成所需结果。它使用DaViT视觉编码器将图像转换为视觉标记嵌入,然后将这些嵌入与BERT生成的文本嵌入连接在一起,并通过基于Transformer的多模态编码器-解码器处理,以生成响应。

                图2。Florence-2架构概览。来源:Florence-2:推进多种视觉任务的统一表示。

1.设置

配置您的API密钥
        要微调Florence-2,您需要提供HuggingFace Token和Roboflow API密钥。按照以下步骤操作:

  1. 生成HuggingFace Token:

    • 打开您的HuggingFace设置页面https://huggingface.co/login?next=%2Fsettings%2Fprofile。
    • 点击“Access Tokens”,然后点击“New Token”以生成新的令牌。
  2. 获取Roboflow API密钥:

    • 前往您的Roboflow设置页面。Sign in to Roboflow
    • 点击“Copy”。这将您的私钥复制到剪贴板。
  3. 在Colab中存储密钥:

    • 打开Colab,进入左侧面板并点击“Secrets (🔑)”。
    • 将HuggingFace Access Token存储在名称为HF_TOKEN的密钥中。
    • 将Roboflow API Key存储在名称为ROBOFLOW_API_KEY的密钥中。

        通过这些步骤,您可以成功配置API密钥并开始微调Florence-2模型。确保替换YOUR_HF_TOKENYOUR_ROBOFLOW_API_KEYYOUR_PROJECT_NAMEYOUR_DATASET_VERSION为实际值。 

选择运行环境

        确保我们有GPU的访问权限。我们可以使用 nvidia-smi 命令来检查。如果有任何问题,请导航到 Edit -> Notebook settings -> Hardware accelerator,将其设置为 L4 GPU,然后点击 Save

检查GPU可用性

在Colab中,运行以下代码来检查是否有GPU可用:

python

!nvidia-smi

更改硬件加速器设置

如果没有检测到GPU,请按照以下步骤操作:

  1. 在Colab的菜单栏中,点击 Edit
  2. 选择 Notebook settings
  3. 在 Hardware accelerator 下拉菜单中,选择 GPU(特别是L4 GPU,如果有)。
  4. 点击 Save

确认更改后,再次运行 nvidia-smi 命令来确保GPU已经启用。

示例代码

# 检查GPU可用性
!nvidia-smi# 如果没有GPU,按照上述步骤更改硬件加速器为L4 GPU

 

这样您就可以确保您的Colab Notebook正在使用GPU,从而加速模型的微调过程。

2.下载数据和模型:

# @title Importsimport io
import os
import re
import json
import torch
import html
import base64
import itertoolsimport numpy as np
import supervision as svfrom google.colab import userdata
from IPython.core.display import display, HTML
from torch.utils.data import Dataset, DataLoader
from transformers import (AdamW,AutoModelForCausalLM,AutoProcessor,get_scheduler
)
from tqdm import tqdm
from typing import List, Dict, Any, Tuple, Generator
from peft import LoraConfig, get_peft_model
from PIL import Image
from roboflow import Roboflow

加载模型和处理器

        您需要使用 AutoModelForCausalLM 和 AutoProcessor 类从 transformers 库中加载模型和处理器。请注意,由于这个模型不是标准的 transformers 模型,因此您需要将 trust_remote_code 设置为 True

3.运行预训练的 Florence-2 模型

a.目标检测推理示例

# @title Example object detection inferenceimage = Image.open(EXAMPLE_IMAGE_PATH)
task = "<OD>"
text = "<OD>"inputs = processor(text=text, images=image, return_tensors="pt").to(DEVICE)
generated_ids = model.generate(input_ids=inputs["input_ids"],pixel_values=inputs["pixel_values"],max_new_tokens=1024,num_beams=3
)
generated_text = processor.batch_decode(generated_ids, skip_special_tokens=False)[0]
response = pro

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/3226657.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

【SVN的使用- SVN的基本命令-SVN命令简写-注意事项-解决冲突 Objective-C语言】

一、SVN的更新命令:update 1.服务器如果新建了一个文件夹,yuanxing,版本变成6了, 我现在本地还只有三个文件夹,版本5, 终端里边,我们敲一个svn update, 我这儿就多了一个yuanxing文件夹, 这个就是更新,就是把服务器最新的代码下载下来, 假设服务器上大家提交了这…

短视频剪辑软件-剪映必备快捷键大全 沈阳短视频剪辑培训

对于用剪映电脑版的朋友来说 快捷键是很重要的 那么剪映专业版有哪些快捷键呢 今天总结了一下快捷键大全 赶快收藏吧 1、基础功能 复制&#xff1a;Ctrl&#xff0b;C 粘贴&#xff1a;Ctrl&#xff0b;v 分割&#xff1a;Ctrl B 删除&#xff1a;Back 新建草稿&…

广汇汽车:救得起来吗?

五折奔驰、六折宝马...BBA们“腰斩式”大降价后正在引发连锁反应。 国内第二大汽车经销商——广汇汽车&#xff0c;还好吗&#xff1f; 受新能源品牌冲击&#xff0c;近年来奔驰、宝马等豪华燃油品牌销量低迷&#xff0c;纷纷开启降价模式&#xff0c;首当其冲的就是以广汇汽车…

使用Sui索引框架支持自定义数据导入

Sui索引框架通过强大的数据导入框架提供对Sui链上数据的定制化访问。它允许任何相关软件&#xff0c;无论是在链上还是链下运行&#xff0c;收集原始链上数据和派生数据。 利用Sui索引框架创建定制的数据流&#xff0c;开发者可以轻松构建响应链上事件的软件和产品。 链上数据…

消息称台积电下周开始试产 2nm 芯片,有望率先用于苹果 iPhone 17

消息称台积电下周开始试产 2nm 芯片&#xff0c;有望率先用于苹果 iPhone 17 &#x1f4a1;&#x1f4f1; 大家好&#xff0c;我是猫头虎&#xff0c;科技自媒体博主 &#x1f431;&#x1f42f;&#xff0c;带你洞察科技世界的每一个细节&#xff01;&#x1f525; 关于猫头…

windows远程桌面到 Linux系统(Ubuntu:22.04)—— 安装xrdp软件

1、在Linux系统上安装xrdp软件 sudo apt update sudo apt install xrdp2、安装完成后&#xff0c;需要开启xrdp服务 sudo systemctl start xrdp sudo systemctl enable xrdp打印返回 Synchronizing state of xrdp.service with SysV service script with /lib/systemd/system…

人生苦短,我用Python+Docker

今天用一个简单的例子&#xff0c;介绍下如何使用Docker进行Python部署。 前期准备 本地需要有Python环境&#xff1b; 一个Linux的服务器并已经装好Docker &#xff1b; 能把代码上传到服务端的工具。 本文的本地环境是Win10Python3.12&#xff0c;服务器使用Ubuntu的云服…

TikTok短视频矩阵系统源码:创新驱动的内容生态引擎

在全球化的数字媒体时代&#xff0c;短视频已成为连接创作者与观众的桥梁。TikTok作为全球领先的短视频社交平台&#xff0c;其背后的短视频矩阵系统源码是支撑这一平台创新与成长的关键。本文将深入探讨TikTok短视频矩阵系统源码如何通过多账号管理、AI自动生成文案、批量剪辑…

开发个人Go-ChatGPT--6 OpenUI

开发个人Go-ChatGPT–6 OpenUI Open-webui Open WebUI 是一种可扩展、功能丰富且用户友好的自托管 WebUI&#xff0c;旨在完全离线运行。它支持各种 LLM 运行器&#xff0c;包括 Ollama 和 OpenAI 兼容的 API。 功能 由于总所周知的原由&#xff0c;OpenAI 的接口需要密钥才…

弱电工程质量保修期是多久?

弱电工程是电力工程的一个分类&#xff0c;弱电可以向人们提供照明用电和空调用电&#xff0c;为人们的生活带来了极大的便利。弱电工程作为一类工程项目存在质量保证问题&#xff0c;在施工完成后需要进行质量检修&#xff0c;施工队应该向业主提供一定的质量保修期&#xff0…

[ACM独立出版]2024年虚拟现实、图像和信号处理国际学术会议(ICVISP 2024)

[ACM独立出版]2024年虚拟现实、图像和信号处理国际学术会议&#xff08;ICVISP 2024&#xff09; 2024 International Conference on Virtual Reality, Image and Signal Processing 最新消息ICVISP 2024-已通过ACM出版申请投稿免费参会&#xff0c;口头汇报或海报展示(可获得…

Python requests爬虫

Python的requests库是一个强大且易于使用的HTTP库&#xff0c;用于发送HTTP请求和处理响应。它是Python中最受欢迎的网络爬虫框架之一&#xff0c;被广泛用于从网页中提取数据、爬取网站和进行API调用。 使用requests库&#xff0c;你可以轻松地发送各种HTTP请求&#xff0c;包…

element el-upload 粘贴上传图片

对form中的某一个el-form-item添加 paste.native 事件&#xff0c;事件绑定方法名 handlePaste也可以在其他控件中添加事件监听&#xff0c;这里在当前form-item 这个块使用了&#xff0c;只有当你点击目标区域时才有效。 <el-form-item label"备注图片" paste.n…

仕考网:事业单位b类考试考什么?

事业单位B类考试科目为《职业能力倾向测验(B类)》和《综合应用能力(B类)》两项&#xff0c;旨在全面评估应试者在多个领域的基本素质和专业能力。涵盖历史、自然科学、时事政治以及法律等关键方面&#xff0c;以确保选拔出的人员能够适应事业单位社会科学专技类岗位的需求。考试…

MQTT是什么,物联网

写文思路&#xff1a; 以下从几个方面介绍MQTT&#xff0c;包括&#xff1a;MQTT是什么&#xff0c;MQTT和webSocket的结合&#xff0c;以及使用场景&#xff0c; 一、MQTT是什么 MQTT&#xff08;Message Queuing Telemetry Transport&#xff09;是一种轻量级的发布/订阅消息…

Linux上安装JDK 1.8:详细步骤与环境配置

感谢您阅读本文&#xff0c;欢迎“一键三连”。作者定会不负众望&#xff0c;按时按量创作出更优质的内容。 ❤️ 1. 毕业设计专栏&#xff0c;毕业季咱们不慌&#xff0c;上千款毕业设计等你来选。 安装 JDK 1.8 在 Linux 上的步骤&#xff1a; 1.下载 JDK 1.8 JDK 1.8 可以…

阿一课代表今日分享之使用dnscat2 进行dns隧道反弹shell(直连模式linux对linux)

DNS介绍 DNS是域名系统(Domain Name System)的缩写&#xff0c;是因特网的一项核心服务&#xff0c;它作为可以将域名和IP地址相互映射的一个分布式数据库&#xff0c;能够使人更方便的访问互联网&#xff0c;而不用去记住能够被机器直接读取的IP数串。 DNS的记录类型有很多&a…

组件设计原则和度量方法

在日常开发过程中&#xff0c;Spring、Dubbo、Mybatis等都是我们常用的开源框架。当你在使用这些框架时&#xff0c;不可避免需要通过分析源码来理解内部的实现原理。那么&#xff0c;你在翻阅源代码时&#xff0c;有没有想过这些框架的代码结构为什么要这样进行设计和实现呢&a…

桥联亲和素-标记生物素法(BRAB)

桥联亲和素-标记生物素法&#xff08;BRAB&#xff09;是一种基于生物素与亲和素&#xff08;或链霉亲和素&#xff09;之间高亲和力特性的生物医学检测方法。以下是关于BRAB法的详细解释&#xff1a; 一、定义与原理 BRAB法&#xff0c;也称为桥联亲和素-标记生物素法&#xf…

游戏AI的创造思路-技术基础-情感计算(1)

游戏中的AI也是可以和你打情感牌的哦&#xff0c;不要以为NPC是没有感情的&#xff0c;不过&#xff0c;不要和NPC打过多的情感牌&#xff0c;你会深陷其中无法自拔的~~~~~~ 目录 1. 情感计算算法定义 2. 发展历史 3. 公式和函数 3.1. 特征提取阶段 TF-IDF&#xff08;词频…