// Copyright 2020 Huawei Technologies Co., Ltd. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. syntax = "proto2"; package mindspore.irpb; option cc_enable_arenas = true; // Event Protocol buffer, Top define message LineageEvent { // Timestamp required double wall_time = 1; // The step of train. optional int64 step = 2; oneof what { // An event file was started, with the specified version. // Now version is "MindSpore.Event:1" string version = 3; // Train lineage TrainLineage train_lineage = 6; // Evaluation lineage EvaluationLineage evaluation_lineage = 7; // Dataset graph DatasetGraph dataset_graph = 9; // User defined info UserDefinedInfo user_defined_info = 10; } } // User defined info message UserDefinedInfo{ // repeated user defined info repeated UserDefinedInfo user_info = 1; // key/value which contains both scalar and dict map map_dict = 2; map map_int32 = 3; map map_str = 4; map map_double = 5; } // TrainLineage records infos of a train. message TrainLineage{ message HyperParameters{ optional string optimizer = 1; optional float learning_rate = 2; optional string loss_function = 3; optional int32 epoch = 4; optional string parallel_mode = 5; optional int32 device_num = 6; optional int32 batch_size = 8; } message TrainDataset{ optional string train_dataset_path = 1; optional int32 train_dataset_size = 2; } message Algorithm{ optional string network = 1; optional float loss = 2; } message Model{ optional string path = 3; optional int64 size = 4; } optional HyperParameters hyper_parameters = 1; optional TrainDataset train_dataset = 2; optional Algorithm algorithm = 3; optional Model model = 4; } //EvalLineage records infos of evaluation. message EvaluationLineage{ message ValidDataset{ optional string valid_dataset_path = 1; optional int32 valid_dataset_size = 2; } optional string metric = 2; optional ValidDataset valid_dataset = 3; } // DatasetGraph message DatasetGraph { repeated DatasetGraph children = 1; optional OperationParameter parameter = 2; repeated Operation operations = 3; optional Operation sampler = 4; } message Operation { optional OperationParameter operationParam = 1; repeated int32 size = 2; repeated float weights = 3; } message OperationParameter{ map mapStr = 1; map mapStrList = 2; map mapBool = 3; map mapInt = 4; map mapDouble = 5; } message StrList { repeated string strValue = 1; }