interview

news2025/1/16 3:55:18

  • 1.PyTorch
    • 1.1 Conv2d
    • 1.2 dataset,dataloader
    • 1.3 训练pipeline
    • 1.4 梯度归零
    • 1.5 torch保存模型种类及区别
  • 2.目标检测
    • 2.1 yolo3,4,5,7区别
    • 2.2 yolo使用的loss(ciou,BCE等等)
      • ciou
      • BCEloss
      • L1,L2,CE,BCE
    • 2.3 图像增强
    • 2.4 IOU计算公式
  • 3.深度学习基础
    • 3.1 卷积公式
  • 4.TensorRT
  • 5. python
  • 6. c++

1.PyTorch

1.1 Conv2d

实现2d卷积操作
在这里插入图片描述

1.2 dataset,dataloader

分别负责可被Pytorhc使用的数据集的创建以及向训练传递数据的任务。如果想个性化自己的数据集或者数据传递方式,也可以自己重写子类。Dataset是DataLoader实例化的一个参数

torch.utils.data.Dataset 是一个表示数据集的抽象类。任何自定义的数据集都需要继承这个类并覆写相关方法。
可以通过继承后重写Init,getitem等方法自定义

DataLoader是Pytorch中用来处理模型输入数据的一个工具类。组合了数据集(dataset) + 采样器(sampler),并在数据集上提供单线程或多线程(num_workers )的可迭代对象。
在这里插入图片描述

参数:
dataset (Dataset) – 决定数据从哪读取或者从何读取;
batch_size (python:int, optional) – 批尺寸(每次训练样本个数,默认为1)
shuffle (bool, optional) –每一个 epoch是否为乱序 (default: False).
num_workers (python:int, optional) – 是否多进程读取数据(默认为0);
drop_last (bool, optional) – 当样本数不能被batchsize整除时,最后一批数据是否舍弃(default: False)
pin_memory(bool, optional) - 如果为True会将数据放置到GPU上去(默认为false)

1.3 训练pipeline

在这里插入图片描述

1.4 梯度归零

为什么每一轮batch需要设置optimizer.zero_grad:
根据pytorch中的backward()函数的计算,当网络参量进行反馈时,梯度是被积累的而不是被替换掉;但是在每一个batch时毫无疑问并不需要将两个batch的梯度混合起来累积,因此这里就需要每个batch设置一遍zero_grad 了。
在这里插入图片描述

1.5 torch保存模型种类及区别

在这里插入图片描述

2.目标检测

2.1 yolo3,4,5,7区别

yolov4/yolov5

2.2 yolo使用的loss(ciou,BCE等等)

ciou

考虑两个框中心点的距离及两个框最小外包对角线距离
相比于IOU的优点:
1.IOU没有考虑到两个框之间的位置信息,如果两个框没有重叠,它的IOU=0,没法进行反向传播。
2.还有一点,就是为什么之前的所有目标检测的网络中没有用iou直接作为损失函数。就是因为对于大小不同的框,iou值相同,但是其重叠程度却不同(说白了,就是对尺度不敏感)。在ciou中,由于有v这个概念,所以就使这种情况不可能再出现(个人理解,不对还请指正)。

BCEloss

BCE/CE
CE用于多分类
BCE用于二分
多分类也可以叠加多个BCE
BCE主要适用于二分类的任务,而且多标签分类任务可以简单地理解为多个二元分类任务叠加。所以BCE经过简单修改也可以适用于多标签分类任务。使用BCE之前,需要将输出变量量化在[0,1]之间(可以使用Sigmoid激活函数)。上边我们也深度刨析了Sigmoid和Softmax两种激活函数,探究其统计学本质,Sigmoid的输出为伯努利分布,也就是我们常说的二项分布;而Softmax的输出表示为多项式分布。所以Sigmoid通常用于二分类,Softmax用于多类别分类。

L1,L2,CE,BCE

L1,L2,CE,BCE loss

2.3 图像增强

yolov3:
1.Mosaic(马赛克)
2.随机旋转、平移、缩放、错切、hsv增强

