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

Python将COCO格式实例分割数据集转换为YOLO格式实例分割数据集

Python将COCO格式实例分割数据集转换为YOLO格式实例分割数据集

  • 前言
  • 相关介绍
    • COCO格式实例分割数据集转换为YOLO格式实例分割数据集
    • coco格式对应的json文件,以test.json为例
    • 格式转换代码,内容如下

前言

  • 由于本人水平有限,难免出现错漏,敬请批评改正。
  • 更多精彩内容,可点击进入YOLO系列专栏或我的个人主页查看
  • YOLOv5:添加SE、CBAM、CoordAtt、ECA注意力机制
  • YOLOv5:yolov5s.yaml配置文件解读、增加小目标检测层
  • YOLOv5:IoU、GIoU、DIoU、CIoU、EIoU
  • YOLOv7训练自己的数据集(口罩检测)
  • YOLOv8训练自己的数据集(足球检测)
  • 玩转Jetson Nano(五):TensorRT加速YOLOv5目标检测

相关介绍

  • Python是一种跨平台的计算机程序设计语言。是一个高层次的结合了解释性、编译性、互动性和面向对象的脚本语言。最初被设计用于编写自动化脚本(shell),随着版本的不断更新和语言新功能的添加,越多被用于独立的、大型项目的开发。
  • PyTorch 是一个深度学习框架,封装好了很多网络和深度学习相关的工具方便我们调用,而不用我们一个个去单独写了。它分为 CPU 和 GPU 版本,其他框架还有 TensorFlow、Caffe 等。PyTorch 是由 Facebook 人工智能研究院(FAIR)基于 Torch 推出的,它是一个基于 Python 的可续计算包,提供两个高级功能:1、具有强大的 GPU 加速的张量计算(如 NumPy);2、构建深度神经网络时的自动微分机制。
    在这里插入图片描述

COCO格式实例分割数据集转换为YOLO格式实例分割数据集

coco格式对应的json文件,以test.json为例

