当前位置:网站首页>深度学习基本实用工具
深度学习基本实用工具
2022-08-08 06:24:00 【hithithithithit】
目录
一、argparse库
argparse库可以获取命令行的参数并将参数传入到运行文件中,大大方便了深度学习需要不断修改参数的操作。
import argparse
# 创建一个参数获取器
parser = argparse.ArgumentParser()
# 添加参数及其格式
parser.add_argument('--file_name', type=str, default='123', help="print file name")
parser.add_argument('--seed', type=int, default=42, help="set seed")
# 创建参数解析器用于获取参数
args = parser.parse_args()
print("filename:", args.file_name)
print("seed:", args.seed)
运行命令及其输出:
PS D:\Awork\TestCode\transfomers_learning> python test.py --file_name 123456
filename: 123456
seed: 42
PS D:\Awork\TestCode\transfomers_learning> python test.py --file_name 123456 --seed 5
filename: 123456
seed: 5
PS D:\Awork\TestCode\transfomers_learning> python test.py
filename: 123
seed: 42
二、logging库
用于将程序中的输出或者日志打印、保存起来,极大的方便了查看程序的运行情况。
1、输出信息到控制台
import logging
# 配置logging
logging.basicConfig(level=logging.INFO, format='%(asctime)s - %(name)s - %(levelname)s - %(message)s',
datefmt='%m/%d/%Y %H:%M:%S', )
logger = logging.getLogger('dyh') # 返回logger创建者信息
# 在控制台打印不同类型的信息
logger.info("common info") # 普通信息
logger.debug("debug info") # debug信息,只有在debug模式下才起作用,即上面的level=logging.DEBUG才会输出此条信息
logger.warning("warning info") # warning警告信息level=logging.INFO时的输出信息
06/07/2022 14:01:52 - dyh - INFO - common info
06/07/2022 14:01:52 - dyh - WARNING - warning info
level=logging.DEBUG时的输出信息
06/07/2022 14:03:23 - dyh - INFO - common info
06/07/2022 14:03:23 - dyh - DEBUG - debug info
06/07/2022 14:03:23 - dyh - WARNING - warning infobasicConfig参数及其作用
参数:作用
%(levelno)s:打印日志级别的数值
%(levelname)s:打印日志级别的名称
%(pathname)s:打印当前执行程序的路径,其实就是sys.argv[0]
%(filename)s:打印当前执行程序名
%(funcName)s:打印日志的当前函数
%(lineno)d:打印日志的当前行号
%(asctime)s:打印日志的时间
%(thread)d:打印线程ID
%(threadName)s:打印线程名称
%(process)d:打印进程ID
%(message)s:打印日志信息
2、将信息保存到文件中
import logging
logger = logging.getLogger(__name__) # 创建日志句柄
logger.setLevel(level=logging.DEBUG) # 设置打印日志类型
handler = logging.FileHandler("log.txt") # 创建文件句柄
handler.setLevel(logging.DEBUG) # 句柄日志类型
formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s') # 设置日志格式
handler.setFormatter(formatter) # 设置文件格式
logger.addHandler(handler) # 将文件句柄添加到日志句柄中
logger.info("commom message")
logger.debug("debug info")
logger.warning("warning info")log.txt信息,注意,log文件中并不会清除上一次的输出信息

3、将信息同时保存到文件和控制台
import logging
# 设置日志句柄信息
logger = logging.getLogger(__name__)
logger.setLevel(level=logging.INFO)
formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
# 设置文件句柄信息
handler = logging.FileHandler("log.txt")
handler.setLevel(logging.INFO)
handler.setFormatter(formatter)
# 设置控制台句柄信息
console = logging.StreamHandler()
console.setLevel(logging.INFO)
console.setFormatter(formatter)
# 添加文件和控制台句柄到日志中
logger.addHandler(handler)
logger.addHandler(console)
logger.info("commom message")
logger.debug("debug info")
logger.warning("warning info")输出信息:
文件信息和控制台信息:


边栏推荐
猜你喜欢

CUDA10 installs a version of tensorflow that supports gpu

2. TF2 FAQ

Mybaits笔记

正则爬取豆瓣Top250数据存储到CSV文件(6行代码)

MySQL高级

COSMIC: COmmonSense knowledge for eMotion Identification in Conversations

食品行业报告:辣椒市场现状研究分析与发展前景预测

方便面行业调研:预计2028年将达到436亿美元

Four, TF2.0 tensor in mathematics

Rose essential oil market research: the current market output value exceeds 2.3 billion yuan, and the market demand gap is about 10%
随机推荐
正则爬取豆瓣Top250数据存储到CSV文件(6行代码)
一、TF2 常用命令
在Mysql的 left/right join 添加where条件
ER图是什么?
PHP操作MongoDB的原生CURD方法
[极客大挑战 2019]RCE ME 1
mycmsms靶机wp
MySQL高级
cengBox靶机wp
6.线程的休眠
轮播图-js
3. MATPLOTLIB data visualization analysis tool
Industry Research: Analysis of the Status and Prospects of the Pension Insurance Market in 2022
cybox target machine wp
数组转集合list
【重度踩雷】ROS安装过程中的问题
【Web】标准文档流
Mysql(三)
课堂作业--验证码较验
生成水仙花数