Theano unterstützt keine Indexzuweisung. Okay, aber es gibtIndex-Wert einem einzelnen Element in der Tensorvariablen zuweisen
theano.tensor.set_subtensor(x,y)
und es ist stated dass
Wenn Sie so etwas wie ein [5] = b tun wollen oder [5] + = b, siehe theano.tensor. set_subtensor() und theano.tensor.inc_subtensor() unten.
So simuliert Set_subtensor Index-Zuweisung Operationen? Nicht ganz. set_subtensor, scheint nur wie erwartet zu funktionieren, wenn ndims < 2, wie im folgenden Beispiel zu sehen ist.
>>> a = theano.tensor.zeros(10)
>>> a.eval()
array([ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.], dtype=float32)
>>> aa = theano.tensor.set_subtensor(a[5], 5.0)
>>> aa.eval()
array([ 0., 0., 0., 0., 0., 5., 0., 0., 0., 0.], dtype=float32)
cool, a.shape == aa.shape kann a = aa gesetzt a [5] = 5,0 zu replizieren ist es dann mit mehr dims versuchen lassen.
>>> b = theano.tensor.zeros((5,5))
>>> b.eval()
array([[ 0., 0., 0., 0., 0.],
[ 0., 0., 0., 0., 0.],
[ 0., 0., 0., 0., 0.],
[ 0., 0., 0., 0., 0.],
[ 0., 0., 0., 0., 0.]], dtype=float32)
>>> bb = theano.tensor.set_subtensor(b[2][2], 5.0)
>>> bb.eval()
array([ 0., 0., 5., 0., 0.], dtype=float32)
>>> bb.shape.eval()
array([5])
Während set_subtensor den angegebenen Wert in dem Zielindex vergebenen es gibt nicht die den gesamten aktualisierten Tensor variabel, sondern nur die subtensor mit dem aktualisierten Wert.
Kann jemand Werte zu einzelnen Elementen in den Tensoren mit ndims> = 2 indizieren?