| // Copyright 2020 The Chromium Authors |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| #ifndef CHROME_BROWSER_ASH_POWER_ML_SMART_DIM_ML_AGENT_UTIL_H_ |
| #define CHROME_BROWSER_ASH_POWER_ML_SMART_DIM_ML_AGENT_UTIL_H_ |
| |
| #include <string> |
| |
| #include "base/containers/flat_map.h" |
| #include "base/values.h" |
| |
| namespace ash { |
| namespace power { |
| namespace ml { |
| |
| // Note: these names doesn't need to respect the real node names in TF graph. |
| // But we must use the same input and output node names in loading model and |
| // composing/extracting input/output tensors. |
| extern const char kSmartDimInputNodeName[]; |
| extern const char kSmartDimOutputNodeName[]; |
| |
| // Extract essential fields from parsed JSON dict. |
| bool ParseMetaInfoFromJsonObject(const base::Value& root, |
| std::string* metrics_model_name, |
| double* dim_threshold, |
| size_t* expected_feature_size, |
| base::flat_map<std::string, int>* inputs, |
| base::flat_map<std::string, int>* outputs); |
| |
| } // namespace ml |
| } // namespace power |
| } // namespace ash |
| |
| #endif // CHROME_BROWSER_ASH_POWER_ML_SMART_DIM_ML_AGENT_UTIL_H_ |