2015-09-28 1 views
1

Je suis nouveau à Torch. Je suis en train de courir seul classificateur expérience dans Torch.But, je reçois l'erreur suivante lors de la formation est démarré,Un seul réseau de classeur en torche

/torche/install/bin/luajit: mauvais Argument n ° 2 à '? (Hors de portée à /torch/pkg/torch/generic/Tensor.c:853)

pile retraçage:

[C]: at 0x7f17b9dc029 
    [C]: in function '__index' 
    .../torch/install/share/lua/5.1/optim/ConfusionMatrix.lua:40: in function '_add' 
    .../torch/install/share/lua/5.1/optim/ConfusionMatrix.lua:102: in function 'batchAdd' 
    Main.lua:246: in function 'Train' 
    Main.lua:289: in main chunk 
    [C]: in function 'dofile' 
    .../torch/install/lib/luarocks/rocks/trepl/scm-1/bin/th:131: in main chunk 
    [C]: at 0x00406670 

Est-il possible de former seul réseau classificateur en flamme?
Merci d'avance.

+1

Heh, c'est assez difficile d'aider avec votre script sans le voir. Peut-être que vous devriez attacher le code source de cette "expérience de classificateur unique"? –

Répondre

0

Merci pour votre réponse. Mon modèle contient,

classificateur = nn.Sequential()

classificateur: ajouter (nn.Dropout (0,5))

classificateur: ajouter (nn.Linear (512512))

classificateur: ajouter (nn.BatchNormalization (512))

classificateur: ajouter (nn.ReLU (true))

classificateur: ajouter (nn.Dropout (0,5))

classificateur: ajouter (nn.Linear (512,1))

classificateur: ajouter (nn.LogSoftMax())

et je me sers nn.CrossEntropyCriterion() pour la perte de la réseau.

Est-il possible d'exécuter une expérience de classificateur unique?

0

Oui, vous pouvez vous entraîner dans une classe. L'erreur que vous avez obtenue pointe vers une matrice de confusion.

Pour une classe, il devrait être de la manière suivante: - Cours

classes = {1} 

- Cette matrice enregistre la confusion actuelle dans toutes les classes

confusion = optim.ConfusionMatrix(classes) 

Vos étiquettes de train ou des étiquettes d'essai ne doivent jamais contenir ' 0 'nombre comme l'étiquette.