Ich möchte die Werte der Matrix W in Wo einstellen. Dann gehe ich in eine Schleife und mache Operationen mit W. Am Ende der Schleife möchte ich es in Wo wiederherstellen, aber ich bekomme das gegenteilige Ergebnis, Wo wird Wo.Python - Warum wird die Sicherungsvariable innerhalb der Schleife aktualisiert, wenn ich den Wert nicht intern ändere?
Wie ist das möglich? Wie kann ich erreichen, was ich will? Ich habe versucht, auch als globales Wo definieren, aber kein Ergebnis
W = np.random.rand(5, 10)
global Wo
Wo = W # Back up for the initial values of W
for k in range(0, K):
for j in range(0, m): # For every hidden node
for i in range(0, n): # For every connection
# Operations (W get changed)
W = Wo
Dann, wenn ich den Wert von Wo Check wird geändert in eine Weise, dass Wo == W immer wahr ist.
Was fehlt mir?
Vielen Dank im Voraus
Ihre Kopie ist eine Referenz. 'Wo' und' W' sind unterschiedliche Aliase für denselben Speicher. Du brauchst eine tiefe Kopie –