卷积层(PyTorch)

二维的互相关运算(图像卷积)

代码实现

此处为2d卷积的实现, 

import torch
from torch import nn

# 定义输入和预期输出
x = torch.randn(1,1,6,8)# (批量,通道数,行,列)
y = torch.randn(1,1,6,7)# 输出的行大小 = 输入行大小-卷积核行大小+1,列大小计算类似

# 定义卷积层
net = nn.Sequential(nn.Conv2d(1, 1, kernel_size=(1,2), bias=False))# 前面两个1,依次代表输入通道和输出通道
nn.init.normal_(net[0].weight, std=0.01)

# 定义损失函数及优化方法
loss = nn.MSELoss()
trainer = torch.optim.SGD(net.parameters(), lr=0.14)

# 训练
for epoch in range(10):
    l = loss(net(x), y)
    trainer.zero_grad()
    l.backward()
    trainer.step()
    if (0 == epoch%2):
        print('epoch:{}, loss:{}'.format(epoch, l))

'''
epoch:0, loss:1.1252577304840088
epoch:2, loss:1.0844213962554932
epoch:4, loss:1.0697766542434692
epoch:6, loss:1.0644114017486572
epoch:8, loss:1.0624078512191772
'''

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值