一维卷积的详细计算过程展示及多维张量应该如何理解

#!usr/bin/env python
# -*- coding:utf-8 _*-
"""
@author:cong
@time: 2024/08/15
@project: Movement_Classification
@theme:test_conv1d 
"""
import torch
from torch import nn
data = torch.ones((4,4,4))*2
data[0,0] = torch.tensor([1,2,3,4])
conv = nn.Conv1d(in_channels=4, out_channels=1, kernel_size=3, padding=0,bias=False)
with torch.no_grad():
    conv.weight = nn.Parameter(torch.ones((1,4,3)))

    output = conv(data)


w = conv.weight[0,0]
x= data[0,0][:3]
y = w*x

卷积的输出通道是多少,代表会产生多少个特征图;

1. 张量的基本概念

  • 标量(0D Tensor):一个单一的数值,例如 53.14
  • 向量(1D Tensor):一组有序的数值,可以看作一维数组,例如 [1, 2, 3],这是一个一维张量。
  • 矩阵(2D Tensor):一组二维的数值表,例如 [[1, 2], [3, 4], [5, 6]],这是一个二维张量。
  • 三维张量(3D Tensor):一组三维的数据,可以看作多张矩阵的集合。每一个维度都有多个元素。

2. 三维张量的结构

三维张量可以理解为包含多个矩阵的集合,这些矩阵堆叠在一起。三维张量的形状通常表示为 (D1, D2, D3),其中:

  • D1 表示张量在第一个维度上的大小(或深度),即有多少个矩阵。
  • D2 表示张量在第二个维度上的大小(或行数),即每个矩阵有多少行。
  • D3 表示张量在第三个维度上的大小(或列数),即每个矩阵有多少列。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值