{"annotations": [{"id": 2094,"iscrowd": 0,"image_id": 173,"category_id": 1,"segmentation": [[1113,777,1115,785,1118,784,1120,786,1120,792,1118,796,1117,801,1117,868,1118,875,1120,880,1124,882,1138,882,1146,884,1153,899,1157,901,1166,901,1176,899,1178,897,1185,888,1204,887,1217,884,1291,886,1299,885,1302,883,1312,883,1323,890,1325,899,1332,905,1353,905,1360,895,1362,885,1364,863,1364,833,1359,797,1351,774,1326,735,1313,726,1297,722,1198,720,1191,716,1186,718,1177,718,1155,732,1150,736,1145,745,1145,747,1140,755,1135,769,1124,776,1121,776,1119,774]],"area": 38102,"bbox": [1113,716,251,189]},{"id": 577,"iscrowd": 0,"image_id": 43,"category_id": 3,"segmentation": [[950,795,954,803,960,803,961,802,963,801,959,796,957,794,952,794]],"area": 76.5,"bbox": [950,794,13,9]},{"id": 606,"iscrowd": 0,"image_id": 43,"category_id": 3,"segmentation": [[632,782,628,780,619,780,607,785,601,785,597,786,596,787,594,787,591,790,588,791,581,791,569,797,558,799,552,803,541,804,523,809,515,812,510,815,501,816,495,820,485,821,476,825,470,827,459,829,456,832,447,833,435,840,427,840,420,842,418,844,403,847,398,850,390,851,373,857,368,857,356,862,345,864,327,869,315,874,307,875,297,881,300,883,310,883,318,881,321,879,336,876,341,873,381,860,388,859,410,852,421,847,427,847,434,843,451,838,453,836,460,834,467,834,472,831,492,826,500,822,514,818,524,817,536,811,544,810,550,808,556,804,579,797,583,797,594,792,601,792,609,788,622,786]],"area": 1939,"bbox": [297,780,335,103]}],"images": [{"id": 762,"width": 1920,"height": 1080,"file_name": "0762.jpg","license": "","flickr_url": "","coco_url": "","date_captured": ""},{"id": 179,"width": 1920,"height": 1080,"file_name": "0179.jpg","license": "","flickr_url": "","coco_url": "","date_captured": ""},{"id": 13,"width": 1920,"height": 1080,"file_name": "0013.jpg","license": "","flickr_url": "","coco_url": "","date_captured": ""},{"id": 1871,"width": 1920,"height": 1080,"file_name": "1871.jpg","license": "","flickr_url": "","coco_url": "","date_captured": ""},{"id": 396,"width": 1920,"height": 1080,"file_name": "0396.jpg","license": "","flickr_url": "","coco_url": "","date_captured": ""},{"id": 1762,"width": 1920,"height": 1080,"file_name": "1762.jpg","license": "","flickr_url": "","coco_url": "","date_captured": ""},{"id": 89,"width": 1920,"height": 1080,"file_name": "0089.jpg","license": "","flickr_url": "","coco_url": "","date_captured": ""},{"id": 2198,"width": 1920,"height": 1080,"file_name": "2198.jpg","license": "","flickr_url": "","coco_url": "","date_captured": ""},{"id": 262,"width": 1920,"height": 1080,"file_name": "0262.jpg","license": "","flickr_url": "","coco_url": "","date_captured": ""},{"id": 1132,"width": 1920,"height": 1080,"file_name": "1099.jpg","license": "","flickr_url": "","coco_url": "","date_captured": ""},{"id": 929,"width": 1920,"height": 1080,"file_name": "0929.jpg","license": "","flickr_url": "","coco_url": "","date_captured": ""},{"id": 1396,"width": 1920,"height": 1080,"file_name": "1318.jpg","license": "","flickr_url": "","coco_url": "","date_captured": ""},{"id": 2208,"width": 1920,"height": 1080,"file_name": "2208.jpg","license": "","flickr_url": "","coco_url": "","date_captured": ""},{"id": 1248,"width": 1920,"height": 1080,"file_name": "1248.jpg","license": "","flickr_url": "","coco_url": "","date_captured": ""},{"id": 1909,"width": 1920,"height": 1080,"file_name": "1909.jpg","license": "","flickr_url": "","coco_url": "","date_captured": ""},{"id": 1487,"width": 1920,"height": 1080,"file_name": "1492.jpg","license": "","flickr_url": "","coco_url": "","date_captured": ""},{"id": 341,"width": 1920,"height": 1080,"file_name": "0341.jpg","license": "","flickr_url": "","coco_url": "","date_captured": ""},{"id": 1851,"width": 1920,"height": 1080,"file_name": "1851.jpg","license": "","flickr_url": "","coco_url": "","date_captured": ""},{"id": 1742,"width": 1920,"height": 1080,"file_name": "1742.jpg","license": "","flickr_url": "","coco_url": "","date_captured": ""},{"id": 1957,"width": 1920,"height": 1080,"file_name": "1957.jpg","license": "","flickr_url": "","coco_url": "","date_captured": ""},{"id": 1418,"width": 1920,"height": 1080,"file_name": "1418.jpg","license": "","flickr_url": "","coco_url": "","date_captured": ""},{"id": 1592,"width": 1920,"height": 1080,"file_name": "1592.jpg","license": "","flickr_url": "","coco_url": "","date_captured": ""},{"id": 19,"width": 1920,"height": 1080,"file_name": "0019.jpg","license": "","flickr_url": "","coco_url": "","date_captured": ""},{"id": 579,"width": 1920,"height": 1080,"file_name": "0579.jpg","license": "","flickr_url": "","coco_url": "","date_captured": ""},{"id": 1407,"width": 1920,"height": 1080,"file_name": "1372.jpg","license": "","flickr_url": "","coco_url": "","date_captured": ""},{"id": 1975,"width": 1920,"height": 1080,"file_name": "1975.jpg","license": "","flickr_url": "","coco_url": "","date_captured": ""},{"id": 931,"width": 1920,"height": 1080,"file_name": "0931.jpg","license": "","flickr_url": "","coco_url": "","date_captured": ""},{"id": 1977,"width": 1920,"height": 1080,"file_name": "1977.jpg","license": "","flickr_url": "","coco_url": "","date_captured": ""},{"id": 40,"width": 1920,"height": 1080,"file_name": "0040.jpg","license": "","flickr_url": "","coco_url": "","date_captured": ""},{"id": 1366,"width": 1920,"height": 1080,"file_name": "1403.jpg","license": "","flickr_url": "","coco_url": "","date_captured": ""},{"id": 889,"width": 1920,"height": 1080,"file_name": "0889.jpg","license": "","flickr_url": "","coco_url": "","date_captured": ""},{"id": 1050,"width": 1920,"height": 1080,"file_name": "1050.jpg","license": "","flickr_url": "","coco_url": "","date_captured": ""},{"id": 669,"width": 1920,"height": 1080,"file_name": "0669.jpg","license": "","flickr_url": "","coco_url": "","date_captured": ""},{"id": 2216,"width": 1920,"height": 1080,"file_name": "2216.jpg","license": "","flickr_url": "","coco_url": "","date_captured": ""},{"id": 659,"width": 1920,"height": 1080,"file_name": "0659.jpg","license": "","flickr_url": "","coco_url": "","date_captured": ""},{"id": 294,"width": 1920,"height": 1080,"file_name": "0294.jpg","license": "","flickr_url": "","coco_url": "","date_captured": ""},{"id": 1895,"width": 1920,"height": 1080,"file_name": "1895.jpg","license": "","flickr_url": "","coco_url": "","date_captured": ""},{"id": 706,"width": 1920,"height": 1080,"file_name": "0710.jpg","license": "","flickr_url": "","coco_url": "","date_captured": ""},{"id": 1273,"width": 1920,"height": 1080,"file_name": "1273.jpg","license": "","flickr_url": "","coco_url": "","date_captured": ""},{"id": 461,"width": 1920,"height": 1080,"file_name": "0461.jpg","license": "","flickr_url": "","coco_url": "","date_captured": ""},{"id": 1023,"width": 1920,"height": 1080,"file_name": "1023.jpg","license": "","flickr_url": "","coco_url": "","date_captured": ""},{"id": 1594,"width": 1920,"height": 1080,"file_name": "1594.jpg","license": "","flickr_url": "","coco_url": "","date_captured": ""},{"id": 1747,"width": 1920,"height": 1080,"file_name": "1747.jpg","license": "","flickr_url": "","coco_url": "","date_captured": ""},{"id": 1854,"width": 1920,"height": 1080,"file_name": "1854.jpg","license": "","flickr_url": "","coco_url": "","date_captured": ""},{"id": 750,"width": 1920,"height": 1080,"file_name": "0750.jpg","license": "","flickr_url": "","coco_url": "","date_captured": ""},{"id": 1580,"width": 1920,"height": 1080,"file_name": "1580.jpg","license": "","flickr_url": "","coco_url": "","date_captured": ""},{"id": 1735,"width": 1920,"height": 1080,"file_name": "1735.jpg","license": "","flickr_url": "","coco_url": "","date_captured": ""},{"id": 1504,"width": 1920,"height": 1080,"file_name": "1509.jpg","license": "","flickr_url": "","coco_url": "","date_captured": ""},{"id": 1630,"width": 1920,"height": 1080,"file_name": "1630.jpg","license": "","flickr_url": "","coco_url": "","date_captured": ""},{"id": 629,"width": 1920,"height": 1080,"file_name": "0629.jpg","license": "","flickr_url": "","coco_url": "","date_captured": ""},{"id": 367,"width": 1920,"height": 1080,"file_name": "0367.jpg","license": "","flickr_url": "","coco_url": "","date_captured": ""},{"id": 1833,"width": 1920,"height": 1080,"file_name": "1833.jpg","license": "","flickr_url": "","coco_url": "","date_captured": ""},{"id": 583,"width": 1920,"height": 1080,"file_name": "0583.jpg","license": "","flickr_url": "","coco_url": "","date_captured": ""},{"id": 178,"width": 1920,"height": 1080,"file_name": "0178.jpg","license": "","flickr_url": "","coco_url": "","date_captured": ""},{"id": 199,"width": 1920,"height": 1080,"file_name": "0199.jpg","license": "","flickr_url": "","coco_url": "","date_captured": ""},{"id": 1836,"width": 1920,"height": 1080,"file_name": "1836.jpg","license": "","flickr_url": "","coco_url": "","date_captured": ""},{"id": 1636,"width": 1920,"height": 1080,"file_name": "1636.jpg","license": "","flickr_url": "","coco_url": "","date_captured": ""},{"id": 382,"width": 1920,"height": 1080,"file_name": "0382.jpg","license": "","flickr_url": "","coco_url": "","date_captured": ""},{"id": 421,"width": 1920,"height": 1080,"file_name": "0421.jpg","license": "","flickr_url": "","coco_url": "","date_captured": ""},{"id": 1296,"width": 1920,"height": 1080,"file_name": "1328.jpg","license": "","flickr_url": "","coco_url": "","date_captured": ""},{"id": 2054,"width": 1920,"height": 1080,"file_name": "2054.jpg","license": "","flickr_url": "","coco_url": "","date_captured": ""},{"id": 1072,"width": 1920,"height": 1080,"file_name": "1095.jpg","license": "","flickr_url": "","coco_url": "","date_captured": ""},{"id": 601,"width": 1920,"height": 1080,"file_name": "0601.jpg","license": "","flickr_url": "","coco_url": "","date_captured": ""},{"id": 1313,"width": 1920,"height": 1080,"file_name": "1345.jpg","license": "","flickr_url": "","coco_url": "","date_captured": ""},{"id": 726,"width": 1920,"height": 1080,"file_name": "0704.jpg","license": "","flickr_url": "","coco_url": "","date_captured": ""},{"id": 924,"width": 1920,"height": 1080,"file_name": "0924.jpg","license": "","flickr_url": "","coco_url": "","date_captured": ""},{"id": 139,"width": 1920,"height": 1080,"file_name": "0139.jpg","license": "","flickr_url": "","coco_url": "","date_captured": ""},{"id": 445,"width": 1920,"height": 1080,"file_name": "0445.jpg","license": "","flickr_url": "","coco_url": "","date_captured": ""},{"id": 1436,"width": 1920,"height": 1080,"file_name": "1441.jpg","license": "","flickr_url": "","coco_url": "","date_captured": ""},{"id": 1835,"width": 1920,"height": 1080,"file_name": "1835.jpg","license": "","flickr_url": "","coco_url": "","date_captured": ""},{"id": 311,"width": 1920,"height": 1080,"file_name": "0311.jpg","license": "","flickr_url": "","coco_url": "","date_captured": ""},{"id": 173,"width": 1920,"height": 1080,"file_name": "0173.jpg","license": "","flickr_url": "","coco_url": "","date_captured": ""},{"id": 43,"width": 1920,"height": 1080,"file_name": "0043.jpg","license": "","flickr_url": "","coco_url": "","date_captured": ""}],"categories": [{"id": 1,"name": "car","color": [52,101,164],"supercategory": ""},{"id": 2,"name": "traffic_sign","color": [245,128,6],"supercategory": ""},{"id": 3,"name": "lane_lines","color": [115,210,22],"supercategory": ""},{"id": 4,"name": "person","color": [239,41,41],"supercategory": ""},{"id": 5,"name": "motorcyclist","color": [145,104,190],"supercategory": ""},{"id": 6,"name": "cyclist","color": [239,41,41],"supercategory": ""}]
}

