一个常用的工具代码包集合
Project description
kevin_toolbox
一个通用的工具代码包集合
环境要求
numpy>=1.19
pytorch>=1.2
安装方法:
pip install kevin-toolbox --no-dependencies
- 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(),只对输入进行浅拷贝,减少对内存的消耗。
- nested_dict_list
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.2.7.tar.gz
(137.0 kB
view details)
Built Distribution
kevin_toolbox-1.2.7-py3-none-any.whl
(246.6 kB
view details)
File details
Details for the file kevin-toolbox-1.2.7.tar.gz
.
File metadata
- Download URL: kevin-toolbox-1.2.7.tar.gz
- Upload date:
- Size: 137.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.7.11
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5944da018d155548778faef5675754d844ccee92683b0ed34f0aacb8857d0366 |
|
MD5 | abe421c91b8c9bc4ea09f0c26d45e8bd |
|
BLAKE2b-256 | 7045110a77fa1548ca63e868d86cd7909311f4a35102e1226b36706bcaffffb5 |
File details
Details for the file kevin_toolbox-1.2.7-py3-none-any.whl
.
File metadata
- Download URL: kevin_toolbox-1.2.7-py3-none-any.whl
- Upload date:
- Size: 246.6 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 | 8bff15790adfbb6a85bffd9fb78bab0a940c90bf54176abba23562b252ea219a |
|
MD5 | ea016c49ad68a663f42c801f4070e056 |
|
BLAKE2b-256 | 5bea19f60c61933ac51692c98571af6c81b1e2108eff4e84ef523480950d3832 |