Pascal Voc 2007 2012

news2024/11/26 17:40:32

1、简介

PASCAL 全称:Pattern Analysis, Statical Modeling and Computational Learning

PASCAL VOC(The PASCAL Visual Object Classes )是一个经典的计算机视觉数据集,由牛津大学、马里兰大学和微软剑桥研究院的研究人员创建的。 该数据集于2005年首次发布,从那时起就被用于训练和评估目标检测算法。

PASCAL VOC 从 2005年开始举办挑战赛,每年的内容都有所不同,主要包括:

  • 图像分类(Classification )
  • 目标检测(Detection)
  • 目标分割(Segmentation)
  • 人体布局(Human Layout)
  • 动作识别(Action Classification)

我们知道在 ImageNet挑战赛上涌现了一大批优秀的分类模型,而PASCAL挑战赛上则是涌现了一大批优秀的目标检测和分割模型,这项挑战赛已于2012年停止举办了,但是研究者仍然可以在其服务器上提交预测结果以评估模型的性能。

虽然近期的目标检测或分割模型更倾向于使用MS COCO数据集,但是这丝毫不影响 PASCAL VOC数据集的重要性,毕竟PASCAL对于目标检测或分割类型来说属于先驱者的地位。对于现在的研究者来说比较重要的两个年份的数据集是 PASCAL VOC 2007 与 PASCAL VOC 2012,这两个数据集频频在现在的一些检测或分割类的论文当中出现。


2、 官网地址

官网地址:http://host.robots.ox.ac.uk/pascal/VOC/
官方文档 : http://host.robots.ox.ac.uk/pascal/VOC/pubs/everingham10.pdf


3、数据集下载

1)下载方式一 :点击下方 链接直接下载

Pascal VOC 2007

  • 训练集和验证集 下载地址 : training/validation data (450MB tar file)
  • 测试集(图像 + 标注)下载地址: annotated test data (430MB tar file)
  • 测试集(仅标注文件)下载地址: annotation only (12MB tar file, no images)

Pascal VOC 2012

  • 训练集和验证集 下载地址: training/validation data (2GB tar file)
  • 测试集标注未公开

2)下载方式二 : 从官网下载

a、Pascal VOC 2007 数据集
点击链接 进入 Pascal VOC 2007 主页 : http://host.robots.ox.ac.uk/pascal/VOC/voc2007
在页面中找到如下 下载链接,点击进行下载

在这里插入图片描述
b、Pascal VOC 2012 数据集
点击链接 进入 Pascal VOC 2012 主页 : http://host.robots.ox.ac.uk/pascal/VOC/voc2012/
在页面中找到如下 下载链接,点击进行下载
在这里插入图片描述


4、数据集的发展 与 20个类别

1)数据集的发展

在这里插入图片描述

对于 分类 和 检测 来说,下图所示为数据集的发展历程,相同颜色的代表相同的数据集:
在这里插入图片描述

  • 05年、06年、07年、08年数据集,为互斥的,独立的、完全不相同的数据集
  • 09年开始,所有数据集由前几年的部分图像 和 新图像组成
    09年的数据集 = 07年部分图像 + 08年部分图像 + 09年新图像
  • 10、11 年的数据集,均是在前一年的数据集上进行扩充
  • 12 年的数据集 和 11年的数据集一样

虽然 Pascal VOC 2012 和 2007 版本的数据集存在一些共享的部分,但是它们的图像和标注文件在细节上还是有所不同的,因此在使用数据集时需要注意版本和文件的正确匹配。

2)20个类别

对于 图像分类任务 和 目标检测任务,数据集有 20个类别 (4大类)

在这里插入图片描述

}
    "aeroplane": 1,
    "bicycle": 2,
    "bird": 3,
    "boat": 4,
    "bottle": 5,
    "bus": 6,
    "car": 7,
    "cat": 8,
    "chair": 9,
    "cow": 10,
    "diningtable": 11,
    "dog": 12,
    "horse": 13,
    "motorbike": 14,
    "person": 15,
    "pottedplant": 16,
    "sheep": 17,
    "sofa": 18,
    "train": 19,
    "tvmonitor": 20
}

