Nachdem Sie verschiedene Dinge ausprobiert haben, kann in sklearn die Zielvariable auf [-1,0,1] usw. gesetzt werden, in Chainer ist es jedoch besser, sie auf [0,1,2] zu setzen. Vielleicht stimmt etwas mit der Berechnung der Verlustfunktion nicht.
Es wird oft in Beispielen geschrieben, wie unten gezeigt.
class ChainerClassifier(BaseChainerEstimator, base.ClassifierMixin):
def predict(self, x_data):
return BaseChainerEstimator.predict(self, x_data).argmax(1) #argmax gibt den größten Index in der Zeile der Matrix zurück. Das heißt, die Klasse ist 0 zu 1,Muss 2 sein
Beachten Sie, dass die argmax-Funktion einen Index zurückgibt, wie in den Kommentaren erwähnt. Es wäre also seltsam, wenn die Zielvariable mit -1 beginnt.
Bei maximalem Pooling kann das Pooling hervorstehen. Mit anderen Worten, es gibt kein Problem, selbst wenn die Poolgröße für eine ungerade Anzahl von Spalten oder Zeilen gerade ist. Und umgekehrt.
Beim durchschnittlichen Pooling müssen die Anzahl der Spalten und die Anzahl der Zeilen genau genommen ein Vielfaches der Pooling-Größe sein.
Vielleicht kann mindestens max berechnet werden, aber der Durchschnitt kann nicht berechnet werden.
Außerdem ist das maximale Pooling langsamer.
Recommended Posts