pointnet的logging模块理解

这篇博客详细介绍了如何在PointNet中利用Python的logging模块进行日志记录和管理。首先,展示了基本的日志操作,包括设置日志级别、格式和输出信息。然后,进一步讲解了如何将日志内容写入到文件中。最后,通过自定义的parser模块解析命令行参数,并结合logging模块创建目录,记录训练参数等信息到指定的log文件中。整个过程旨在提高代码的可读性和调试效率。
摘要由CSDN通过智能技术生成

一、logging模块操作

1、日志内容导入logger

import logging

logging.basicConfig(level=logging.INFO, format='%(asctime)s - %(name)s - %(levelname)s - %(message)s')
logger = logging.getLogger(__name__)

logger.info("Start print log")
logger.debug("Do something")
logger.warning("Something maybe fail.")
logger.info("Finish")

2、日志内容导入logger,另外logger内容导入新创建的文本文档log.txt

import logging

logger = logging.getLogger(__name__)  #命名日志内容
logger.setLevel(level = logging.INFO)
handler = logging.FileHandler('log.txt')  #创建句柄,并命名句柄
handler.setLevel(logging.INFO)
handler.setFormatter(logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s'))
logger.addHandler(handler)  # 将logger日志内容加入句柄handler

logger.info("Start print log")
logger.debug("Do something")
logger.warning("Something maybe fail.")
logger.info("Finish")

3、对比图
对比图

二、Pointnet中logging模块的操作

1、创建目录

'''LOG'''
def log_string(str):
    logger.info(str)
    print(str)

import parser1
args = parser1.parse_args() #原文代码为args = parse_args()
logger = logging.getLogger("Model")
logger.setLevel(logging.INFO)
formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
file_handler = logging.FileHandler('%s/%s.txt' % (log_dir, args.model))
file_handler.setLevel(logging.INFO)
file_handler.setFormatter(formatter)
logger.addHandler(file_handler)
log_string('PARAMETER ...')
log_string(args)

2、为便于理解,自建parser1模块内容参考

import argparse

def parse_args():
    parser = argparse.ArgumentParser('PointNet')
    parser.add_argument('--batch_size',type=int,default=24,help='batch size in training [default:24]')
    parser.add_argument('--model', default='pointnet_cls', help='model name [default: pointnet_cls]')
    parser.add_argument('--epoch', default=200, type=int, help='number of epoch in training [default: 200]')
    parser.add_argument('--learning_rate', default=0.001, type=float, help='learning rate in training [default: 0.001]')
    parser.add_argument('--gpu', type=str, default='0', help='specify gpu device [default: 0]')
    parser.add_argument('--num_point', type=int, default=1024, help='Point Number [default: 1024]')
    parser.add_argument('--optimizer', type=str, default='Adam', help='optimizer for training [default: Adam]')
    parser.add_argument('--log_dir', type=str, default=None, help='experiment root')
    parser.add_argument('--decay_rate', type=float, default=1e-4, help='decay rate [default: 1e-4]')
    parser.add_argument('--normal', action='store_true', default=False,
                        help='Whether to use normal information [default: False]')
    # 采用parser对象的parse_args函数获取解析的参数
    return parser.parse_args()

args =  parse_args()
print(args)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值