Array in Liste zurückführen

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Romaxx
User
Beiträge: 62
Registriert: Donnerstag 26. Januar 2017, 18:53

Hallo zusammen,

mit dem Befehl:

[codebox=pycon file=Unbenannt.txt]x0 = np.concatenate([np.atleast_2d(opt_params[n]).flatten() for n in vSSGP_LVM_opt.opt_param_names])
[/code]

erhalte ich meinen Startwert für eine Optimierung mit Theano aus eine Liste von Variablen.
Ich möchte nun nach der Optimierung die optimierten Parameter wieder in die selbe Liste zurückführen mit den entsprechenden Variablennamen.
Wie kann ich das machen? Gibt es hier eine einfache Vorgehensweise?

Vielen Dank, Romaxx
Romaxx
User
Beiträge: 62
Registriert: Donnerstag 26. Januar 2017, 18:53

Hallo zusammen,

ich interessiere mich weiterhin für eine Lösung dieses Problems.
Ich bin auch an nicht unbedingt einfachen Lösungen interessiert, solange es tut.

Danke und Schöne Grüße

Roman
Romaxx
User
Beiträge: 62
Registriert: Donnerstag 26. Januar 2017, 18:53

Ich habe nun eine Lösung erarbeitet:

[codebox=python file=Unbenannt.txt]opt_param_names = [n for n,_ in opt_params.iteritems()]
opt_param_values = [np.atleast_2d(opt_params[n]) for n in opt_param_names]
shapes = [v.shape for v in opt_param_values]
sizes = [sum([np.prod(x) for x in shapes[:i]]) for i in xrange(len(shapes)+1)]
x_param_values = [x0[sizes[i-1]:sizes].reshape(shapes[i-1]) for i in xrange(1,len(shapes)+1)]
opt_params = {n:v for (n,v) in zip(opt_param_names, x_param_values)}[/code]
Antworten