2017-02-27 1 views
0

Je suis en train de coder un réseau de neurones pour dominatrice
L'entrée est une matrice de 8 x 8 x 3. J'ai organisé la matrice comme suit:
La première profondeur est pour l'état du jeu, la deuxième profondeur est retournée et la dernière profondeur est le plan du joueur
La sortie est de 8 x 8 est le meilleur jeu à jouer aka le mouvement d'apprendre (généré par Monte Carlo Tree Search)Torch - Lua/Get indice max de la matrice

Ensuite, le réseau est un tenseur 8 x 8 avec la probabilité d'être le meilleur jeu à jouer, Je dois obtenir l'indice (x, y) de la probabilité maximale du tenseur pour moi à

J'ai essayé avec la fonction torch.max (tensor, 2) et torch.max (tensor? 1) mais je n'ai pas eu ce dont j'avais besoin.

Quelqu'un peut-il avoir la moindre idée pour m'aider?

Merci beaucoup!

#out = output of the neural net and output is the target output[indice][1] 
# need to check if the target is the same as prediction 
max, bestTarget = torch.max(output[index][1],2) 
maxP, bestPrediction = torch.max(out,2) 
max, indT = torch.max(max,1) 
maxP, indP = torch.max(maxP,1) 

Répondre

0

Pour obtenir l'élément maximal (best_row, best_col) de sortir,

-- First get the maximum element and indices per row 
maxP_per_row, bestColumn_per_row = torch.max(out,2) 
-- then get the best element and the best row 
best_p, best_row = torch.max(maxP_per_row, 1) 
-- then find the best column for the best row 
best_col = bestColumn_per_row[best_row] 

Vous pouvez faire la même chose pour cible. J'espère que cela t'aides.