当前位置: 首页 > wzjs >正文

已经有了域名怎么做网站柳州今日头条新闻

已经有了域名怎么做网站,柳州今日头条新闻,网站建设 申请报告,校园网站建设与实现毕业论文源码:https://github.com/Time-MoE/Time-MoE 这段代码实现了一个自定义的日志配置模块,主要用于分布式训练环境下的日志管理,确保只有主进程(local_rank0)输出日志,避免多进程环境下的日志冗余。 1. 日志基…

源码:https://github.com/Time-MoE/Time-MoE

这段代码实现了一个自定义的日志配置模块,主要用于分布式训练环境下的日志管理,确保只有主进程(local_rank=0)输出日志,避免多进程环境下的日志冗余。


1. 日志基础配置

DEFAULT_LOGGER = "time_moe_logger"
DEFAULT_FORMATTER = logging.Formatter('%(asctime)s - %(filename)s[pid:%(process)d;line:%(lineno)d:%(funcName)s] - %(levelname)s: %(message)s'
)
_ch = logging.StreamHandler(stream=sys.stdout)
_ch.setFormatter(DEFAULT_FORMATTER)
_DEFAULT_HANDLERS = [_ch]
  • 日志格式
    定义了详细的日志格式,包含:

    • asctime:日志时间
    • filename:文件名
    • process:进程 ID
    • lineno:代码行号
    • funcName:函数名
    • levelname:日志级别(INFO/WARNING/ERROR 等)
    • message:日志内容
      这种格式便于定位日志对应的代码位置,适合调试和生产环境。
  • 处理程序
    创建一个输出到标准输出(stdout)的处理器(StreamHandler),并绑定上述格式器。

2. 分布式环境检测函数

def is_local_rank_0():local_rank = os.getenv('LOCAL_RANK')if local_rank is None or local_rank == '0':return Trueelse:return False

  • 功能:检测当前进程是否是分布式环境中的主进程(local_rank=0)。
  • 应用场景:在分布式训练(如使用 PyTorch DDP)中,通常只需要主进程输出日志,避免多进程重复打印。

3. 日志记录器工厂函数

def get_logger(name, level="INFO", handlers=None, update=False):if name in _LOGGER_CACHE and not update:return _LOGGER_CACHE[name]logger = logging.getLogger(name)logger.setLevel(level)logger.handlers = handlers or _DEFAULT_HANDLERSlogger.propagate = False  # 防止日志向上传播到根记录器_LOGGER_CACHE[name] = loggerreturn logger
  • 单例模式
    使用_LOGGER_CACHE缓存已创建的日志记录器,避免重复创建,提高性能。

    • 首次调用时创建新的记录器并缓存。
    • 后续调用直接从缓存获取(update=False时)。
  • 参数说明

    • name:日志记录器名称(如time_moe_logger)。
    • level:日志级别(默认INFO,支持DEBUG/WARNING/ERROR等)。
    • handlers:自定义处理器(默认使用_DEFAULT_HANDLERS,即标准输出)。
    • update:是否强制更新缓存(默认False)。

4. 分布式日志输出函数

def log_in_local_rank_0(*msg, type='info', used_logger=None):msg = ' '.join([str(s) for s in msg])used_logger = used_logger or logger  # 默认使用全局loggerif is_local_rank_0():  # 仅主进程输出日志if type == 'warn' or type == 'warning':used_logger.warning(msg)elif type == 'error':used_logger.error(msg)else:used_logger.info(msg)
  • 核心逻辑

    • 将输入参数拼接为字符串msg
    • 通过is_local_rank_0()判断是否为主进程,若是则根据type记录对应级别的日志。
    • 支持三种日志类型:info(默认)、warnerror
  • 使用场景
    在分布式训练中,确保只有主进程输出日志,避免多卡环境下日志重复(如 DDP 的 8 卡训练中,仅local_rank=0的卡打印日志)。

5. 全局日志记录器

logger = get_logger(DEFAULT_LOGGER)
  • 创建一个默认的日志记录器,名称为time_moe_logger,使用前面定义的格式和处理器。
  • 其他模块可直接导入该logger,通过log_in_local_rank_0函数控制输出。
http://www.dtcms.com/wzjs/313574.html

相关文章:

  • 网站与网页的区别与联系内容营销案例
  • 今日深圳龙岗区疫情最新消息seo云优化平台
  • 建设网站公成都网站建设公司排名
  • 怎样做网商网站今日新闻事件
  • 商洛市城乡建设规划局网站做网页设计的软件
  • 有代做统计图的网站吗网络优化工程师
  • 动态电子商务网站 制作什么是sem推广
  • 什么网站做一手项目好今日小说排行榜百度搜索榜
  • 北京网站建设代理百度推广怎么看关键词排名
  • 做威客哪个网站好百度风云榜小说排行榜
  • 天津网站优化方案关键词挖掘啊爱站网
  • o2o电子商务网站策划书网上推广
  • 旅行社网站开发 论文网络黄页推广软件
  • 博兴做网站镇江网页设计
  • 帝国cms做新闻网站软文一般发布在哪些平台
  • 哈尔滨建设网站制作东莞百度搜索网站排名
  • 做网站要在工商备案吗seo培训优化
  • 上海网站建设做物流一常德seo快速排名
  • 汇鑫网站建设便捷网址链接生成器
  • 网站建设服务开发长春网站优化服务
  • 凤凰自媒体平台注册seo在线优化工具 si
  • 修车店怎么做网站国外浏览器搜索引擎入口
  • 企业网站建设找智恒网络网络营销七个步骤
  • 做网站是用什么语言的舆情分析
  • 武汉模板建站系统百度网盘网页登录入口
  • 备案上个人网站和企业网站的区别潍坊网站模板建站
  • 营销型网站建设区别广州发布紧急通知
  • 专题活动是在官方网站还是在其他网站做阳泉seo
  • 衡阳网站搜索引擎优化建立网站怎么搞
  • 台州网站如何制作初学seo网站推广需要怎么做