格式转换代码,内容如下

import os
import json
import shutildef write_yolo_txt_file(txt_file_path,label_seg_x_y_list):if not os.path.exists(txt_file_path):with open(txt_file_path, "w") as file:for element in label_seg_x_y_list:file.write(str(element) + " ")file.write('\n')else:with open(txt_file_path, "a") as file:for element in label_seg_x_y_list:file.write(str(element) + " ")file.write('\n')def read_json(in_json_path,img_dir,target_dir):with open(in_json_path, "r", encoding='utf-8') as f:# json.load数据到变量json_datajson_data = json.load(f) # print(len(json_data['annotations']))# print(len(json_data['images']))# print(len(json_data['categories']))for annotation in json_data['annotations']: # 遍历标注数据信息# print(annotation)category_id = annotation['category_id']image_id = annotation['image_id']for image in json_data['images']: # 遍历图片相关信息if image['id'] == image_id:width = image['width'] # 图片宽height = image['height'] # 图片高img_file_name = image['file_name'] # 图片名称txt_file_name = image['file_name'].split('.')[0] + '.txt' # 要保存的对应txt文件名break# print(width,height,img_file_name,txt_file_name)segmentation = annotation['segmentation'] # 图像分割点信息[[x1,y1,x2,y2,...,xn,yn]]seg_x_y_list = [i/width if num%2==0 else i/height for num,i in enumerate(segmentation[0])] # 归一化图像分割点信息label_seg_x_y_list = seg_x_y_list[:]label_seg_x_y_list.insert(0,category_id) # 图像类别与分割点信息[label,x1,y1,x2,y2,...,xn,yn]# print(label_seg_x_y_list)# 写txt文件txt_file_path = target_dir + txt_file_name# print(txt_file_path)write_yolo_txt_file(txt_file_path,label_seg_x_y_list)# 选出txt对应img文件img_file_path = img_dir + img_file_name# print(img_file_path)shutil.copy(img_file_path,target_dir)if __name__=="__main__":img_dir = 'JPEGImages/'target_dir = 'testset/'if not os.path.exists(target_dir):os.mkdir(target_dir)in_json_path = './test.json'read_json(in_json_path,img_dir,target_dir)

