Ich bin neu in MXNet (ich benutze es in Python3)MXNet: nn.Activation vs nd.relu?
Ihre Tutorial-Serie ermutigt Sie, Ihre eigenen gluon
blocks zu definieren.
kann also sagen, dass dies Ihr Block ist (eine gemeinsame Faltungsstruktur):
class CNN1D(mx.gluon.Block):
def __init__(self, **kwargs):
super(CNN1D, self).__init__(**kwargs)
with self.name_scope():
self.cnn = mx.gluon.nn.Conv1D(10, 1)
self.bn = mx.gluon.nn.BatchNorm()
self.ramp = mx.gluon.nn.Activation(activation='relu')
def forward(self, x):
x = mx.nd.relu(self.cnn(x))
x = mx.nd.relu(self.bn(x))
x = mx.nd.relu(self.ramp(x))
return x
Dies ist die Struktur ihres Beispiels spiegeln. Was ist der Unterschied zwischen mx.nd.relu
vs mx.gluon.nn.Activation
?
Sollte es
x = self.ramp(x)
statt vom NDArray
Modul zum Aufruf eines Host der zugrunde liegenden Aktivierungen
x = mx.nd.relu(self.ramp(x))
Eine separate Antwort hinzugefügt, um klarer zu sein. –