“Log as append only source”记录器
blackhc.laaos的Python项目详细描述
作为仅附加源包登录
日志作为仅附加源:用python编写ml训练结果,而不必担心崩溃。加载很容易:日志是本地python代码。该包支持非结构化数据。数据可以很容易地导入到jupyter笔记本或其他地方。
安装
要使用pip安装,请使用:
pip install blackhc.laaos
要运行测试,请使用:
python setup.py test
仅追加源日志
将训练结果存储为python字典或json文件是有问题的,因为格式不是仅附加的, 这意味着每次发生变化时都必须重写文件。(或者你只在结尾写结果, 它在中断或中间故障时不起作用。)
或者,我们可以简单地将创建结构的操作以仅追加的方式写入文件。 如果数据结构本身正在增长而没有发生变化,那么这只会增加一个常数因子的文件大小。
这个库的优点是文件格式非常简单:它是有效的python代码。
唯一的要求是只存储原语类型、列表、集合、dict和不可变类型。
在创建Store
时,可以通过注册TypeHandler
来添加自定义包装。见WeakEnumHandler
和StrEnumHandler
。
示例
fromblackhc.laaosimportcreate_file_store,safe_load_storestore=create_file_store('test',suffix='')store['losses']=[]losses=store['losses']foriinrange(1,10):losses.append(1/i)store.close()
结果文件laaos/test.py
包含有效的python代码:
store={}store['losses']=[]store['losses'].append(1.0)store['losses'].append(0.5)store['losses'].append(0.3333333333333333)store['losses'].append(0.25)store['losses'].append(0.2)store['losses'].append(0.16666666666666666)store['losses'].append(0.14285714285714285)store['losses'].append(0.125)store['losses'].append(0.1111111111111111)
它可以加载:
formlaaos.testimportstore
或者使用更安全的:
safe_load('laaos/test.py')