Skip to main content

一个常用的工具代码包集合

Project description

kevin_toolbox

一个通用的工具代码包集合

环境要求

numpy>=1.19
pytorch>=1.2

安装方法:

pip install kevin-toolbox  --no-dependencies

项目地址 Repo

使用指南 User_Guide

免责声明 Disclaimer

版本更新记录

  • 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(),从截断的多维高斯分布中进行随机采样。
          • 添加了测试用例。
    • nested_dict_list
      • 【bug fix】fix bug in get_nodes(),修复了遍历非叶节点时,当节点下的叶节点均不存在时会异常跳过该节点的问题。
        • 添加了对应的测试用例。
      • 【new feature】modify set_default(),修改后将默认返回对应name的值,而不是返回整体的var,从而与python dict的setdefault函数的行为对齐。特别地,也支持通过设置b_return_var参数来获取 var。
        • 修改了对应的测试用例。
    • 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_addself._path_to_collect 中加载一次注册成员,但是加载的过程中,可能后面因为对 self._path_to_collect 的加载,又往 self._item_to_add 中添加了待处理内容,导致不能完全加载。该问题已修复。
          • 添加了测试用例。
      • 【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(主要用这个)
        • 添加了测试用例。
    • data_flow.core.cache
      • modify Cache_Manager_for_Iterator,使用新增的 cache_manager 模块替换 Cache_Manager_for_Iterator 中基于内存的缓存。相关参数有修改。
        • 添加了测试用例。

Project details


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-dev-1.3.2.tar.gz (162.7 kB view hashes)

Uploaded Source

Built Distribution

kevin_toolbox_dev-1.3.2-py3-none-any.whl (291.9 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page