5、数据分布与统计

1)Pascal VOC 2007

\quad \quad 官方地址

[图片]


2)Pascal VOC 2012

\quad \quad 官方地址
在这里插入图片描述


6、数据集的使用

目前广大研究者们普遍使用的是 VOC2007和VOC2012数据集。
论文中针对 VOC2007和VOC2012 的具体用法有以下几种:

  • 只用VOC2007的trainval 训练,使用VOC2007的test测试
  • 只用VOC2012的trainval 训练,使用VOC2012的test测试,这种用法很少使用,因为大家都会结合VOC2007使用
  • 使用 VOC2007 的 train+val 和 VOC2012的 train+val 训练,然后使用 VOC2007的test测试,这个用法是论文中经常看到的 07+12 ,研究者可以自己测试在VOC2007上的结果,因为VOC2007的test是公开的。
  • 使用 VOC2007 的 train+val+test 和 VOC2012的 train+val训练,然后使用 VOC2012的test测试,这个用法是论文中经常看到的 07++12 ,这种方法需提交到VOC官方服务器上评估结果,因为VOC2012 test没有公布。
  • 先在 MS COCO 的 trainval 上预训练,再使用 VOC2007 的 train+val、 VOC2012的 train+val 微调训练,然后使用 VOC2007的test测试,这个用法是论文中经常看到的 07+12+COCO 。
  • 先在 MS COCO 的 trainval 上预训练,再使用 VOC2007 的 train+val+test 、 VOC2012的 train+val 微调训练,然后使用 VOC2012的test测试 ,这个用法是论文中经常看到的 07++12+COCO,这种方法需提交到VOC官方服务器上评估结果,因为VOC2012 test没有公布。

7、数据集结构

1)Pascal VOC 2007

.
└── VOCdevkit
    └── VOC2007
        ├── Annotations                 标注文件(图像分类、目标检测、人体布局)
        │   ├── 000005.xml
        │   ├── 000007.xml
        │   ├── 000009.xml
        │   └── ... (共 5011个标注文件)
        ├── ImageSets                   数据集分割信息 (训练集、验证集、训练集+验证集)
        │   ├── Layout                  用于人体布局图像信息
        │   │   ├── train.txt
        │   │   ├── trainval.txt
        │   │   └── val.txt
        │   ├── Main                    用于图像分类和目标检测图像信息
        │   │   ├── train.txt          
        │   │   ├── trainval.txt       
        │   │   ├── val.txt            
        │   │   └── ... (共63个文件)
        │   └── Segmentation            用于语义分割和实例分割图像信息
        │       ├── train.txt
        │       ├── trainval.txt
        │       └── val.txt
        ├── JPEGImages                  所有原图像
        │   ├── 000005.jpg
        │   ├── 000007.jpg
        │   ├── 000009.jpg
        │   └── ... (共5011张图像)
        ├── SegmentationClass           语义分割标注图像
        │   ├── 000032.png
        │   ├── 000033.png
        │   ├── 000039.png
        │   └── ... (共422张图像)
        └── SegmentationObject          实例分割标注图像
            ├── 000032.png
            ├── 000033.png
            ├── 000039.png
            └── ... (共422张图像)

2)Pascal VOC 2012