在这里插入图片描述在这里插入图片描述

  • 由于本人水平有限,难免出现错漏,敬请批评改正。
  • 更多精彩内容,可点击进入YOLO系列专栏或我的个人主页查看
  • YOLOv5:添加SE、CBAM、CoordAtt、ECA注意力机制
  • YOLOv5:yolov5s.yaml配置文件解读、增加小目标检测层
  • YOLOv5:IoU、GIoU、DIoU、CIoU、EIoU
  • YOLOv7训练自己的数据集(口罩检测)
  • YOLOv8训练自己的数据集(足球检测)
  • 玩转Jetson Nano(五):TensorRT加速YOLOv5目标检测

相关文章:

Python将COCO格式实例分割数据集转换为YOLO格式实例分割数据集

Python将COCO格式实例分割数据集转换为YOLO格式实例分割数据集 前言相关介绍COCO格式实例分割数据集转换为YOLO格式实例分割数据集coco格式对应的json文件,以test.json为例格式转换代码,内容如下 前言 由于本人水平有限,难免出现错漏&#xf…...

借助 Mybatis 的动态 SQL 解决传参不确定问题

在上一篇的:Mybatis 操作数据库的基本 CRUD 以及查询操作详析_糊糊涂涂的博客-CSDN博客中介绍了Mybatis使用固定SQL语句操作数据,本篇介绍 Mybatis 一个强大的特性:动态SQL。 动态 SQL 解决什么问题? 那当我们要执行的业务逻辑有…...

