| // Copyright 2018 The Chromium OS Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| #ifndef ML_MODEL_METADATA_H_ |
| #define ML_MODEL_METADATA_H_ |
| |
| #include <map> |
| #include <string> |
| |
| #include "ml/mojom/model.mojom.h" |
| |
| namespace ml { |
| |
| // The information about one supported model. |
| struct BuiltinModelMetadata { |
| chromeos::machine_learning::mojom::BuiltinModelId id; |
| std::string model_file; |
| |
| // As accepted by the constructor of ModelImpl. |
| std::map<std::string, int> required_inputs; |
| std::map<std::string, int> required_outputs; |
| |
| // Used in naming the UMA metric histograms of the model. An example of the |
| // names of the histograms is: |
| // |
| // MachineLearningService.`metrics_model_name`.ExecuteResult.CpuTimeMicrosec |
| // |
| // This variable must NOT be empty. |
| std::string metrics_model_name; |
| }; |
| |
| // Returns a map from model ID to model metdata for each supported model. |
| std::map<chromeos::machine_learning::mojom::BuiltinModelId, |
| BuiltinModelMetadata> |
| GetBuiltinModelMetadata(); |
| |
| } // namespace ml |
| |
| #endif // ML_MODEL_METADATA_H_ |