2016-06-23 8 views
0

Ich arbeite an einer Kostenfunktion in Theano und vor dem folgenden Problem: Ich habe eine Matrix M (sagen [[3,4],[5,6]]), ein Vektor v ([0,1]) und ich möchte erhalten der Vektor der Einträge in M, die den in v enthaltenen Indizes entsprechen (hier [3,6]). Gibt es einen Befehl, genau das zu tun?Indexing-Matrix mit Werten aus Vektor in Theano

Edit: Am Ende habe ich folgendes getan: M [T.arange (v.shape [0]), v], wobei T.arange (v.shape [0]) nur ein Vektor ist, dessen Einträge ganze Zahlen sind im Bereich der Länge von v. M musste mit einer Liste von zwei Vektoren

+1

Ich verstehe nicht die Art von v Wie Index [0, 1] der Ausgabe entspricht [3, 6]? – user20160

Antwort

0

indexiert werden Dies sollte funktionieren.

VecOut = [M[i][j] for i,j in enumerate(V)] 

Aufzählen liefert Indizes und Vektorwerte i (Zeilenindex) und j (Wert der Vektorkomponente), die verwendet werden können, entsprechende Werte von Matrix zu erhalten.

Beispiel:.

enter image description here

+0

Tensoren unterstützen jedoch keine Iteration –