.
└── VOCdevkit
    └── VOC2012
        ├── Annotations                  标注文件(图像分类、目标检测、人体布局)
        │   ├── 2007_000027.xml
        │   ├── 2007_000032.xml
        │   ├── 2007_000033.xml
        │   ├── 2007_000039.xml
        │   └── ...(共17125张图像)
        ├── ImageSets                     数据集分割信息 (训练集、验证集、训练集+验证集)
        │   ├── Action                      用于动作识别
        │   │   ├── train.txt                2296张图像
        │   │   ├── trainval.txt             4588张图像
        │   │   ├── val.txt                  2292张图像
        │   │   └── ...
        │   ├── Layout                      用于人体布局
        │   │   ├── train.txt                4425张图像
        │   │   ├── trainval.txt             850张图像
        │   │   └── val.txt                  425张图像
        │   ├── Main                        用于图像分类和目标检测  
        │   │   ├── train.txt                5717张图像 
        │   │   ├── train_val.txt            11540张图像
        │   │   └── trainval.txt             5823张图像 
        │   └── Segmentation                用于语义分割和实例分割 
        │       ├── train.txt                 1464张图像
        │       ├── trainval.txt              2913张图像
        │       └── val.txt                   1449张图像
        ├── JPEGImages                     所有原图像
        │   ├── 2007_000027.jpg
        │   ├── 2007_000032.jpg
        │   ├── 2007_000033.jpg
        │   ├── 2007_000039.jpg
        │   └── ...(共17125张图像)
        ├── SegmentationClass              语义分割标注图像
        │   ├── 2007_000032.png
        │   ├── 2007_000033.png 
        │   ├── 2007_000039.png
        │   ├── 2007_000042.png
        │   └── ...(共2913张图像)
        └── SegmentationObject             实例分割标注图像
            ├── 2007_000032.png
            ├── 2007_000033.png
            ├── 2007_000039.png
            ├── 2007_000042.png
            └── ...(共2913张图像)

3)2007 和 2012 数据结构的区别

1、Pascal VOC 2012 的数据集 因为是在前几年的数据集上进行扩增,所以文件名中包含年份,而 Pascal VOC 2007 的文件名中不包含
- Pascal VOC 2007 的标注文件名 和 图像文件名 类似为: 000005.xml、 000005.jpg
- Pascal VOC 2012 的标注文件名 和 图像文件名 类似为: 2007_000027.xml、 2007_000039.png
2、Pascal VOC 2012 的 ImageSets 中包括 Action 文件:用于动作识别任务的数据集划分,而 Pascal VOC 2007 的 ImageSets 文件中不包含, 因为 动作识别任务(Action Classification) 是2010年才有的。
3、.xml 的标注文件内容 有所不同,比如: 12版本中有的图像标注 是有 动作信息


8、标注文件结构

(1)目标检测 标注文件 Annotation

<annotation>
        <folder>VOC2007</folder>
        <filename>000001.jpg</filename>
        <source>
                <database>The VOC2007 Database</database>
                <annotation>PASCAL VOC2007</annotation>
                <image>flickr</image>
                <flickrid>341012865</flickrid>
        </source>
        <owner>
                <flickrid>Fried Camels</flickrid>
                <name>Jinky the Fruit Bat</name>
        </owner>
        <size>
                <width>353</width>
                <height>500</height>
                <depth>3</depth>
        </size>
        <segmented>0</segmented>
        <object>
                <name>dog</name>
                <pose>Left</pose>
                <truncated>1</truncated>
                <difficult>0</difficult>
                <bndbox>
                        <xmin>48</xmin>
                        <ymin>240</ymin>
                        <xmax>195</xmax>
                        <ymax>371</ymax>
                </bndbox>
        </object>
        <object>
                <name>person</name>
                <pose>Left</pose>
                <truncated>1</truncated>
                <difficult>0</difficult>
                <bndbox>
                        <xmin>8</xmin>
                        <ymin>12</ymin>
                        <xmax>352</xmax>
                        <ymax>498</ymax>
                </bndbox>
        </object>
</annotation>
  • annotation:标注文件的根节点,包含了整个标注信息
  • folder:图像所在的文件夹名称
  • filename:图像的文件名
  • source:图像来源
  • owner:图像拥有者
  • size:图像的尺寸信息,包括宽度、高度、深度。
  • segmented:是否被分割标注过: 值为 0,未被过分割;值为 1,被分割标注。
  • object:图像中的一个物体,其中的 信息包括:
    • name:物体的类别名称, 20个类别
    • bndbox:物体的边界框信息,包括左上角和右下角的坐标
      • xmin:边界框左上角的 x 坐标
      • ymin:边界框左上角的 y 坐标
      • xmax:边界框右下角的 x 坐标
      • ymax:边界框右下角的 y 坐标
    • difficult:标记物体是否难以识别的标志,0 表示容易识别,1 表示难以识别
    • truncated:标记物体是否被截断:0 表示未被截断,1 表示被截断(比如在图片之外,或者被遮挡超过15%)
  • pose:标记物体的姿态,例如正面、侧面等

