Partager via


BrainScript Train, Test, Eval

Ici, nous décrivons les principales commandes de niveau supérieur et test/eval leurs paramètres correspondants.train Pour obtenir des commandes de niveau supérieur supplémentaires, consultez la page correspondante.

Entraîner la commande

Cette commande demande CNTK d’entraîner un modèle. Un exemple de train section de commande est fourni dans la page vue d’ensemble du fichier config . Les paramètres associés sont les suivants :

  • reader : bloc de configuration de lecteur utilisé pour déterminer comment charger des données d’entrée. Pour plus d’informations, consultez le bloc Lecteur.

  • SGD – configuration de l’entraînement SGD. Pour plus d’informations, consultez le bloc SGD.

  • BrainScriptNetworkBuilder – le bloc de configuration BrainScript. Pour plus d’informations, consultez BrainScript Network Builder.

  • SimpleNetworkBuilder – le bloc de configuration du générateur de réseau simple. Pour plus d’informations, consultez Simple Network Builder.

  • cvReader – (facultatif) bloc de configuration du lecteur pour les données de validation croisée.

  • makeMode – s’il est défini sur true (par défaut) l’entraînement continuera à partir de toute époque interrompue. Si la valeur est définie sur false l’entraînement, redémarre à partir de zéro.

  • firstMBsToShowResult – indique le nombre de minibatches au début d’une époque pour afficher les résultats intermédiaires pour individuellement.

  • numMBsToShowResult : indique après le nombre de minibatches que les résultats intermédiaires doivent être affichés.

Test ou commande Eval

Ces commandes évaluent/testent un modèle pour la précision, généralement avec un jeu de données de test. Les paramètres associés sont les suivants :

  • reader – bloc de configuration du lecteur pour lire les données de test. Pour plus d’informations, consultez le bloc Lecteur.

  • modelPath : chemin d’accès au modèle à évaluer.

  • BrainScriptNetworkBuilder - si cela est donné, le modèle n’est pas seulement lu à partir modelPath de mais à la place construit à partir de cette configuration. Il est utilisé pour modifier des modèles à la volée pour l’évaluation.

  • minibatchSize : taille de minibatch à utiliser lors de la lecture et du traitement du jeu de données.

  • epochSize – taille du jeu de données. La valeur par défaut est 0. L’ensemble du jeu de données sera évalué s’il est défini sur 0.

  • numMBsToShowResult : indique après le nombre de minibatches que les résultats intermédiaires doivent être affichés.

  • evalNodeNames – tableau d’un ou plusieurs noms de nœuds à évaluer.

  • distributedMBReading - accepte la valeur booléenne : true ou false; la valeur par défaut est false. Il doit être défini sur true pour les lecteurs qui prennent en charge la lecture de minibatch distribuée. Si vous utilisez CNTK lecteur de format texte, lecteur d’image ou lecteur de données composite, vous devez définir distributedMBReading=true.

L’exemple suivant est pris sous la forme de l’exemple Simple2d. Dans cet exemple, il modelPath est défini au niveau supérieur et récupéré automatiquement par la commande et test la train commande.

Simple_Demo_Test = [
    action = "test"

    # Parameter values for the reader
    reader = [
        readerType = "CNTKTextFormatReader"
        file = "$DataDir$/SimpleDataTest_cntk_text.txt"
        randomize = false
        input = [
            features = [
                dim = 2        # two-dimensional input data
                format = "dense"
            ]
            labels = [
                dim = 2        # two-dimensional labels
                format = "dense"
            ]
        ]
    ]
]