前端框架学习-Vue(一)

Vue简介 百度百科上关于vue的词条,说vue时一款渐进式JavaScript框架, 简单来说,渐进式是一种设计理念,即在不失去当前功能的前提下,逐步添加新的特性。 说明它时一直在进行维护的。 Vue3,中使用*.vue作为文件后缀,html&#xff0c…...

Elasticsearch Query DSL

Elasticsearch Query DSL 这里使用的 Elasticsearch 的版本为 7.12.1。 1、基本概念 1.1 文档(Document) ElasticSearch 是面向文档的,文档是所有可搜索数据的最小单位,例如 MySQL 的一条数据记录。 文档会被序列化成为 json 格式,保存在…...

腾讯云 CODING × K+ 峰会再次携手开启软件行业新风向

点击链接了解详情 近日,K 全球软件研发行业创新峰会在北京成功举办。腾讯云 CODING 作为云原生工具领跑者受邀参与此次峰会。会议现场,展台打卡火爆、演讲干货满满,为观众带来高质量的行业内容。 腾讯云全链路高效 开发上云实践‍ 技术创新…...

2023年发布的25个开源大型语言模型总结

大型语言模型(llm)是一种人工智能(AI),在大量文本和代码数据集上进行训练。它们可以用于各种任务,包括生成文本、翻译语言和编写不同类型的创意内容。 今年开始,人们对开源LLM越来越感兴趣。这些模型是在开源许可下发布的,这意味…...

Istio网关Gateway 启用TLS

Istio网关Gateway概述 Istio网关Gateway是一个负责处理南北向流量的组件,它通常会暴露服务网格内部的服务,以便外部的请求能够访问到服务网格中的服务。Istio网关Gateway支持多种协议,包括HTTP、HTTPS和GRPC等。 在Istio网关Gateway中&#…...

