当前位置: 首页 > news >正文

wordpress开发视频网站游戏推广员招聘

wordpress开发视频网站,游戏推广员招聘,做游戏音频下载网站,宜昌市住房城乡建设网站引言 Label Studio ML 后端是一个 SDK,用于包装您的机器学习代码并将其转换为 Web 服务器。Web 服务器可以连接到正在运行的 Label Studio 实例,以自动执行标记任务。我们提供了一个示例模型库,您可以在自己的工作流程中使用这些模型&#x…

引言

Label Studio ML 后端是一个 SDK,用于包装您的机器学习代码并将其转换为 Web 服务器。Web 服务器可以连接到正在运行的 Label Studio 实例,以自动执行标记任务。我们提供了一个示例模型库,您可以在自己的工作流程中使用这些模型,也可以根据需要进行扩展和自定义。

如果您想改为编写自己的模型,请参阅编写自己的 ML 后端。

1、创建后端服务

地址:GitHub - HumanSignal/label-studio-ml-backend: Configs and boilerplates for Label Studio's Machine Learning backend

终端导航至本地仓库目录 :

#用清华的源会快一点
pip install -e . -i https://pypi.tuna.tsinghua.edu.cn/simple
#创建自己的后端服务
label-studio-ml create Stopsign_ml_backend

1.1、环境变量设置

增加环境变量:LABEL_STUDIO_URL,LABEL_STUDIO_API_KEY

LABEL_STUDIO_URL: LS的IP端口号,如:127.0.0.1:8080

LABEL_STUDIO_API_KEY:LS中个人账户的秘钥

1.2、修改model.py文件

实现predict函数,对于目标检测模型:

from typing import List, Dict, Optional
from label_studio_ml.model import LabelStudioMLBase
from label_studio_ml.response import ModelResponse
from label_studio_ml.utils import get_single_tag_keys, get_local_path
import requests, os
from ultralytics import YOLO
from PIL import Image
from io import BytesIOLS_URL = os.environ['LABEL_STUDIO_URL']
LS_API_TOKEN = os.environ['LABEL_STUDIO_API_KEY']class YOLOv8Model(LabelStudioMLBase):"""Custom ML Backend model"""def setup(self):"""Configure any parameters of your model here"""self.set("model_version", "0.0.1")self.from_name, self.to_name, self.value, self.classes = get_single_tag_keys(self.parsed_label_config, 'RectangleLabels', 'Image')self.model = YOLO("D:\\Label-stutio-ml-backend\\Stopsign_ml_backend\\best.pt")self.labels = self.model.namesdef predict(self, tasks: List[Dict], context: Optional[Dict] = None, **kwargs) -> ModelResponse:task = tasks[0]# header = {#     "Authorization": "Token " + LS_API_TOKEN}# image = Image.open(BytesIO(requests.get(#     LS_URL + task['data']['image'], headers=header).content))url = tasks[0]['data']['image']print(f'url is: {url}')image_path = self.get_local_path(url=url,ls_host=LS_URL,task_id=tasks[0]['id'])print(f'image_path: {image_path}')image = Image.open(image_path)original_width, original_height = image.sizepredictions = []score = 0i = 0results = self.model.predict(image,conf=0.5)for result in results:for i, prediction in enumerate(result.boxes):xyxy = prediction.xyxy[0].tolist()predictions.append({"id": str(i),"from_name": self.from_name,"to_name": self.to_name,"type": "rectanglelabels","score": prediction.conf.item(),"original_width": original_width,"original_height": original_height,"image_rotation": 0,"value": {"rotation": 0,"x": xyxy[0] / original_width * 100, "y": xyxy[1] / original_height * 100,"width": (xyxy[2] - xyxy[0]) / original_width * 100,"height": (xyxy[3] - xyxy[1]) / original_height * 100,"rectanglelabels": [self.labels[int(prediction.cls.item())]]}})score += prediction.conf.item()print(f"Prediction Score is {score:.3f}.")    final_prediction = [{"result": predictions,"score": score / (i + 1),"model_version": "v8n"}]return ModelResponse(predictions=final_prediction)def fit(self, event, data, **kwargs):"""This method is called each time an annotation is created or updatedYou can run your logic here to update the model and persist it to the cacheIt is not recommended to perform long-running operations here, as it will block the main threadInstead, consider running a separate process or a thread (like RQ worker) to perform the training:param event: event type can be ('ANNOTATION_CREATED', 'ANNOTATION_UPDATED', 'START_TRAINING'):param data: the payload received from the event (check [Webhook event reference](https://labelstud.io/guide/webhook_reference.html))"""# use cache to retrieve the data from the previous fit() runsold_data = self.get('my_data')old_model_version = self.get('model_version')print(f'Old data: {old_data}')print(f'Old model version: {old_model_version}')# store new data to the cacheself.set('my_data', 'my_new_data_value')self.set('model_version', 'my_new_model_version')print(f'New data: {self.get("my_data")}')print(f'New model version: {self.get("model_version")}')print('fit() completed successfully.')

1.3、启动服务

label-studio-ml start Stopsign_ml_backend -p 9091

2、LS前端配置

在项目设置页面设置模型,打开交互预标注

 在标注页面打开新的图片,出现缓冲条表示在向后台请求预测数据

预测成功如下图所示,会多出一个标注,如果没有则是请求数据错误,请检查后端服务配置

 

这里用的是一个yoloV8-OBB模型,带方向的矩形框,它的Model.py参考这里

 https://download.csdn.net/download/weixin_42253874/89820948

http://www.tj-hxxt.cn/news/103829.html

相关文章:

  • 国外设计网站app谷歌网站推广
  • 太原百度网站建设抖音推广佣金平台
  • wordpress电商方案淘宝seo搜索优化
  • 做企业网站制作怎样注册网站
  • 无锡企业网站制作策划青岛seo推广公司
  • wordpress操作教程视频班级优化大师官网下载
  • 做机械的网站有哪些关键词优化是怎样收费的
  • 建站国外百元服务器百度爱采购官网首页
  • 宝安营销型网站设计搜狗官方网站
  • 网站建设阶段的推广微信引流被加软件
  • 怎么做时时彩彩票网站搜狗站长平台主动提交
  • 有没有做宠物的网站什么平台可以做引流推广
  • 怎么做免流网站沈阳seo建站
  • win7 asp网站发布如何做好网站推广优化
  • 对内部网站建设的意见和建议优化模型数学建模
  • 怎样做网站平台友情网站
  • robots 网站地图广州网络推广哪家好
  • 新闻网站开发php代码自己怎么优化网站排名
  • 网站建设 010百度网
  • 免费试用网站空间seo排名怎么做
  • 网站建设技术哪些内容中国站长网站
  • 桂林网站建设lieyanma湘潭seo优化
  • 怎么能加强门户网站建设品牌网络营销案例
  • 中国建设银行个人网站登录舆情监测软件免费版
  • 专门做日本旅行网站辽源seo
  • 佛山优化网站推广app拉新渠道
  • 怎么把dw做的网站传上去seo顾问什么职位
  • 自己做网站卖东西犯法吗seo公司优化方案
  • 西宁网站建设制作公司bt磁力搜索神器
  • 网站关键字优化软件aso安卓优化公司