pytorch nn的理解

1. nn.MSELoss(reduce=True, size_average=True)

    均方损失函数(mean squared error),用于计算预测值和实际值的差别。公式为

其中,前面的y表示的是真实值,后面的y表示的是预测值。

函数里面有两个参数,当不设置参数值的时候默认 reduce=True, size_average=True,表示返回一个标量均值。 

#创建两个tensor型数据
a=torch.tensor([[1,2],[3,4]])
b=torch.tensor([[2,3],[4,4]])
#定义函数并将它赋值给变量loss_fn,效果上等同于loss_fn = torch.nn.MSELoss(reduce=True, size_average=True)
loss_fn = torch.nn.MSELoss(reduce=True, size_average=True)
#将a作为输入值
input = torch.autograd.Variable(a)
#b作为真实值
target = torch.autograd.Variable(b)
#计算损失
loss = loss_fn(input.float(), target.float())
print(loss)

输出  tensor(0.7500)

 

2. nn.Linear()

x = torch.randn(128, 20)  # 输入一个120*20的二维矩阵
m = torch.nn.Linear(20, 30)  # 权重,一个30*20的矩阵,需要转置之后被x乘
output = m(x)  #输出
print('m.weight.shape:\n ', m.weight.shape)
print('m.bias.shape:\n', m.bias.shape)
print('output.shape:\n', output.shape)

m.weight.shape:
  torch.Size([30, 20])
m.bias.shape:
 torch.Size([30])
output.shape:
 torch.Size([128, 30])

 

References:

https://blog.csdn.net/hao5335156/article/details/81029791

https://blog.csdn.net/m0_37586991/article/details/87861418

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值