(2)语义分割标注图像 SegmentationClass

在这里插入图片描述

  • 背景部分的 标注像素值 为 0
  • 边界部分的标注像素值为 255
  • 难以分割的区域,例如有重叠物体或遮挡的区域,标注像素值为255
  • 被分割出的object 内部, 标注像素值为其类别索引。 比如,被分割的飞机部分的像素值为飞机类别索引值 1
}
    "aeroplane": 1,
    "bicycle": 2,
    "bird": 3,
    "boat": 4,
    "bottle": 5,
    "bus": 6,
    "car": 7,
    "cat": 8,
    "chair": 9,
    "cow": 10,
    "diningtable": 11,
    "dog": 12,
    "horse": 13,
    "motorbike": 14,
    "person": 15,
    "pottedplant": 16,
    "sheep": 17,
    "sofa": 18,
    "train": 19,
    "tvmonitor": 20
}

(3)实例分割标注图像 SegmentationObject

  • 背景部分的 标注像素值 为 0
  • 边界部分的标注像素值为 255
  • 难以分割的区域,例如有重叠物体或遮挡的区域,标注像素值为255
  • 被分割出的 object 内部,使用 物体实例的 ID 来标识它。物体实例的 ID :为该物体在 .xml 标注文件中的 index 。比如,在 .xml 标注文件中,排位第2个的 object,ID = 2,在标注图像中,该 object 的像素值,就为2

在这里插入图片描述


(4)人体布局 Human Layout

< /part> 标签 框起来的部分,就是人体布局的标签

<annotation>
    <folder>VOC2012</folder>
    <filename>2007_000027.jpg</filename>
    <source>
       <database>The VOC2007 Database</database>
       <annotation>PASCAL VOC2007</annotation>
       <image>flickr</image>
    </source>
    <size>
       <width>486</width>
       <height>500</height>
       <depth>3</depth>
    </size>
    <segmented>0</segmented>
    <object>
       <name>person</name>
       <pose>Unspecified</pose>
       <truncated>0</truncated>
       <difficult>0</difficult>
       <bndbox>
          <xmin>174</xmin>
          <ymin>101</ymin>
          <xmax>349</xmax>
          <ymax>351</ymax>
       </bndbox>
       <part>
          <name>head</name>
          <bndbox>
             <xmin>169</xmin>
             <ymin>104</ymin>
             <xmax>209</xmax>
             <ymax>146</ymax>
          </bndbox>
       </part>
       <part>
          <name>hand</name>
          <bndbox>
             <xmin>278</xmin>
             <ymin>210</ymin>
             <xmax>297</xmax>
             <ymax>233</ymax>
          </bndbox>
       </part>
       <part>                    
          <name>foot</name>      
          <bndbox>               
             <xmin>273</xmin>    
             <ymin>333</ymin>    
             <xmax>297</xmax>    
             <ymax>354</ymax>    
          </bndbox>              
       </part>                   
       <part>
          <name>foot</name>
          <bndbox>
             <xmin>319</xmin>
             <ymin>307</ymin>
             <xmax>340</xmax>
             <ymax>326</ymax>
          </bndbox>
       </part>
    </object>
</annotation>

(5)动作识别 Action Classification

< /actions> 标签 框起来的部分,就是动作识别的标签

