Ich habe eine Matrix L
der Form (2,5,2)
. Die Werte entlang der letzten Achse bilden eine Wahrscheinlichkeitsverteilung. Ich möchte eine andere Matrix S
der Form (2, 5)
probieren, wobei jeder Eintrag eine der folgenden ganzen Zahlen ist: 0, 1
. Zum BeispielProbe von einem Tensor in Tensorflow entlang einer Achse
L = [[[0.1, 0.9],[0.2, 0.8],[0.3, 0.7],[0.5, 0.5],[0.6, 0.4]],
[[0.5, 0.5],[0.9, 0.1],[0.7, 0.3],[0.9, 0.1],[0.1, 0.9]]]
Eine der Proben, könnte
S = [[1, 1, 1, 0, 1],
[1, 1, 1, 0, 1]]
Die Verteilungen sind in dem obigen Beispiel binomische. Im Allgemeinen kann jedoch die letzte Dimension von L
eine beliebige positive ganze Zahl sein, so dass die Verteilungen multinomial sein können.
Die Proben müssen innerhalb des Tensorflow-Berechnungsgraphen effizient erzeugt werden. Mit den Funktionen apply_along_axis
und numpy.random.multinomial
weiß ich, wie man das macht.