诸神缄默不语-个人CSDN博文目录
fitlog包是用于自动版本管理和自动日志记录的Python包,是fastNLP团队开发的。
fitlog 中文文档 — fitlog 文档
他们团队的文档写的真的不行,崩溃,FastNLP也很难用,fitlog也很难用,中文读起来比transformers和wandb的英文很难懂。
最近更新时间:2023.4.23
最早更新时间:2023.4.23
文章目录
- 1. 安装
- 2. 快速上手
- 3. API
1. 安装
直接:pip install fitlog
2. 快速上手
fitlog init example
输出:
会在当前目录下创建example文件夹。其中,logs 文件夹是 fitlog 默认存放日志的文件夹;main.py 是训练程序的入口文件。
将main.py修改为训练代码:
import fitlog
import random
import argparse
# 从命令行传入参数
parser = argparse.ArgumentParser()
parser.add_argument('--demo', type=int, default=2)
# fitlog.commit(__file__) # 自动 commit 你的代码
fitlog.set_log_dir("logs/") # 设定日志存储的目录
args = parser.parse_args()
fitlog.add_hyper(args) # 通过这种方式记录ArgumentParser的参数
fitlog.add_hyper_in_file(__file__) # 记录本文件中写死的超参数
######hyper
rand_seed = 123
######hyper
random.seed(rand_seed)
best_acc, best_step, step = 0, 0, 0
for i in range(200):
step += 1
if step % 20 == 0:
loss = random.random()
acc = random.random()
fitlog.add_loss(loss,name="Loss",step=step)
fitlog.add_metric({"dev":{"Acc":acc}}, step=step)
if acc>best_acc:
best_acc = acc
fitlog.add_best_metric({"dev":{"Acc":best_acc}})
# 当dev取得更好的performance就在test上evaluate一下
test_acc = random.random()
fitlog.add_best_metric({"test":{"Acc":test_acc}})
fitlog.finish() # finish the logging
把工作目录切换到example文件夹下,更换代码中的rand_seed为124/123,分别运行一次,然后用fitlog log logs
命令行打开网页(我用的是VSCode,所以这个IP地址是自动映射到本地的):
trend:
folder:
3. API
add_loss