slam建图与定位_cartographer代码阅读(7)后端约束构建

1.cartographer里的节点:当扫描匹配结束后,有新的一帧scan加入到submap中,这个扫描匹配的结果就叫做节点 global_trajectory_builder.cc // 将匹配后的结果 当做节点 加入到位姿图中auto node_id pose_graph_->AddNode(matching_result->insertio…...

Android usb 配件模式通信示例

当使用 Android 设备作为 USB 配件时,可以使用 Android 提供的 USB Accessory API 来进行 USB 通信。以下是一个简单的 Android USB 配件模式的通信例子。在本例中,我们将接收连接到 Android 设备的 USB 主机发送的数据并向 USB 主机发送响应。 首先&am…...

【Hive实战】Hive的压缩池与锁

文章目录 Hive的压缩池池的分配策略自动分配手动分配隐式分配 池的等待超时Labeled worker pools 标记的工作线程(自定义线程池)Default pool 默认池Worker allocation 工作线程的分配 锁Turn Off ConcurrencyDebuggingConfigurationhive.support.concur…...

【VUE】使用elementUI tree组件根据所选id自动回显

需求如下&#xff1a; 1.点击父级节点 将父级节点下children中所有id放入数组 2.点击父级下的子节点 将点击的子节点放入数组 3.取消选择父节点&#xff0c;将放入数组的所有子节点id删除 4.根据选择的子节点数组&#xff0c;匹配他所属的父节点 <el-tree:data"tre…...

RocketMQ, Dashboard, 控制台安装

文章说明 本文主要说明RocketMQ的控制台&#xff08;Dashboard&#xff09;的安装过程。工作中一直用的是别人装好的&#xff0c;这次终于自己亲手装了一遍。 由于每次都要启动三个应用&#xff0c;比较烦&#xff0c;于是我写了一键启动脚本&#xff0c;分享给大家。这个脚本…...

chrome解决http自动跳转https问题

1.地址栏输入&#xff1a; chrome://net-internals/#hsts 2.找到底部Delete domain security policies一栏&#xff0c;输入想处理的域名&#xff0c;点击delete。 3.再次访问http域名不再自动跳转https了。...

FastGithub 下载

Releases dotnetcore/FastGithub GitHub 无需安装&#xff0c;双击UI程序即可运行。...

TSINGSEE青犀视频安防监控管理平台EasyNVR如何配置鉴权?

视频监控汇聚平台EasyNVR是基于RTSP/Onvif协议的视频平台&#xff0c;可支持将接入的视频流进行全平台、全终端的分发&#xff0c;分发的视频流包括RTSP、RTMP、HTTP-FLV、WS-FLV、HLS、WebRTC等格式。为了满足用户的集成与二次开发需求&#xff0c;我们也提供了丰富的API接口供…...

unittest 数据驱动DDT应用

前言 一般进行接口测试时&#xff0c;每个接口的传参都不止一种情况&#xff0c;一般会考虑正向、逆向等多种组合。所以在测试一个接口时通常会编写多条case&#xff0c;而这些case除了传参不同外&#xff0c;其实并没什么区别。 这个时候就可以利用ddt来管理测试数据&#xf…...

素数个数——数论

题目描述 求 1,2,⋯,N 中素数的个数。 输入格式 一行一个整数 N。 输出格式 一行一个整数&#xff0c;表示素数的个数。 样例 #1 样例输入 #1 10样例输出 #1 4提示 对于 100% 的数据&#xff0c;1≤1081≤N≤108。 本题时间限制在2秒以内。 因为题目时间限制是2秒&#xff0c;所…...

express编写一个简单的get接口

/01编写get接口.jsconst express require(express) const app express()// 创建路由 const useRouter require(./router/user.js) // 注册路由 app.use(/api,useRouter)app.listen(8080, (req, res) > {console.log(8080监听) }) ./02编写post接口 // 注意&#xff1a;如…...

【力扣刷题C++】环形链表

来源&#xff1a;力扣&#xff08;LeetCode&#xff09; 链接&#xff1a;https://leetcode.cn/problems/linked-list-cycle 著作权归领扣网络所有。商业转载请联系官方授权&#xff0c;非商业转载请注明出处。 【题目】给你一个链表的头节点 head &#xff0c;判断链表中是否有…...

