对dataset模块数据配置config.cc的注释

举报
颜文军 发表于 2021/10/31 18:14:17 2021/10/31
【摘要】 对config.cc的注释知识浅薄,还有许多未理解之处,欢迎各位纠正、讨论路径:mindspore\ccsrc\minddata\dataset\api\config.ccconfig即配置,是为了解决这个问题:把你所有的微服务配置通过某个平台比如 github, gitlib 或者其他的git仓库 进行集中化管理(当然,也可以放在本地).#include "minddata/dataset...

对config.cc的注释
知识浅薄,还有许多未理解之处,欢迎各位纠正、讨论
路径:mindspore\ccsrc\minddata\dataset\api\config.cc
config即配置,是为了解决这个问题:把你所有的微服务配置通过某个平台比如 github, gitlib 或者其他的git仓库 进行集中化管理(当然,也可以放在本地).

#include "minddata/dataset/core/config_manager.h"//在当前目录下寻找 引入自己的头文件 下同
#include "minddata/dataset/core/global_context.h"
#include "minddata/dataset/include/dataset/config.h"
#include "minddata/dataset/util/log_adapter.h"
#include "minddata/dataset/util/status.h"

//创建一个名为mindspore的空间,并在其中嵌套一个名为parse(作语法分析)的空间
namespace mindspore {
namespace dataset {
// 这是一个一次性全局初始值设定项,其中包含实例化单例的调用。
// 它是外部api调用,而不是GlobalContext的直接成员。

// Config operations for setting and getting the configuration.
namespace config {//设置和获取配置的配置操作。

std::shared_ptr<ConfigManager> _config = GlobalContext::config_manager();

// Function to set the seed to be used in any random generator
bool set_seed(int32_t seed) {
  //函数设置种子用于任何随机发生器
  if (seed < 0) {//判断
    MS_LOG(ERROR) << "Seed given is not within the required range: " << seed;//种子不是在要求范围内
    return false;
  }
  _config->set_seed((uint32_t)seed);
  //设置种子用于任何随机发生器
  return true;
}

// Function to get the seed
uint32_t get_seed() { return _config->seed(); }//获取种子

// Function to set the number of rows to be prefetched
bool set_prefe为tch_size(int32_t prefetch_size) {
  //命令功能为设置预取行数
  if (prefetch_size <= 0) {//判断
    MS_LOG(ERROR) << "Prefetch size given is not within the required range: " << prefetch_size;
    //预取大小给定并非必需的范围内
    return false;
  }
  _config->set_op_connector_size(prefetch_size);
  //得到预取大小的行数的函数
  return true;
}

// Function to get prefetch size in number of rows
int32_t get_prefetch_size() { return _config->op_connector_size(); }
//函数来得到预取大小的行数

// Function to set the default number of parallel workers
bool set_num_parallel_workers(int32_t num_parallel_workers) {
  //命令功能为设置默认的平行的工作器
  if (num_parallel_workers <= 0) {
    MS_LOG(ERROR) << "Number of parallel workers given is not within the required range: " << num_parallel_workers;
    //许多并行的工作不是在要求范围内
    return false;
  }
  _config->set_num_parallel_workers(num_parallel_workers);
  //设置默认的平行的工作器
  return true;
}

// Function to get the default number of parallel workers
int32_t get_num_parallel_workers() { return _config->num_parallel_workers(); }
//命令功能为获取设置默认的并行工作器数量

// Function to set the default interval (in milliseconds) for monitor sampling
bool set_monitor_sampling_interval(int32_t interval) {
  //命令功能为设置监控采样的默认间隔(毫秒)
  if (interval <= 0) {
    MS_LOG(ERROR) << "Interval given is not within the required range: " << interval;
    //时间间隔不是在要求范围内
    return false;
  }
  _config->set_monitor_sampling_interval((uint32_t)interval);
  //设置监控采样的默认间隔(毫秒)
  return true;
}

// Function to get the default interval of performance monitor sampling
int32_t get_monitor_sampling_interval() { return _config->monitor_sampling_interval(); }
//对性能监视器的默认间隔采样

// Function to set the default timeout (in seconds) for DSWaitedCallback
//命令功能为设置默认为DSWaitedCallback超时时间(以秒为单位)
bool set_callback_timeback(int32_t timeout) {//设置默认为DSWaitedCallback超时时间(以秒为单位)
  if (timeout <= 0) {//判断
    MS_LOG(ERROR) << "Timeout given is not within the required range: " << timeout;
    //超时 不是在要求范围内
    return false;
  }
  _config->set_callback_timeout((uint32_t)timeout);
  //设置默认超时时间
  return true;
}

int32_t get_callback_timeout() { return _config->callback_timeout(); }
//得到DSWaitedCallback的默认超时

// Function to load configurations from a file
bool load(const std::vector<char> &file) {//功能为加载配置文件
  Status rc = _config->LoadFile(CharToString(file));
  if (rc.IsError()) {//判断并加载配置文件
    MS_LOG(ERROR) << rc << file;
    return false;//返回失败
  }
  return true;//返回成功
}

}  // namespace config
}  // namespace dataset
}  // namespace mindspore

以上即为本篇的所有内容,因学识与能力有限,如有不足之处,请多多包涵与指教.

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。