super().__ init__覆盖属性

伊丽·科维戈(Eli Korvigo)

我正在子类初始化程序中设置一个属性,该属性似乎被调用所覆盖super().__init__

from keras.layers import GRU, wrappers


class Dummy(wrappers.Wrapper):
    def __init__(self, layer, **kwargs):
        self.stateful = True
        print(self.stateful)
        super().__init__(layer, **kwargs)
        print(self.stateful)

In [3]: dummy = Dummy(GRU(64, stateful=True))
True
False
In [4]: dummy.stateful
Out[4]: False

我会假设某些东西会wrappers.Wrapper覆盖属性,但是内置的包装子类Bidirectional具有几乎相同的超类init调用(我基本上在实现中遵循了该子类的模式)

class Bidirectional(Wrapper):

    def __init__(self, layer, merge_mode='concat', weights=None, **kwargs):
        ...
        self.stateful = layer.stateful
        ...
        super(Bidirectional, self).__init__(layer, **kwargs)

没有表现出这种行为

In [6]: bidir = wrappers.Bidirectional(GRU(64, stateful=True))

In [7]: bidir.stateful
Out[7]: True

我无法解决这个问题。我在Python 3.6下使用Keras 2.1.3。

聚苯乙烯

我已经尝试在子类super().__init__(layer, **kwargs)中用替换super(Dummy, self).__init__(layer, **kwargs)无济于事。

user2357112支持Monica

您正在查看错误版本的Bidirectional源代码。你看的版本似乎是这一个,从三天前。我相信该版本具有与代码相同的错误。

我认为最新版本中的代码是在其自身super().__init__开头调用__init__

def __init__(self, layer, merge_mode='concat', weights=None, **kwargs):
    super(Bidirectional, self).__init__(layer, **kwargs)
    ...

这样,它的操作会在祖先构造函数的操作之后发生,并且其self.stateful优先级的分配会覆盖其祖先。

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如果仅调用super .__ init__是必需的__init__吗?

来自分类Dev

多重继承Python,super().__ init__问题

来自分类Dev

即使我使用“ super()”,我也需要手动将属性从超类的“ __init__”传递到子类的“ __init__”吗?

来自分类Python

为什么super().__ init__没有自我引用?

来自分类Dev

__init__可以在调用super之后自动执行代码吗?

来自分类Dev

代码没有使用 super()__init__ 运行

来自分类Dev

元组的子类中的“ tuple .__ init__”与“ super().__ init__`”有何不同?

来自分类Python

Python 3内置类型__init__不调用super().__ init__?

来自分类Dev

为什么 super().__init__ () 的行为与 Python 派生类中的 super().override() 不同?

来自分类Python

为什么在多次继承中执行Base .__ init __(self)而不是super().__ init __()时会跳过__init__?

来自分类Python

Python覆盖__init__

来自分类Dev

Swift super.init() - 属性未在 super.init 调用中初始化

来自分类Dev

覆盖 TypeScript 中的 super 方法

来自分类Dev

super.init调用未初始化属性“ self。*”

来自分类Dev

python-在super()中访问超类的class属性。__init __()

来自分类Dev

属性未在super.init调用中初始化

来自分类Dev

Swift子类的init必须在调用super之前设置所有属性,但属性需要super的init才能首先完成

来自分类Dev

将 **kwargs 直接传递到 super().__init__ 的关键字

来自分类Dev

python super :TypeError: __init__() 需要 2 个位置参数,但给出了 3 个

来自分类Dev

__init__中的super()似乎未实现父对象的默认关键字参数

来自分类Dev

为什么在具有多重继承的 super() 时不能调用所有 __init__ ?

来自分类Dev

在Python中使用super(),我不理解最后一个__init__调用

来自分类Dev

如何在python 3中正确使用super().__init__()?

来自分类Dev

将super与Django ModelForm类结合使用以更改__init__方法

来自分类Dev

为什么 super().__init__() 不起作用?面向对象编程

来自分类Dev

从复杂对象覆盖__init__

来自分类Dev

Django ModelForm覆盖__init__

来自分类Dev

在super()之前调用子属性?

来自分类Dev

何时覆盖iOS方法时使用Super

Related 相关文章

  1. 1

    如果仅调用super .__ init__是必需的__init__吗?

  2. 2

    多重继承Python,super().__ init__问题

  3. 3

    即使我使用“ super()”,我也需要手动将属性从超类的“ __init__”传递到子类的“ __init__”吗?

  4. 4

    为什么super().__ init__没有自我引用?

  5. 5

    __init__可以在调用super之后自动执行代码吗?

  6. 6

    代码没有使用 super()__init__ 运行

  7. 7

    元组的子类中的“ tuple .__ init__”与“ super().__ init__`”有何不同?

  8. 8

    Python 3内置类型__init__不调用super().__ init__?

  9. 9

    为什么 super().__init__ () 的行为与 Python 派生类中的 super().override() 不同?

  10. 10

    为什么在多次继承中执行Base .__ init __(self)而不是super().__ init __()时会跳过__init__?

  11. 11

    Python覆盖__init__

  12. 12

    Swift super.init() - 属性未在 super.init 调用中初始化

  13. 13

    覆盖 TypeScript 中的 super 方法

  14. 14

    super.init调用未初始化属性“ self。*”

  15. 15

    python-在super()中访问超类的class属性。__init __()

  16. 16

    属性未在super.init调用中初始化

  17. 17

    Swift子类的init必须在调用super之前设置所有属性,但属性需要super的init才能首先完成

  18. 18

    将 **kwargs 直接传递到 super().__init__ 的关键字

  19. 19

    python super :TypeError: __init__() 需要 2 个位置参数,但给出了 3 个

  20. 20

    __init__中的super()似乎未实现父对象的默认关键字参数

  21. 21

    为什么在具有多重继承的 super() 时不能调用所有 __init__ ?

  22. 22

    在Python中使用super(),我不理解最后一个__init__调用

  23. 23

    如何在python 3中正确使用super().__init__()?

  24. 24

    将super与Django ModelForm类结合使用以更改__init__方法

  25. 25

    为什么 super().__init__() 不起作用?面向对象编程

  26. 26

    从复杂对象覆盖__init__

  27. 27

    Django ModelForm覆盖__init__

  28. 28

    在super()之前调用子属性?

  29. 29

    何时覆盖iOS方法时使用Super

热门标签

归档