欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

科学计算工具学习笔记 四

程序员文章站 2024-03-18 11:38:52
...
  1. 自定义nn模块:有时候需要指定比现有模块序列更复杂的模型;对于这些情况,可以通过继承nn.Module并定义forward函数,这个forward函数可以 使用其他模块或者其他的自动求导运算来接收输入tensor,产生输出tensor。
  2. 在前向传播的函数中,我们接收一个输入的张量,也必须返回一个输出张量。我们可以使用构造函数中定义的模块以及张量上的任意的(可微分的)操作。
  3. 构造损失函数和优化器。 SGD构造函数中对model.parameters()的调用,将包含模型的一部分,即两个nn.Linear模块的可学习参数。
  4. 由于每个前向传播构建一个动态计算图,我们可以在定义模型的前向传播时使用常规Python控制流运算符,如循环或条件语句。
  5. 用平凡的随机梯度下降训练这个奇怪的模型是困难的,所以我们使用了momentum方法。
optimizer = torch.optim.SGD(model.parameters(), lr=1e-4, momentum=0.9)
相关标签: 先进信号处理