<annotation>
    <filename>2011_003279.jpg</filename>
    <folder>VOC2011</folder>
    <object>
       <name>person</name>
       <actions>                                     
          <jumping>0</jumping>                       
          <other>0</other>                           
          <phoning>0</phoning>                       
          <playinginstrument>0</playinginstrument>   
          <reading>0</reading>                       
          <ridingbike>0</ridingbike>                 
          <ridinghorse>0</ridinghorse>               
          <running>0</running>                       
          <takingphoto>0</takingphoto>               
          <usingcomputer>0</usingcomputer>           
          <walking>1</walking>                       
       </actions>                                    
       <bndbox>
          <xmax>188</xmax>
          <xmin>109</xmin>
          <ymax>500</ymax>
          <ymin>307</ymin>
       </bndbox>
       <difficult>0</difficult>
       <pose>Unspecified</pose>
       <point>
          <x>153</x>
          <y>374</y>
       </point>
    </object>
    <segmented>0</segmented>
    <size>
       <depth>3</depth>
       <height>500</height>
       <width>367</width>
    </size>
    <source>
       <annotation>PASCAL VOC2011</annotation>
       <database>The VOC2011 Database</database>
       <image>flickr</image>
    </source>
</annotation>

在这里插入图片描述


9、数据集解析 - 目标检测任务

将数据集转换为 yolo 格式 , YOLO 数据格式介绍: YOLO 数据集格式

import xml.etree.ElementTree as ET
import os


# voc的20个类别
classes = ['aeroplane', 'bicycle', 'bird', 'boat', 'bottle', 'bus', 'car', 'cat', 'chair', 'cow', 'diningtable',
           'dog', 'horse', 'motorbike', 'person', 'pottedplant', 'sheep', 'sofa', 'train', 'tvmonitor']


def convert(size, bbox):
    x = (bbox[0] + bbox[1]) / 2.0
    y = (bbox[2] + bbox[3]) / 2.0
    w = bbox[1] - bbox[0]
    h = bbox[3] - bbox[2]
    x = x / size[0]
    w = w / size[0]
    y = y / size[1]
    h = h / size[1]
    return (x, y, w, h)


def convert_annotation(xml_file, save_file):

    # 保存yolo格式 的label 的 .txt 文件地址
    save_file = open(save_file, 'w')

    tree = ET.parse(xml_file)
    size = tree.find('size')
    w = int(size.find('width').text)
    h = int(size.find('height').text)

    for obj in tree.findall('object'):
        difficult = obj.find('difficult').text
        cls = obj.find('name').text
        if cls not in classes or int(difficult) == 1:
            continue
        cls_id = classes.index(cls) + 1   # 类别索引从1开始,类别0是背景
        bbox = obj.find('bndbox')
        b = (float(bbox.find('xmin').text),
             float(bbox.find('xmax').text),
             float(bbox.find('ymin').text),
             float(bbox.find('ymax').text))
        bb = convert((w, h), b)
        save_file.write(str(cls_id) + " " + " ".join([str(a) for a in bb]) + '\n')
    save_file.close()


if __name__ == "__main__":
    # 数据集根目录地址
    data_root = "/Users/enzo/Documents/GitHub/dataset/VOCdevkit/VOC2007"

    # 标注文件地址
    annotation = os.path.join(data_root, 'Annotations')

    # yolo格式的文件保存地址
    save_root = './labels'
    if not os.path.exists(save_root):
        os.makedirs(save_root)

    for train_val in ["train", "val"]:
        if not os.path.exists(os.path.join(save_root, train_val)):
            os.makedirs(os.path.join(save_root, train_val))

        # 数据集划分的 .txt 文件地址
        txt_file = os.path.join(data_root, 'ImageSets/Main', train_val+'.txt')

        with open(txt_file, 'r') as f:
            lines = f.readlines()
        file_names = [line.strip() for line in lines if len(line.strip())>0]

        for file_name in file_names:
            xml_file = os.path.join(annotation, file_name+'.xml')
            save_file = os.path.join(save_root, train_val, file_name+'.txt')
            convert_annotation(xml_file, save_file)

在这里插入图片描述


10、Reference

https://arleyzhang.github.io/articles/1dc20586/

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

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

相关文章

HiveSQL初级题目

文章目录 Hive SQL题库(初级)第一章 环境准备1.1 建表语句1.2 数据准备1.3 插入数据 第二章 简单查询2.1 查找特定条件2.1.1 查询姓名中带“冰”的学生名单2.1.2 查询姓“王”老师的个数2.1.3 检索课程编号为“04”且分数小于60的学生的课程信息&#xff0c;结果按分数降序排列…

