首页 > 其他分享 >多维矩阵的理解

多维矩阵的理解

时间:2023-09-22 21:13:16浏览次数:39  
标签:13 矩阵 26 52 理解 多维 85

从书的组成理解多维矩阵

在 DL(深度学习) 中,不可避免涉及到多维矩阵形式,尤其是对于 CNN (卷积神经网络)来讲更为普遍。

简单形式

一维的向量形式,只用一个数表示,如 shape=(n,)

二维的矩阵形式,表示为 n 行 m 列表示为 shape=(n,m)

多维形式

当维度超过 2 维,进入到高维层次时,对矩阵中数据的理解更加不易。对于 CV (计算机视觉) 中输入的对象——图片,一般至少为 3 维形式,即包含 R, G, B 三个通道,每个通道就是一个二维矩阵,对应图片的高度和宽度。如 shape=(3, 4, 2)

import tensorflow as tf
a = tf.random.normal([3, 4, 2])

对于其他多维形式,以 YOLOv3 为例:

输入维度为:(m, 416, 416, 3)
最终对应的输出 (m, 13, 13, 3, 85),(m, 26, 26, 3, 85), (m, 52, 52, 3, 85),m 代表图片的个数。

  • 每个输出包含 3 种 anchor box,即 13×13,26×26,52×52.
  • 每个框对应 85 个值,其中前 5 个值对应是物体的概率,框中心点的坐标值,框的高度和宽度
  • 最后 80 个值对应具体属于哪一个物体(共80种分类),用 One Hot 编码形式表示 。

(13, 13, 3, 85) 维度则可以借助书的组成来理解

即 13 本书,每本书有 13 页,每页纸内容是 3 行 85 列

标签:13,矩阵,26,52,理解,多维,85
From: https://www.cnblogs.com/fengxijlu/p/17723362.html

相关文章

  • nginx代理websocket请求原理 理解记录
    最近遇见一个问题,在OpenEuler操作系统上,如果不主动开放端口白名单的话,就无法访问该端口。然后我部署了一个服务,端口是5200。在这台机器上部署了一个nginx,通过nginx80端口反向代理5200端口。然后再OpenEuler上开放80端口。此时本地访问80端口,登录后正常的http请求都没问题。......
  • 题解 P8670 [蓝桥杯 2018 国 B] 矩阵求和
    题目描述\[\sum_{i=1}^n\sum_{j=1}^n\gcd(i,j)^2\]具体思路solution1显然可以每次枚举\(\gcd(i,j)\)的取值。\[\sum_{k=1}^nk^2\sum_{i=1}^n\sum_{j=1}^n[\gcd(i,j)=k]\]令\(i=\lfloor\frac{i}{k}\rfloor\),\(j=\lfloor\frac{j}{k}\rfloor\)。\[\sum......
  • 多数据源切换和部分原理解说
    MybatisPlus作为mybatis的增强工具,提供了配置多数据源的扩展,通过简单的3步配置,即可使用注解轻松切换数据源。1. 引入坐标<!--     dynamic-datasource多数据源坐标--><dependency>    <groupId>com.baomidou</groupId>    <artifactId>dynamic-datasource-sprin......
  • 双指针法、滑动窗口法、螺旋矩阵
    1.双指针法解有序数组的平方1.1题目要求LeetCode977有序数组的平方题目内容:给你一个按非递减顺序排序的整数数组nums,返回每个数字的平方组成的新数组,要求也按非递减顺序排序。示例1:输入:nums=[-4,-1,0,3,10]输出:[0,1,9,16,100]解释:平方后,数组变为[16,1,0,9,100]排序......
  • 基本前缀和算法:一维前缀和、二维前缀和、子矩阵和
    1、一维前缀和以AcWing.795为例,题目要求如下:输入一个长度为N的整数序列。接下来再输入m个询问,每个询问输入一对l,r。对于每个询问,输出原序列中从第l个数到第r个数的和。输入格式第一行包含两个整数n和m。第二行包含n个整数,表示整数数列。接下来m行,每行包含两个整数l和r,表示一......
  • 学习笔记418—删掉对称矩阵中的NaN,对角线为1【已解决!】
    问题:删掉对称矩阵中的NaN,对角线为1如下图矩阵A所示:解决办法:B=A+diag(NaN+zeros(1,length(A))); %将对角线改为NaNB(all(isnan(B),2),:)=[];%删除所有行为NaNB(:,all(isnan(B),1))=[];%删除所有列为NaNB(find(isnan(B)))=1;%再将对角线值改为1结果新矩......
  • 谈谈对多态的理解
    多态概念多态意思是多种形态,在Java中,同一个行为有不同的表现叫做多态。例如,一个方法在不同的类中有不同的表现形势就是多态的一种。称为动态多态。多态种类多态有两种:静态多态和动态多态静态多态静态多态是在编译期确定下来的,通过方法的重载实现静态多态。重载:一个类方法名......
  • Linux学习笔记与个人理解(第一章初识Linux)
     1.云计算的简介1.1云计算的定义云计算是一种基于互联网的计算模式,通过网络提供可按需访问的共享计算资源和服务,包括计算能力、存储空间和应用程序等。1.2云计算的特点弹性伸缩:根据需求动态调整计算资源的规模,实现快速扩展或缩减。资源共享:多个用户共享云计算平......
  • Android Framework原理解决大龄程序员的催命符
    有人说对于咱们程序员而言:每过一年,都像是在催命。35岁的坎是每个程序员都逃不过的宿命,每过一年离这个坎就又近一步。所以大家都很焦虑,而这份焦虑恰恰又被各种自媒体,公众号,博客等等平台所利用,每年都有人在说互联网又寒冬了,某某公司又大规模裁员了,Android开发不行了这类的负面的消息......
  • 力扣6.N 字形变换(压缩矩阵)
    将一个给定字符串 s 根据给定的行数 numRows ,以从上往下、从左到右进行 Z字形排列。比如输入字符串为 "PAYPALISHIRING" 行数为 3 时,排列如下:PAHNAPLSIIGYIR之后,你的输出需要从左往右逐行读取,产生出一个新的字符串,比如:"PAHNAPLSIIGYIR"。请......