Pytorch-巧用nn.Sequential包装你的深度学习结构

思路:自定义简单的tensor,将设计的深度学习的层包装到nn.Sequential中
代码:

import torch
from torch import optim, nn
import torch.nn.functional as F

x = torch.Tensor([1, 2, 3, 4, 5]).reshape(1, 1, 5)
padding_layer = torch.nn.ReflectionPad1d
net1 = nn.Sequential(
    padding_layer((1, 0)),
    nn.Conv1d(in_channels=1, out_channels=1, kernel_size=1, stride=1)
)


net2 = nn.Sequential(
    nn.Conv1d(in_channels=1, out_channels=4, kernel_size=2, padding=1, stride=1),
    nn.BatchNorm1d(4),
    nn.Dropout(0.5),
    nn.Conv1d(in_channels=4, out_channels=8, kernel_size=3, padding=1, stride=2),
    nn.BatchNorm1d(8),
    nn.Dropout(0.5),
    nn.Linear(3, 1),
    nn.Sigmoid(),
)

out1 = net1(x)
out2 = net2(x)

运行结果:
tensor([[[0.5254, 0.0157, 0.5254, 1.0351, 1.5448, 2.0545]]],
grad_fn=)
tensor([[[0.6319],
[0.6324],
[0.3160],
[0.4043],
[0.4561],
[0.3068],
[0.2934],
[0.4924]]], grad_fn=)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值