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.2.7 (2023-09-18)【bug fix】
    • nested_dict_list
      • 【bug fix】fix bug in set_value(),修复了无法强制设置以@开头的name的问题
      • 【bug fix】fix bug in serializer.read(),修复了在不进行解压时仍然构造temp_dir的问题
      • 【bug fix】fix bug in copy_(),修复了无法复制带有 grad_func 的tensor的问题。
        • 添加了测试用例。
        • 注意:本修复只解决节点是tensor的情况,对于节点是含有不能deepcopy的tensor的变量,比如由带有 grad_func 的tensor组成的tuple等的结构,copy_()函数仍然会报错。考虑到这种情况非常复杂,因此不作解决,只能尽量避免,或者出错时专门排查。
      • 改造模块加载方式,支持通过x.y间接加载子模块,比如 nested_dict_list.serializer 等
      • 【new feature】modify copy_(),增加了 b_keep_internal_references 参数用于控制是否保留内部的引用关系。
        • 当使用 b_keep_internal_references=True 时,将保留 ndl 中结构与结构之间或者节点与节点之间的引用关系。默认为 True(当b_deepcopy=True时与 copy.deepcopy 的行为一致)。
        • 什么是引用关系?
          • 比如我们将某个字典 A 多次加入到某个 list 中,那么这个 list 中的这些字典实际上都指向内存上同一个字典,因此对其中某个字典的修改将影响到其他 list 中的其他元素。这种内存上指向同一个位置的关系就是引用。
        • 与 b_deepcopy 的配合:
          • 当 b_deepcopy=False 进行浅拷贝时,参数 b_keep_internal_references 仅作用于结构,反之则同时作用于结构和节点。
        • 添加了测试用例。
    • nested_dict_list.serializer
      • modify write(),只对输入进行浅拷贝,减少对内存的消耗。

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.2.7.tar.gz (137.3 kB view hashes)

Uploaded Source

Built Distribution

kevin_toolbox_dev-1.2.7-py3-none-any.whl (246.8 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