[PYTHON] Wenn das Modul nicht zugewiesen werden kann, bevor der Aufruf von Module.init () in pytorch ausgegeben wird

Es ist eine sehr einfache Geschichte, aber es ist ein Memorandum, weil es eines Tages für eine lange Zeit zu schmelzen scheint.

Entsprechender Code und Fehlerinhalt

import torch
import torch.nn as nn

class Encoder(nn.Module):
    def __init__(self, p_n_features_num, timesteps) -> None:
        self.p_n_features_num = p_n_features_num
        self.linear = nn.Linear(
            p_n_features_num, p_n_features_num, bias=True)
        self.leakyrelu = nn.LeakyReLU()

    def forward(self, input_net):
        input_net = input_net.view(input_net.size(0), self.p_n_features_num)
        return self.leakyrelu(self.linear(input_net))

Wenn Sie hier \ _ \ _ init \ _ \ _ von Encoder aufrufen

cannot assign module before Module.init() call


```Ich bekomme den Fehler.

## Lösung, Code korrigieren
 Dies liegt daran, dass die Supermethode nicht zuerst aufgerufen wurde, da sie zum Zeitpunkt von init nn.Module geerbt hat. Daher kann es durch Ändern wie folgt behoben werden.

```python
import torch
import torch.nn as nn

class Encoder(nn.Module):
    def __init__(self, p_n_features_num, timesteps) -> None:
        super(Encoder, self).__init__()
        self.p_n_features_num = p_n_features_num
        self.linear = nn.Linear(
            p_n_features_num, p_n_features_num, bias=True)
        self.leakyrelu = nn.LeakyReLU()

    def forward(self, input_net):
        input_net = input_net.view(input_net.size(0), self.p_n_features_num)
        return self.leakyrelu(self.linear(input_net))

Recommended Posts

Wenn das Modul nicht zugewiesen werden kann, bevor der Aufruf von Module.init () in pytorch ausgegeben wird
Wenn base.html in Django nicht aufgerufen werden kann
Wenn ich einen Chrom-Treiberfehler in Selenium bekomme
[Python] Dinge, die überprüft werden müssen, wenn in Django ein Unicode-Dekodierungsfehler auftritt
Ich erhalte eine java.util.regex.PatternSyntaxException, wenn ich einen String in PySpark teile
BigQuery - Wenn Sie einen Grund erhalten: responseTooLarge-Fehler in Python
Wenn Sie in der for-Anweisung plt.save möchten
Wenn beim Python-Scraping ein Fehler auftritt (Anforderungen)
[Kleine Geschichte] Eine sorgfältige Maßnahme, wenn Sie vor dem Import in Python eine Funktion ausführen müssen
Was tun, wenn bei yum ein Metalink für Repository-Fehler nicht abgerufen werden kann?
Was tun, wenn beim Versuch, model.save mit Keras zu modellieren, der Fehler "get_config" überschrieben werden muss?
Wenn Sie nicht weiterkommen, können Sie mkl_intel_thread.dll in Python unter Windows nicht laden
Was tun, wenn in Python minus Null angezeigt wird?
Wenn Sie einer Variablen in Python einen CSV-Export zuweisen möchten
Bei Verwendung von @property in Python wird ein Attribut nicht festgelegt