如何用Python统计CSDN质量分

文章目录 CSDN质量分查询selenium爬取博客地址单篇测试批量查询分析 CSDN质量分查询 CSDN对博客有一套分数评价标准&#xff0c;其查询入口在这里&#xff1a;质量分查询&#xff0c;效果大致如下 如果质量分太低&#xff0c;就会在博文的标题下面出现黄底黄字&#xff1a; 这…...

gin框架内容(三)--中间件

gin框架内容&#xff08;三&#xff09;--中间件 Gin框架允许开发者在处理请求的过程中&#xff0c;加入用户自己的函数。这个函数就叫中间件&#xff0c;中间件适合处理一些公共的业务逻辑&#xff0c;比如登录认证、权限校验、数据分页、记录日志、耗时统计等 即比如&#x…...

如何在工作中利用Prompt高效使用ChatGPT

导读 AI 不是来替代你的&#xff0c;是来帮助你更好工作。用better prompt使用chatgpt&#xff0c;替换搜索引擎&#xff0c;让你了解如何在工作中利用Prompt高效使用ChatGPT。 01背景 现在 GPT 已经开启了人工智能狂潮&#xff0c;不过是IT圈&#xff0c;还是金融圈。 一开…...

uniapp-小程序button分享传参,当好友通过分享点开该页面时,进行一些判断……

一、需求描述&#xff1a; 该小程序中&#xff0c;点击圈子列表页面—>进入圈子详情页面&#xff0c;在圈子详情页面点击button分享按钮后&#xff0c;发送给好友。当好友通过分享点开该页面时&#xff1a; 1.先判断是否登录&#xff0c;如果没有&#xff0c;先去登录&#…...

Ceph部署方法介绍

Ceph部署方法介绍 Installing Ceph — Ceph Documentation Ceph环境规划 admin是一个部署节点...

GoogleLeNet V2 V3 —— Batch Normalization

文章目录 Batch Normalizationinternal covariate shift激活层的作用BN执行的位置数据白化网络中的BN层训练过程 BN的实验效果MNIST与GoogleLeNet V1比较 GoogleLeNet出来之后&#xff0c;Google在这个基础上又演进了几个版本&#xff0c;一般来说是说有4个版本&#xff0c;之前…...

Mac 系统钥匙串证书不受信任

Mac 系统钥匙串证书不受信任 解决办法 通过尝试安装 Apple PKI 的 Worldwide Developer Relations - G4 (Expiring 12/10/2030 00:00:00 UTC) 解决该异常问题 以上便是此次分享的全部内容&#xff0c;希望能对大家有所帮助!...

一个企业级的文件上传组件应该是什么样的

目录 1.最简单的文件上传 2.拖拽粘贴样式优化 3.断点续传秒传进度条 文件切片 计算hash 断点续传秒传(前端) 断点续传秒传(后端) 进度条 4.抽样hash和webWorker 抽样hash(md5) webWorker 时间切片 5.文件类型判断 通过文件头判断文件类型 6.异步并发数控制(重要…...

安全渗透重点内容

this是js中的一个关键字&#xff0c;在不同的场合使用&#xff0c;this的值会发生变化&#xff0c;下面我将详细的介绍this在函数中的各种指向。 在方法中&#xff0c;this表示该方法所属的对象。 如果单独使用&#xff0c;this表示全局对象。 在函数中&#xff0c;this表示全…...

【触觉智能Purple Pi OH开发板体验】开箱体验:开源主板Purple Pi RK3566 上手指北

前言 前段时间收到来自【电子发烧友】的一款开发板&#xff0c;名叫&#xff1a;PurplePi&#xff0c;216G售价仅249元。它使用的芯片是rk3566&#xff0c;适配的OpenHarmony版本为3.2 Release 是目前最便宜的OpenHarmony标准系统开源开发板&#xff0c;并且软硬件全部开源&am…...

flink1.16使用消费/生产kafka之DataStream

flink高级版本后&#xff0c;消费kafka数据一种是Datastream 一种之tableApi。 上官网 Kafka | Apache Flink Kafka Source 引入依赖 flink和kafka的连接器&#xff0c;里面内置了kafka-client <dependency><groupId>org.apache.flink</groupId><arti…...