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为例格式转换代码,内容如下 前言 由于本人水平有限,难免出现错漏…...
借助 Mybatis 的动态 SQL 解决传参不确定问题
在上一篇的:Mybatis 操作数据库的基本 CRUD 以及查询操作详析_糊糊涂涂的博客-CSDN博客中介绍了Mybatis使用固定SQL语句操作数据,本篇介绍 Mybatis 一个强大的特性:动态SQL。 动态 SQL 解决什么问题? 那当我们要执行的业务逻辑有…...
前端框架学习-Vue(一)
Vue简介 百度百科上关于vue的词条,说vue时一款渐进式JavaScript框架, 简单来说,渐进式是一种设计理念,即在不失去当前功能的前提下,逐步添加新的特性。 说明它时一直在进行维护的。 Vue3,中使用*.vue作为文件后缀,html,…...
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自动回显
需求如下: 1.点击父级节点 将父级节点下children中所有id放入数组 2.点击父级下的子节点 将点击的子节点放入数组 3.取消选择父节点,将放入数组的所有子节点id删除 4.根据选择的子节点数组,匹配他所属的父节点 <el-tree:data"tre…...
RocketMQ, Dashboard, 控制台安装
文章说明 本文主要说明RocketMQ的控制台(Dashboard)的安装过程。工作中一直用的是别人装好的,这次终于自己亲手装了一遍。 由于每次都要启动三个应用,比较烦,于是我写了一键启动脚本,分享给大家。这个脚本…...
chrome解决http自动跳转https问题
1.地址栏输入: chrome://net-internals/#hsts 2.找到底部Delete domain security policies一栏,输入想处理的域名,点击delete。 3.再次访问http域名不再自动跳转https了。...
FastGithub 下载
Releases dotnetcore/FastGithub GitHub 无需安装,双击UI程序即可运行。...
TSINGSEE青犀视频安防监控管理平台EasyNVR如何配置鉴权?
视频监控汇聚平台EasyNVR是基于RTSP/Onvif协议的视频平台,可支持将接入的视频流进行全平台、全终端的分发,分发的视频流包括RTSP、RTMP、HTTP-FLV、WS-FLV、HLS、WebRTC等格式。为了满足用户的集成与二次开发需求,我们也提供了丰富的API接口供…...
unittest 数据驱动DDT应用
前言 一般进行接口测试时,每个接口的传参都不止一种情况,一般会考虑正向、逆向等多种组合。所以在测试一个接口时通常会编写多条case,而这些case除了传参不同外,其实并没什么区别。 这个时候就可以利用ddt来管理测试数据…...
素数个数——数论
题目描述 求 1,2,⋯,N 中素数的个数。 输入格式 一行一个整数 N。 输出格式 一行一个整数,表示素数的个数。 样例 #1 样例输入 #1 10样例输出 #1 4提示 对于 100% 的数据,1≤1081≤N≤108。 本题时间限制在2秒以内。 因为题目时间限制是2秒,所…...
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接口 // 注意:如…...
【力扣刷题C++】环形链表
来源:力扣(LeetCode) 链接:https://leetcode.cn/problems/linked-list-cycle 著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。 【题目】给你一个链表的头节点 head ,判断链表中是否有…...
如何用Python统计CSDN质量分
文章目录 CSDN质量分查询selenium爬取博客地址单篇测试批量查询分析 CSDN质量分查询 CSDN对博客有一套分数评价标准,其查询入口在这里:质量分查询,效果大致如下 如果质量分太低,就会在博文的标题下面出现黄底黄字: 这…...
多云管理“拦路虎”:深入解析网络互联、身份同步与成本可视化的技术复杂度
一、引言:多云环境的技术复杂性本质 企业采用多云策略已从技术选型升维至生存刚需。当业务系统分散部署在多个云平台时,基础设施的技术债呈现指数级积累。网络连接、身份认证、成本管理这三大核心挑战相互嵌套:跨云网络构建数据…...
【JavaEE】-- HTTP
1. HTTP是什么? HTTP(全称为"超文本传输协议")是一种应用非常广泛的应用层协议,HTTP是基于TCP协议的一种应用层协议。 应用层协议:是计算机网络协议栈中最高层的协议,它定义了运行在不同主机上…...
STM32+rt-thread判断是否联网
一、根据NETDEV_FLAG_INTERNET_UP位判断 static bool is_conncected(void) {struct netdev *dev RT_NULL;dev netdev_get_first_by_flags(NETDEV_FLAG_INTERNET_UP);if (dev RT_NULL){printf("wait netdev internet up...");return false;}else{printf("loc…...
使用分级同态加密防御梯度泄漏
抽象 联邦学习 (FL) 支持跨分布式客户端进行协作模型训练,而无需共享原始数据,这使其成为在互联和自动驾驶汽车 (CAV) 等领域保护隐私的机器学习的一种很有前途的方法。然而,最近的研究表明&…...
vue3 字体颜色设置的多种方式
在Vue 3中设置字体颜色可以通过多种方式实现,这取决于你是想在组件内部直接设置,还是在CSS/SCSS/LESS等样式文件中定义。以下是几种常见的方法: 1. 内联样式 你可以直接在模板中使用style绑定来设置字体颜色。 <template><div :s…...
Mac软件卸载指南,简单易懂!
刚和Adobe分手,它却总在Library里给你写"回忆录"?卸载的Final Cut Pro像电子幽灵般阴魂不散?总是会有残留文件,别慌!这份Mac软件卸载指南,将用最硬核的方式教你"数字分手术"࿰…...
什么是EULA和DPA
文章目录 EULA(End User License Agreement)DPA(Data Protection Agreement)一、定义与背景二、核心内容三、法律效力与责任四、实际应用与意义 EULA(End User License Agreement) 定义: EULA即…...
汇编常见指令
汇编常见指令 一、数据传送指令 指令功能示例说明MOV数据传送MOV EAX, 10将立即数 10 送入 EAXMOV [EBX], EAX将 EAX 值存入 EBX 指向的内存LEA加载有效地址LEA EAX, [EBX4]将 EBX4 的地址存入 EAX(不访问内存)XCHG交换数据XCHG EAX, EBX交换 EAX 和 EB…...
算法笔记2
1.字符串拼接最好用StringBuilder,不用String 2.创建List<>类型的数组并创建内存 List arr[] new ArrayList[26]; Arrays.setAll(arr, i -> new ArrayList<>()); 3.去掉首尾空格...
【生成模型】视频生成论文调研
工作清单 上游应用方向:控制、速度、时长、高动态、多主体驱动 类型工作基础模型WAN / WAN-VACE / HunyuanVideo控制条件轨迹控制ATI~镜头控制ReCamMaster~多主体驱动Phantom~音频驱动Let Them Talk: Audio-Driven Multi-Person Conversational Video Generation速…...