chatgpt赋能python:Python如何保存文件到文件夹?

Python如何保存文件到文件夹&#xff1f; Python是一种高级编程语言&#xff0c;广泛应用于数据科学、网络编程、自动化任务等领域。其中&#xff0c;保存文件到文件夹是Python编程中的重要功能。本文将介绍Python如何保存文件到文件夹的方法&#xff0c;包括如何创建文件夹和…

动态网站JSP技术

文章目录 零、本节学习目标一、JSP概述&#xff08;一&#xff09;什么是JSP1、JSP的概念2、JSP的特征&#xff08;二&#xff09;编写第一个JSP1、创建Web项目2、修改Artifact名称&#xff0c;重新部署项目3、创建欢迎JSP页面4、启动服务器&#xff0c;查看结果 二、JSP基本语…

chatgpt赋能python:Python怎么产生方波?

Python怎么产生方波&#xff1f; 随着科技的发展&#xff0c;数字信号处理在各个领域都有广泛的应用&#xff0c;产生方波是其中一个基础的信号处理技术。在Python中&#xff0c;可以通过一些简单的代码来产生方波信号。本文将介绍如何使用Python产生方波。 什么是方波信号&a…

牛客小白赛复盘] 牛客小白月赛74

[牛客小白赛复盘] 牛客小白月赛74 总结A 简单的整除1. 题目描述2. 思路分析3. 代码实现 B 整数划分1. 题目描述2. 思路分析3. 代码实现 C 传送阵1. 题目描述2. 思路分析3. 代码实现 D 修改后的和1. 题目描述2. 思路分析3. 代码实现 E 幼稚园的树21. 题目描述2. 思路分析3. 代码…

一分钟学一个 Linux 命令 - tar

前言 大家好&#xff0c;我是 god23bin。今天给大家带来的是 Linux 命令系列&#xff0c;每天只需一分钟&#xff0c;记住一个 Linux 命令不成问题。今天&#xff0c;我们要介绍的是一个常用且强大的命令&#xff1a;tar。 什么是 tar 命令&#xff1f; tar 是 tape archive…

C语言经典题目(三)

C站的小伙伴们&#xff0c;大家好呀&#xff01;&#x1f60a;&#x1f60a;✨✨这一篇是C语言之经典题目篇&#xff0c;除程序设计&#xff0c;还有一些不错的程序分析&#xff0c;快来和我一起进入C语言的世界吧&#xff01;✨✨✨ &#x1f495;C语言其他刷题篇在这里哦&…

【Python程序设计】——重点题目(期末不挂科)

课本&#xff1a; 目录 &#x1f552; 1. 控制结构&#x1f552; 2. 数据类型&#x1f552; 3. 函数&#x1f552; 4. 文件操作&#x1f552; 5. 面向对象&#x1f552; 6. Excel操作&#x1f552; 7. 实验课题目合集&#x1f552; 8. 思政题 &#x1f552; 1. 控制结构 【例…

chatgpt赋能python:Python怎么二次安装?

Python怎么二次安装&#xff1f; 介绍 Python作为一种广泛应用的编程语言&#xff0c;其安装也是极其简单。只需要在Python官网上下载对应版本的安装包&#xff0c;并按照提示进行安装即可。但是&#xff0c;如果你需要二次安装Python&#xff0c;比如更新到新的版本或者将Py…

百度、头条、360、搜狗下拉拓词及长尾关键词挖掘-批量多线程

百度、头条、360、搜狗下拉拓词及长尾关键词挖掘软件介绍&#xff1a; 1、在如今竞争激烈的互联网时代&#xff0c;作为SEO站长&#xff0c;我们都知道一个事实&#xff1a;流量就是金钱&#xff01;而要想在海量信息中脱颖而出&#xff0c;我们需要借助一些强大的工具来帮助我…

