nn.Conv1d个人记录
2023-12-23 07:07:45
nn.Conv1d参数
torch.nn.Conv1d(in_channels, "输入中的通道数"
out_channels, "卷积输出的通道数"
kernel_size, "卷积核大小"
stride, "卷积步幅。默认值:1"
padding, "添加到输入两侧的填充。默认值:0"
dilation, "内核元素之间的间距。默认值:1"
groups, "从输入通道到输出通道的阻塞连接数。默认值:1"
bias, "If True,向输出添加可学习的偏差。默认:True"
padding_mode "'zeros', 'reflect', 'replicate' 或 'circular'. 默认:'zeros'"
)
维度
输入维度 (batchsize,in_channels,in_len) (批大小, 数据的通道数, 数据长度)
输出维度 (batchsize ,out_channels,out_len) (批大小, 产生的通道数, 卷积后长度)
卷积核的维度?(out_channels,in_channels,kernel_size)(卷积核数量,卷积核宽,卷积核长)
卷积后的维度(batchsize,out_channels,(n+2*p-k)/s+1)
举例嵌入向量维度为1
假如输入x为(batchsize,len)的序列,即嵌入向量维度为1,进行一个回归预测。
添加一个维度:
x = x.unsqueeze(1)
x维度变为(batchsize,1,in_len),相当于设置数据的通道数为1,通过conv1d输入到网络中。
#layer为定义的网络
x = layer(x)
x维度变为(batchsize,out_channels,(n+2*p-k)/s+1)。
将元素x拉平:
#第一个参数指定了新张量维度设置为与原始张量 x 的第一个维度大小相同;
#-1表示占位符,自动计算大小以确保新张量中的元素总数保持不变。
x = x.view(x.size(0), -1)
x维度变为(batchsize,out_len)?,拉平后输入到全连接层(线性层,维度(out_len,num_class))中,最终输出维度(batchsize,num_class)
参考&转载自:CNN - nn.Conv1d使用-CSDN博客
文章来源:https://blog.csdn.net/qq_55736201/article/details/135162073
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!