Interroger les journaux d’épisodes
Bonsai peut collecter des données d’épisode, d’itération et de simulation pendant l’apprentissage et l’évaluation. Bonsai provisionne un espace de travail Azure Log Analytics chaque fois que vous créez un espace Bonsai de travail et écrit des données de journal dans Azure Log Analytics afin de pouvoir interroger les informations le long des autres données de journal que vous pouvez collecter.
Avant de commencer
- Vous devez activer la journalisation pour capturer les données de journal à partir de l’entraînement du cerveau. Pour activer la journalisation avec l’interface Bonsai utilisateur ou l’interface CLI, suivez les instructions des données de simulation de journal.
Conseil
Bonsai enregistre automatiquement les données d’itération pour toutes les instances de simulateur associées aux évaluations personnalisées. Vous devez uniquement configurer la journalisation manuellement si vous souhaitez capturer les informations système.
Étape 1 : Ouvrir votre espace de travail Log Analytics
- Connectez-vous au portail Azure.
- Ouvrez la liste des espaces de Bonsai travail associés à votre compte.
- Cliquez sur l’espace de travail pour lequel vous souhaitez interroger les journaux.
- Sélectionnez Journaux dans la section Général de la navigation du portail.
Notes
La première fois que vous ouvrez la page Journaux, Azure vous présente une superposition pleine de requêtes de pré-package. Pour éviter de voir ce panneau à chaque fois, assurez-vous que le curseur en haut du panneau libellé « Show every time » (Afficher à chaque fois) est désactivé.
Étape 2 : Écrire une requête de journal Azure
Bonsai les données sont stockées dans les journaux personnalisés suivants :
- EpisodeLog_CL : données de niveau épisode. Une exécution d’apprentissage aura plusieurs entrées d’épisode.
- IterationLog_CL : données de niveau itération. Un épisode aura plusieurs entrées d’itération.
- ContainerEvent_CL : données de niveau système relatives aux interactions entre Azure Container Registry et les instances de conteneur utilisées pour la simulation. Disponibles uniquement quand l’indicateur
include-system-logs
est utilisé. - ContainerInstanceLog_CL : données de niveau système relatives aux instances de simulateur individuelles journalisées pendant l’apprentissage. Disponibles uniquement quand l’indicateur
include-system-logs
est utilisé.
Les colonnes de journal les plus importantes Bonsai pour chaque tableau sont indiquées ci-dessous.
Bonsai journalisation des tables et des colonnes clés
EpisodeLog_CL
Nom de la colonne | Description |
---|---|
AssessmentId_s | ID d’objet Azure de l’évaluation dont l’épisode faisait partie. Défini uniquement si la journalisation s’est produite pendant une évaluation. |
AssessmentName_s | Nom personnalisé de l’évaluation dont l’épisode faisait partie. Défini uniquement si la journalisation s’est produite pendant une évaluation. |
BrainDisplayName_s | Nom sensible à la casse du Bonsai cerveau. Également répertorié dans l’interface Bonsai utilisateur. |
BrainName_s | Nom non sensible à la casse du Bonsai cerveau. Également utilisé pour référencer des cerveaux avec l’interface Bonsai CLI. |
BrainVersionId_g | ID d’objet Azure de la version de cerveau. |
BrainVersion_d | Version de cerveau sous forme d’entier. |
ConceptName_s | Concept Inkling formé. |
CumulativeReward_d | Score de récompense final pour l’épisode. |
EndTime_t | Horodatage UTC de fin de l’épisode. |
EpisodeId_g | ID d’objet Azure de l’objet de données contenant les données d’épisode brutes. |
EpisodeType_s | Indique si l’épisode a été journalisé au cours de l’apprentissage ou de l’évaluation (non spécifié). |
FinishReason_s | Indique la raison pour laquelle l’épisode s’est terminé. |
GoalMetrics_s | Objet JSON avec des métriques de niveau itération pour des objectifs Inkling avoid , drive et reach . Les objectifs non utilisés sont vides. |
LessonIndex_d | Index croissant de la leçon pour la session de formation ou d’évaluation donnée, à partir de 1. |
SessionId_s | ID d’objet Azure du simulateur géré. |
SimConfig_s | Objet JSON avec les informations de configuration sim de départ pour cet épisode. |
SimId_s | Adresse IP de conteneur du simulateur géré. |
StartTime_t | Horodatage UTC de début de l’épisode. |
TenantId | Locataire Azure sous lequel l’entrée de journal a été générée. |
TimeGenerated | Horodateur UTC de l’entrée de journal. |
Type | Type d’entrée de journal. Toujours défini sur « EpisodeLog_CL ». |
WorkspaceId_g | ID d’objet Azure de l’espace Bonsai de travail. |
IterationLog_CL
Nom de la colonne | Description |
---|---|
BrainAction_s | Actions par itération retournées par le cerveau, après transformation SimState . |
BrainDisplayName_s | Nom complet du Bonsai cerveau. Répertorié dans l’interface Bonsai utilisateur. |
BrainName_s | Nom interne du Bonsai cerveau. Utilisé pour référencer des cerveaux avec l’interface Bonsai CLI. |
BrainVersionId_g | ID d’objet Azure de la version de cerveau. |
BrainVersion_d | Version du cerveau affichée dans l’interface Bonsai utilisateur. |
EpisodeId_g | ID d’objet Azure de l’objet de données contenant les données d’épisode brutes. |
EpisodeIndex_d | Index croissant de l’épisode pour la leçon donnée, à partir de 1. |
Halted_b | Indique si l’épisode associé a été arrêté par l’utilisateur. |
IterationIndex_d | Index croissant de l’itération pour l’épisode donné, à partir de 1. |
ObservableState_s | Valeurs d’état transmises au cerveau pour l’itération, après transformation SimState . |
Reward_d | Récompense incrémentielle attribuée au cerveau pour l’itération. |
SessionId_s | ID d’objet Azure du simulateur géré. |
SimAction_s | Valeurs d’action envoyées par le cerveau au simulateur. |
SimState_s | Valeurs d’état envoyées par le simulateur au cerveau. |
TenantId | Locataire Azure sous lequel l’espace Bonsai de travail a été provisionné. |
Terminal_b | Booléen indiquant si l’itération donnée était une itération terminale. |
TimeGenerated | Horodateur UTC défini automatiquement par Log Analytics au moment de l’entrée de journal. |
Timestamp_t | Horodatage UTC lorsque les données du journal ont été générées par Bonsai. |
Type | Type d’entrée de journal. Toujours défini sur « IterationLog_CL ». |
WorkspaceId_g | ID d’objet Azure de l’espace Bonsai de travail. |
ContainerEvent_CL
Nom de la colonne | Description |
---|---|
ContainerGroupInstanceId_g | ID d’objet Azure de l’instance de groupe de conteneurs ACR utilisée pour la simulation. |
ContainerGroup_s | Nom respectant la casse de l’instance de groupe de conteneurs ACR utilisée pour la simulation. |
ContainerName_s | Nom respectant la casse du conteneur ACR individuel pour l’instance de simulateur associée. |
Location_s | Région de service Microsoft dans laquelle le conteneur a été déployé. |
Message | Message journalisé à partir du registre de conteneurs Azure. |
OSType_s | Type de système d’exploitation des instances de conteneur associées. |
Reason_s | Événement ACR qui a déclenché un message système. |
ResourceGroup | ID d’objet Azure du groupe de ressources auquel appartient le groupe de conteneurs. |
SubscriptionId | ID d’abonnement Azure auquel le coût d’exécution du groupe de conteneurs a été facturé. |
TimeGenerated | Horodateur UTC de l’entrée de journal. |
Type | Type d’entrée de journal. Toujours défini sur « ContainerEvent_CL ». |
ContainerInstanceLog_CL
Nom de la colonne | Description |
---|---|
ContainerGroup_s | Nom respectant la casse de l’instance de groupe de conteneurs ACR associée dans ContainerEvent_CL. |
ContainerID_s | ID d’objet Azure de l’instance de conteneur ACR. |
ContainerImage_s | Nom Azure Container Registry de l’instance de conteneur. |
ContainerName_s | Nom court de l’instance de conteneur. |
Location_s | Région de service Microsoft dans laquelle l’instance a été déployée. |
Message | Message journalisé de l’instance de conteneur. |
OSType_s | Type de système d’exploitation de l’instance de conteneur (par exemple, Linux). |
ResourceGroup | ID d’objet Azure du groupe de ressources auquel l’instance de conteneur appartient. |
Source_s | Indique comment les données de journal ont été capturées. |
SubscriptionId | ID d’abonnement Azure auquel le coût d’exécution de l’instance de conteneur a été facturé. |
TimeGenerated | Horodateur UTC de l’entrée de journal. |
Type | Type d’entrée de journal. Toujours défini sur « ContainerEvent_CL ». |
Exemples de requêtes
Répertorier tous les ID de session uniques dans les données des itérations :
IterationLog_CL | distinct SessionId_s
Lier les données d’épisode de haut niveau avec les itérations associées à l’aide de l’ID de session :
IterationLog_CL |
join kind = leftouter (
EpisodeLog_CL |
project
BrainName_s,
CumulativeReward_d,
SimConfig_s,
GoalMetrics_s,
EpisodeType_s,
EpisodeId_g
) on EpisodeId_g |
project
WorkspaceId = WorkspaceId_g,
BrainName = BrainName_s,
BrainVersion = BrainVersion_d,
Timestamp = Timestamp_t,
SimAction = parse_json(SimAction_s),
SimState = parse_json(SimState_s),
IterationIndex = IterationIndex_d,
EpisodeIndex = EpisodeIndex_d,
Reward = Reward_d,
CumulativeReward = CumulativeReward_d,
SimConfig = parse_json(SimConfig_s),
GoalMetrics = parse_json(EpisodeType_s),
EpisodeType = EpisodeType_s,
EpisodeId = EpisodeId_g1 |
order by
EpisodeIndex asc,
IterationIndex asc,
BrainName asc
Étapes suivantes
Pour en savoir plus sur les colonnes de journal Azure standard et la syntaxe de requête de journal Azure, consultez la Documentation Azure Log Analytics.