OpenMMLab-AI实战营第二期——4-1.目标检测与MMDetection

文章目录 1. 目标检测的基本范式1.0-1 目标检测简介1.0-2 基本概念1.1 滑窗1.1.1 滑窗基本思想1.1.2 滑窗效率问题改进1.1.3 感受野计算 1.2-1 使用卷积实现密集预测1.2.1 在特征图上进行密集预测1.2.2 边界框回归1.2.3 非极大值抑制&#xff08;Non-Maximum Suppression&#…

chatgpt赋能python:Python入门:如何下载和安装JupyterNotebook

Python入门&#xff1a;如何下载和安装Jupyter Notebook Jupyter Notebook是Python编程必备的工具之一&#xff0c;它可以帮助你快速地编写和测试Python代码。在这篇文章中&#xff0c;我们将向你展示如何下载和安装Jupyter Notebook。如果你是一名Python入门者&#xff0c;这…

神经网络:CNN中的filter,kernel_size,strides,padding对输出形状的影响

输入数据在经过卷积层后&#xff0c;形状一般会发生改变&#xff0c;而形状的变化往往与以下四个超参数有关。 1&#xff0c;filter&#xff08;out_channel&#xff09; 该超参数控制着输入数据经过卷积层中需要与几个卷积核进行运算&#xff0c;而输入数据与每个卷积核进行…

【P57】JMeter 保存响应到文件(Save Responses to a file)

文章目录 一、保存响应到文件&#xff08;Save Responses to a file&#xff09;参数说明二、准备工作三、测试计划设计 一、保存响应到文件&#xff08;Save Responses to a file&#xff09;参数说明 可以将结果树保存到文件 使用场景&#xff1a;当结果太大&#xff0c;使…

Mybatis插件001分页 pagehelper

Mybatis-PageHelper/Important.md at master pagehelper/Mybatis-PageHelper GitHubMybatis通用分页插件. Contribute to pagehelper/Mybatis-PageHelper development by creating an account on GitHub.https://github.com/pagehelper/Mybatis-PageHelper/blob/master/wikis…

短视频社区的商业化和流量分发

商业化本质上是一门流量生意&#xff0c;那么为什么要做流量&#xff1f; 1、流量分配影响社区生态 一个社区的总流量是要在三类流量里面做分配&#xff0c;此消彼长&#xff1a; 私域流量公域流量&#xff08;中心化运营 算法推荐&#xff09;商业化的流量&#xff08;也是…

chatgpt赋能python:Python代码的保存:保障开发效率和代码质量

Python 代码的保存&#xff1a;保障开发效率和代码质量 Python 是一种高级语言&#xff0c;被广泛应用于数据分析、机器学习、 Web 开发等各个领域。它的语法简洁、易于学习&#xff0c;拥有丰富的标准库和第三方库&#xff0c;帮助开发者快速实现功能。在这样一个代码生产效率…

[ruby on rails] passenger+nginx 部署rails

安装Passenger 方法1 Passenger 是一个 app server&#xff0c;支持基于 Rack 框架的 Ruby app&#xff08;包括 Rails&#xff09;&#xff0c;作为模块变异到Nginx&#xff0c;不需要自己启动。 安装 Passenger 最简单的方法是通过 apt 安装&#xff0c;首先导入 Passenger…

英语4级技巧

真题链接&#xff1a;https://pan.baidu.com/s/1IZ0MmEpkANUm77ZLDmHs1A?pwd1111 提取码&#xff1a;1111 一、听力技巧 听到什么选什么 听发音 4级 90% 6级 60% 1、开头原则 2、顺序原则 1、单词发音/语音现象&#xff08;连读、弱读、失去爆破&#xff09; 反转词&#…

chatgpt赋能python:Python如何产生随机整数?

Python如何产生随机整数&#xff1f; Python是一种高级编程语言。它允许程序员轻松地创建各种类型的应用程序&#xff0c;包括生成随机整数。本文将介绍如何在Python中使用内置的随机数函数来生成随机整数。 random模块 Python中的random模块提供了生成随机数的函数。这些函…