为什么我们将nn.Module作为参数传递给神经网络的类定义?

富兰克林·瓦格斯(Franklin Varghese)

我想了解为什么在为GAN等神经网络定义类时将torch.nn.Module作为参数传递

import torch
import torch.nn as nn

class Generator(nn.Module):
    def __init__(self, input_size, hidden_size, output_size, f):
        super(Generator, self).__init__()
        self.map1 = nn.Linear(input_size, hidden_size)
        self.map2 = nn.Linear(hidden_size, hidden_size)
        self.map3 = nn.Linear(hidden_size, output_size)
        self.f = f
自由

这条线

class Generator(nn.Module):

简单意味着Generator类将继承nn.Module该类,它不是参数。

但是,dunder init方法:

def __init__(self, input_size, hidden_size, output_size, f):

有自我,这就是为什么您可能会认为这是一个论点。

好吧,这是Python类实例self它应该留下还是应该去进行一些小小的战斗,但是Guido在他的博客中解释说why it has to stay

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

为什么我们将函数作为参数传递给python

为什么我们需要从 PyTorch 中的 nn.Module 继承?

在jquery事件中,为什么我们将function()作为参数传递?

由于我们已经将模块作为参数传递,为什么为什么需要将module.exports作为参数传递?

我们可以将什么参数传递给super()?

为什么我们在神经网络反向传播中“展开”θ?

为什么我们必须对人工神经网络的输入进行标准化?

为什么我们在神经网络中需要偏见?

为什么我们在卷积神经网络的卷积层之后使用激活函数?

为什么我们将适配器传递给Section Indexer对象?

为什么我们将String数组作为参数传递给main()方法,为什么没有任何集合类型或包装器类型或原始类型呢?

为什么我们将函数作为参数传入而不在 Django 中执行?

为什么我们不允许将纯引用参数传递给std :: thread但允许传递原始指针?

将数组传递给顺序神经网络模型

为什么我们在函数中传递匿名参数?

为什么我们有时将行为与Java中的类分开

为什么我们可以将Java接口转换为* any *非最终类?

为什么我们将LDAP对象称为对象类

为什么我们不能整数文字传递作为参数传递给方法以字节为形式参数

为什么我们在html中使用id。我认为我们可以将一个类用作id

为什么我们需要javadriver executor作为webdriver?

为什么我们不能在 JavaFX 中将属性作为参数传递给 Property#unbind()?

为什么在添加多个神经网络输出时我们采用相等的图层尺寸?

为什么我们需要表值参数

为什么我们需要Java中的Properties类?

为什么我们在 python 类中使用 super()?

为什么我们需要密封类?

我们可以将什么所有信息作为参数传递给内联事件处理程序?

如果我们传递Python函数名,究竟将什么作为参数传递?