PyTorch笔记

目录

1.  nn.Sequential

2. torch.flatten(input, start_dim=0, end_dim=-1)

 3.model.train()和model.eval()

4.optimizer优化器

5.Pytorch 提供了很多不同的参数初始化函数

6.json.dumps() json.loads()

7.pytorch中model eval和torch no grad()的区别

8.load_state_dict 

9.python 中参数*args, **kwargs


 

1.  nn.Sequential

顺序容器。模块将按照在构造函数中传递的顺序添加到它。或者,也可以传入模块的有序字典。

# Example of using Sequential
model = nn.Sequential(
          nn.Conv2d(1,20,5),
          nn.ReLU(),
          nn.Conv2d(20,64,5),
          nn.ReLU()
        )

# Example of using Sequential with OrderedDict
model = nn.Sequential(OrderedDict([
          ('conv1', nn.Conv2d(1,20,5)),
          ('relu1', nn.ReLU()),
          ('conv2', nn.Conv2d(20,64,5)),
          ('relu2', nn.ReLU())
        ]))

2. torch.flatten(input, start_dim=0, end_dim=-1)

input: 一个 tensor,也就是要被展平 tensor。

start_dim: 起始维度。

end_dim: 结束维度。

t = torch.tensor([[[1, 2, 2, 1],
                   [3, 4, 4, 3],
                   [1, 2, 3, 4]],
                  [[5, 6, 6, 5],
                   [7, 8, 8, 7],
                   [5, 6, 7, 8]]])
print(t, t.shape)
运行后:
tensor([[[1, 2, 2, 1],
         [3, 4, 4, 3],
         [1, 2, 3, 4]],

        [[5, 6, 6, 5],
         [7, 8, 8, 7],
         [5, 6, 7, 8]]])
torch.Size([2, 3, 4])

x = torch.flatten(t, start_dim=1) # 第1维到最后一维展平
print(x, x.shape)

y = torch.flatten(t, start_dim=0, end_dim=1) # 第0维到第1维合并
print(y, y.shape)
运行后:
tensor([[1, 2, 2, 1, 3, 4, 4, 3, 1, 2, 3, 4],
        [5, 6, 6, 5, 7, 8, 8, 7, 5, 6, 7, 8]]) torch.Size([2, 12])
tensor([[1, 2, 2, 1],
        [3, 4, 4, 3],
        [1, 2, 3, 4],
        [5, 6, 6, 5],
        [7, 8, 8, 7],
        [5, 6, 7, 8]]) torch.Size([6, 4])

参考自https://dilthey.cnblogs.com/

 3.model.train()和model.eval()

分别在训练和测试中都要写,它们的作用如下:

(1). model.train()
启用 BatchNormalization 和 Dropout,将BatchNormalization和Dropout置为True
(2). model.eval()
不启用 BatchNormalization 和 Dropout,将BatchNormalization和Dropout置为False

总结

(1)在训练模块中千万不要忘了写model.train()

(2)在评估(或测试)模块千万不要忘了写model.eval()

(3)在没有涉及到BN与Dropout的网络,这两个函数存在对于网络性能的影响,好坏不定

4.optimizer优化器

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值