yolov5:
1.Mosaic数据增强
2.Copy paste数据增强
3.Random affine仿射变换
4.MixUp数据增强
5.HSV随机增强图像
6随机水平翻转

2.4 IOU计算公式

# xmin ymin xmax ymax
def iou(box1, box2):
    # 1.interarea
    # 2.box1 area
    # 3.box2 area
    # 4.interarea / (box1area + box2area - interarea)

    x1 = max(box1[0],box2[0])
    y1 = max(box1[1],box2[1])
    x2 = min(box1[2],box2[2])
    y2 = min(box1[3],box2[3])

    interarea   = max(0, x2-x1) * max(0, y2-y1)
    box1area    = (box1[2] - box1[0]) * (box1[3] - box1[1])
    box2area    = (box2[2] - box2[0]) * (box2[3] - box2[1])
    iou         = interarea / (box1area + box2area - interarea)

    print(iou)

3.深度学习基础

3.1 卷积公式

在这里插入图片描述

4.TensorRT

5. python

6. c++

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

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

相关文章

Niantic:未来AR重要场景,VPS众包3D地图到底是啥?

几个世纪以来,人们使用指南针、地图、星盘和象限仪来找路,而在过去二十年里,GPS成为了主流的定位系统,并且与手机结合后,让人们的出行越来越方便。而随着摄像头等技术发展,我们也开始看到视觉定位技术的崛起…

(almalinux,rockylinux,openeuler,openanolis,centos,ubuntu)云原生容器镜像漏洞trivy扫描对比

一、下载并安装trivy漏洞扫描工具 下载: https://github.com/aquasecurity/trivy/releases/download/v0.31.3/trivy_0.31.3_Linux-64bit.rpm 以下为centos平台的安装: [rootlocalhost ~]# rpm -ivh trivy_0.31.3_Linux-64bit.rpm Preparing... …

【算法刷题 DAY03】剑指offer树相关算法题总结2

JZ7 重建二叉树 描述 给定节点数为 n 的二叉树的前序遍历和中序遍历结果,请重建出该二叉树并返回它的头结点。 例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建出如下图所示。 提示: 1.vin.length pre.length 2.pre 和…

CSS入门二、美化页面元素

零、文章目录 文章地址 个人博客-CSDN地址:https://blog.csdn.net/liyou123456789个人博客-GiteePages:https://bluecusliyou.gitee.io/techlearn 代码仓库地址 Gitee:https://gitee.com/bluecusliyou/TechLearnGithub:https:…

【高速数字化仪应用案例系列】虹科数字化仪在光纤领域的应用

光纤应用 光纤越来越多地应用于各种领域。它们能够以光速长距离传输信息,并且损耗低,这使它们成为大容量远程数据通信的主要媒介。因此,光纤网络可以在电信系统中找到,它们用于传输和接收的目的。它们还用于提供各种数字服务&…

Docker命令-常用命令讲解

Docker常用命令 一:帮助命令二:镜像命令1. docker images 查看所有本地的主机上的镜像2. docker search 镜像名3. docker pull 下载镜像4. docker rmi三:容器命令1.docker run 新建容器并启动2.从容器返回到主机:3.docker ps 列出…

收银软件哪家强?2023年收银软件排行榜新鲜出炉!

每家实体店都少不了收银的程序,每个实体店老板都离不开收银的工具。随着信息技术的发展,收银的工具不再只有收银机,更高效、更方便的收银软件,已经成为了零售店老板们的新宠。收银机和收银软件有什么区别?收银机只能对…

1.11 LED灯点亮串口解析器

LED点灯实验 一.电路图: 三极管: NPN类型: PNP类型: NPN类型当基极为高电平时,集电极和发射极导通 PNP类型当基极为低电平时,集电极和发射极导通 由电路图可知LED电路图中三极管为NPN类型&am…

我在CSDN的2022---2023Flag

