video数据的维度及维度变形

B*C*D*H*W的值并不是指输入模型的样本的总大小,它仅仅代表着输入模型的video数据的属性(形状)。 

reshape

在reshape时,出现的报错“can't reshape of size input”之类的,是指:那些数据没法组成规定的形状。如下图所示。

Python reshape() 函数用法_pd.reshape-CSDN博客icon-default.png?t=N7T8https://blog.csdn.net/weixin_43937759/article/details/106605680所以,reshape的规则就是,在(b1,c1,d1,h1,w1)变成(b2,c2,d2,h2,w2)时,要求b1*c1*d1*h1*w1==b2*c2*d2*h2*w2。

conv

但当进行三维卷积(conv3d)时,大部分的情况是,b*c*d*h*w的值发生改变。

PyTorch中的Conv1D/2D/3D/空洞卷积/反卷积/深度可分离卷积解释_conv2d-CSDN博客icon-default.png?t=N7T8https://blog.csdn.net/weixin_39653948/article/details/107933173?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522170386159816800215033989%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=170386159816800215033989&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduend~default-2-107933173-null-null.142^v99^pc_search_result_base2&utm_term=conv3d%E8%AF%A6%E8%A7%A3&spm=1018.2226.3001.4187conv提取出来了可能更高维、更抽象的特征,所以样本数据经过conv3d后,总的形状大小b*c*d*h*w是可以被改变的。一般都是c维度变成了指定的输出维度,d、h、w的话,影响因素有卷积核大小以及步长和填充。所以,conv后的总维度可能变大,可能变小,也可能不变

linear

linear可以映射任何一个维度。

是否可以同时映射两个维度,答案是肯定的。在实际应用中,我们可以根据需要设置Linear层的输入和输出维度,以实现对多个维度的同时映射。但需要注意的是,这样做可能会增加模型的复杂性和计算负担。

Pytorch 中的Conv1D(kernel_size=1)与Linear层的比较|极客笔记 (deepinout.com)icon-default.png?t=N7T8https://deepinout.com/pytorch/pytorch-questions/312_pytorch_conv1d_with_kernel_size1_vs_linear_layer.html

  • 21
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值