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-1.2.7.tar.gz (137.0 kB view details)

Uploaded Source

Built Distribution

kevin_toolbox-1.2.7-py3-none-any.whl (246.6 kB view details)

Uploaded Python 3

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

Hashes for kevin-toolbox-1.2.7.tar.gz
Algorithm Hash digest
SHA256 5944da018d155548778faef5675754d844ccee92683b0ed34f0aacb8857d0366
MD5 abe421c91b8c9bc4ea09f0c26d45e8bd
BLAKE2b-256 7045110a77fa1548ca63e868d86cd7909311f4a35102e1226b36706bcaffffb5

See more details on using hashes here.

File details

Details for the file kevin_toolbox-1.2.7-py3-none-any.whl.

File metadata

File hashes

Hashes for kevin_toolbox-1.2.7-py3-none-any.whl
Algorithm Hash digest
SHA256 8bff15790adfbb6a85bffd9fb78bab0a940c90bf54176abba23562b252ea219a
MD5 ea016c49ad68a663f42c801f4070e056
BLAKE2b-256 5bea19f60c61933ac51692c98571af6c81b1e2108eff4e84ef523480950d3832

See more details on using hashes here.

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