pytorch学习笔记

刘老师的torch教程是真的好地址


tensor:

  • 矩阵 x , w x,w x,w之间 x ∗ w x*w xw t o r c h . m m ( x , w ) torch.mm(x,w) torch.mm(x,w)的区别:
    *与torch.mul一样,torch.mm()是真正的矩阵乘法,具体见此pytorch矩阵乘法

  • 自动求导:
    只能是标量对标量,或者标量对向量/矩阵,不能矩阵对矩阵求导。tensor求导


epoch,batch_size和iteration
epoch是对整个训练样本训练多少次
在对训练样本进行一次训练时,我们每次取出batch_size个样本,总共取iteration次才能取完整个训练样本。比如说训练样本有5000个,我们设置的batch_size是100,那么iteration就是50


优化器
将要优化的参数传进去就行了,优化器梯度清零-计算loss-优化器更新参数:

import torch

x=torch.tensor(range(0,100))
y=3.5*x+6+torch.rand(100)/10

w=torch.tensor(1.0,requires_grad=True)
b=torch.tensor(1.0,requires_grad=True)
optimizer=torch.optim.SGD([w,b],lr=0.001)

for i in range(100):
    y_pred=w*x+b
    My_Loss=torch.nn.SmoothL1Loss()
    loss=My_Loss(y,y_pred)
    optimizer.zero_grad()
    loss.backward()
    optimizer.step()

tensor归一化
我今天遇到一个需求,需要按行对tensor进行二范数归一化:
在这里插入图片描述

from torch.nn.functional import normalize

使用normalize函数进行处理,第一个参数是要处理的tensor,第二个参数指定是几范数归一化,第三个参数指定要按行还是按列归一化,默认为1按行归一化。


tensor类型转换
直接使用int(),float(),long()等进行转换,比如:

a=torch.tensor([[1.,2.],[3.,4.]])
b=a.int()

pytorch 拼接tensor操作:

tmp=torch.cat([aggr_out,x],dim=1)

pytorch where 操作
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

canaryW

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值