一、加入CSDN我是在2020年12月注册的CSDN,大一上学期就听同学给我讲了这个软件,然后就下载了,里面确实很多优质文章,对于当时向我们这样的初学者来说就是很实用。还记得都是搜什么,求最大值,最小值&#xf…

Redis热点数据处理

1、概念热点数据就是访问量特别大的数据。2、热点数据引起的问题流量集中,达到物理网卡上限。请求过多,缓存分片服务被打垮。redis作为一个单线程的结构,所有的请求到来后都会去排队,当请求量远大于自身处理能力时,后面…

RabbitMQ消息可靠性问题、死信交换机、延迟消息、惰性队列

目录消息可靠性生产者确保将消息成功送入队列消息确认消息回执消费者确保消息成功从队列中取出并成功消费消费确认机制消费失败重试机制失败策略使用第三种方式:消费者指定失败后转发的交换机使用第一种方式:在队列中指定死信交换机消息持久化问题交换机…

软件测试常见性能问题案例分析

在用户场景不确定的情况下,我们为了保障软件的正常运行就必须对软件的性能进行测试。下面我们一起来看看在软件测试中常见的性能问题,希望大家可以通过这七个比较典型的案例分析,充分掌握各种性能问题的解决方法。 案例一:某次压…

Spring Cloud 03 --- Nacos注册中心

前言 注册中心以Map形式存储消费者与生产者的IP和端口 基本概念 (1)Nacos 是阿里巴巴推出来的一个新开源项目,是一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台。Nacos 致力于帮助您发现、配置和管理微服务。Nacos 提供…

2023年使用率会很高的9个SSH远程连接工具有这些!网工、运维你们用的是哪个?

网络工程师和运维工程师我想每天做的最多的一件事就是远程连接了,例如远程连接网络设备、远程连接服务器(物理服务器或者云服务器),这个时候大多数用的工具都是基于SSH协议的,每位工程我想都有自己熟悉或者青睐的SSH工…

时序图文献精度——5.2019-IJCIA-Node Embedding over Temporal Graphs

Node Embedding over Temporal Graphs Abstract 作者提出了一种在时间图中嵌入节点的方法。学习时间图的节点和边随时间的演变,并将这种动态整合到时间节点嵌入框架中,用于不同的图预测任务。作者也提出了一个联合损失函数,它通过学习组合节…

【java算法】稀疏数组/队列/单双链表

文章目录线性和非线性结构稀疏数组前言代码刷类型题队列非环形队列环形队列刷题单链表单链表的定义案例演示--代码1.按照顺序添加2.按英雄排名插入3.根据no编号来修改节点信息4.删除节点单链表刷题1.求单链表中有效节点的个数2.查找单链表中的倒数第k个节点3.单链表的反转4.从尾…

SAP入门技术分享三:OPEN SQL

OPEN SQL1. 概要(1)R/3体系结构(2)SQL定义(3)OPEN SQL经常使用的命令2. OPEN SQL(1)SELECT 语句(2)INTO语句3. FROM语句(1)选择静态表…

JSONArray

目录1. 需求2. 测试3. 实现需求4. 相关操作1. 将JSONObject装入JSONArray2. JSONArray与String的相互转换1. 需求 最近有个需求: 要接收某个接口的 JSON 数据,而这个JSON数据有可能是一个 JSON 对象,也有可能是一个 JSON数组。 "{name…

python数据结构之字符串

一、字符串的格式化输出 1.1、格式化运算符 print("我跑完了第" str(lap 1) "圈")上面这段输出的代码使用了两个加号做了字符串拼接,并且将整形转换成了字符串。也可以使用一种更好的办法,格式化输出来打印这句话。 print(&quo…

内存取证——基础知识(volatility内存取证)

目录 一、基本概念 二、运行内存镜像的获取 2.1 Windows内存镜像获取 2.1.1 Magnet RAM Capture获取内存镜像 2.1.2 AccessData FTK Imager软件获取内存镜像 2.1.3 DumpIt软件获取内存镜像 2.1.4 额外知识补充: 2.2 Linux\Mac OS 下内存镜像获取方法 三、内…