一个常用的工具代码包集合
Project description
kevin_toolbox
一个通用的工具代码包集合
环境要求
numpy>=1.19
pytorch>=1.2
安装方法:
pip install kevin-toolbox --no-dependencies
- v 1.3.2 (2024-03-05)【bug fix】【new feature】
- patches
- for_optuna.serialize
- 【bug fix】fix bug in for_study.dump(),使用 try except 来捕抓并跳过使用 getattr(study, k) 读取 study 中属性时产生的错误。(比如单变量优化时的best_trials参数)
- 【bug fix】fix bug in for_study.dump(),避免意外修改 study 中的属性。
- 添加了对应的测试用例。
- for_matplotlib
- 【new feature】add generate_color_list(),用于生成指定数量的颜色列表,支持对指定颜色的排除。
- for_numpy
- 【new feature】add linalg.entropy(),用于计算分布的熵。
- 【new feature】add random,添加了用于随机生成的模块,其中包含:
- get_rng(),获取默认随机生成器or根据指定的seed构建随机生成器。
- truncated_normal(),从截断的高斯分布中进行随机采样。
- truncated_multivariate_normal(),从截断的多维高斯分布中进行随机采样。
- 添加了测试用例。
- for_optuna.serialize
- nested_dict_list
- 【bug fix】fix bug in get_nodes(),修复了遍历非叶节点时,当节点下的叶节点均不存在时会异常跳过该节点的问题。
- 添加了对应的测试用例。
- 【new feature】modify set_default(),修改后将默认返回对应name的值,而不是返回整体的var,从而与python dict的setdefault函数的行为对齐。特别地,也支持通过设置b_return_var参数来获取 var。
- 修改了对应的测试用例。
- 【bug fix】fix bug in get_nodes(),修复了遍历非叶节点时,当节点下的叶节点均不存在时会异常跳过该节点的问题。
- computer_science.algorithm
- registration.Registry
- 【new feature】改进 self.collect_from_paths() 函数。
- 增加一个检查用于避免待搜索路径包含调用该函数的文件。如果包含,则报错,同时提示这样会导致 collect_from_paths() 函数被无限递归调用,从而引起死循环。并建议将该函数的调用位置放置在待搜索路径外,或者使用 ignore_s 将其进行屏蔽。
- 添加了测试用例。
- 【bug fix】fix bug in self.get(),之前 get() 函数中只从
self._item_to_add
和self._path_to_collect
中加载一次注册成员,但是加载的过程中,可能后面因为对self._path_to_collect
的加载,又往self._item_to_add
中添加了待处理内容,导致不能完全加载。该问题已修复。- 添加了测试用例。
- 【new feature】改进 self.collect_from_paths() 函数。
- 【new feature】add cache_manager,新增了 cache_manager 模块用于进行缓存管理。
- 其中主要包含三个部分:
- 缓存数据结构:cache_manager.cache 和
cache_manager.variable.CACHE_BUILDER_REGISTRY
- 基类:
Cache_Base
- 基于内存的缓存结构:
Memo_Cache
,注册名":in_memory:Memo_Cache"
等等。
- 基类:
- 缓存更新策略:cache_manager.strategy 和
cache_manager.variable.CACHE_STRATEGY_REGISTRY
- 基类:
Strategy_Base
- 删除最后一次访问时间最久远的部分:
FIFO_Strategy
,注册名":by_initial_time:FIFO_Strategy"
等等。 - 删除访问频率最低的部分:
LFU_Strategy
,注册名":by_counts:LFU_Strategy"
等等。 - 删除最后一次访问时间最久远的部分:
LRU_Strategy
,注册名":by_last_time:LRU_Strategy"
等等。 - 删除访问频率最低的部分:
LST_Strategy
,注册名":by_survival_time:LST_Strategy"
等等。
- 基类:
- 缓存管理器:Cache_Manager(主要用这个)
- 缓存数据结构:cache_manager.cache 和
- 添加了测试用例。
- 其中主要包含三个部分:
- registration.Registry
- data_flow.core.cache
- modify Cache_Manager_for_Iterator,使用新增的 cache_manager 模块替换 Cache_Manager_for_Iterator 中基于内存的缓存。相关参数有修改。
- 添加了测试用例。
- modify Cache_Manager_for_Iterator,使用新增的 cache_manager 模块替换 Cache_Manager_for_Iterator 中基于内存的缓存。相关参数有修改。
- patches
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
kevin-toolbox-1.3.2.tar.gz
(162.1 kB
view details)
Built Distribution
kevin_toolbox-1.3.2-py3-none-any.whl
(291.7 kB
view details)
File details
Details for the file kevin-toolbox-1.3.2.tar.gz
.
File metadata
- Download URL: kevin-toolbox-1.3.2.tar.gz
- Upload date:
- Size: 162.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.7.11
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | aad684fb76377325c1d43fbd73d545ba62c8a1b67ac25351fb4a681a9a55620f |
|
MD5 | cacc4facf7b178e10e568789271b7417 |
|
BLAKE2b-256 | 23aa84c6a5835535850c501e4636d88217a2672e2d6383ea674b684af8b81267 |
File details
Details for the file kevin_toolbox-1.3.2-py3-none-any.whl
.
File metadata
- Download URL: kevin_toolbox-1.3.2-py3-none-any.whl
- Upload date:
- Size: 291.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.7.11
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5ef58814618bcf78b1578ee0389e0cace07ee01a49c251e5df5eb95d176f5d6d |
|
MD5 | d52fcf0ab2631cc67ac18959183d7e38 |
|
BLAKE2b-256 | 3951a37b835318d99cd57a4f530a4d9dc3593db5a40aa2d7209301571089c7c4 |