Après avoir essayé diverses choses, dans sklearn, la variable objective peut être définie sur [-1,0,1] etc., mais dans Chainer, il est préférable de la définir sur [0,1,2]. Peut-être que quelque chose ne va pas avec le calcul de la fonction de perte.
Il est souvent écrit dans des exemples comme indiqué ci-dessous.
class ChainerClassifier(BaseChainerEstimator, base.ClassifierMixin):
def predict(self, x_data):
return BaseChainerEstimator.predict(self, x_data).argmax(1) #argmax renvoie le plus grand index de la ligne de la matrice. Autrement dit, la classe est de 0 à 1,Doit être 2
Notez que la fonction argmax renvoie un index comme mentionné dans les commentaires, il serait donc étrange que la variable objectif commence par -1.
Avec une mise en commun maximale, la mise en commun peut ressortir. En d'autres termes, il n'y a pas de problème même si la taille du pool est paire pour un nombre impair de colonnes ou de lignes. Et vice versa.
Cependant, dans le pooling moyen, à proprement parler, le nombre de colonnes et le nombre de lignes doivent être un multiple de la taille du pool.
Peut-être que max peut être calculé au moins, mais la moyenne ne peut pas être calculée.
De plus, la mise en commun maximale est plus lente.
Recommended Posts