跳转到主要内容

Deep Procedural Intelligence使用的Python实用工具

项目描述

DPU Utilities PyPI - Python VersionAnaconda

Build Status

这包含了一系列用于DPU团队项目中的实用工具。

Python

存储在python子目录中,作为dpu-utils包发布。

安装

pip install dpu-utils

或者通过社区维护的Conda配方

conda install -c conda-forge dpu-utils

概述

以下您可以找到包括的实用工具概述。详细文档在每个类的docstring中提供。

通用实用工具 dpu_utils.utils
  • ChunkWriter 提供了一个方便的API,用于分多部分(块)写入输出。
  • RichPath 一个API,用于在代码中抽象本地和Azure Blob路径。
  • *Iterator 可以并行化和洗牌迭代器的包装器。
  • {load,save}_json[l]_gz 便利 API,用于加载和写入 .json[l].gz 文件。
  • git_tag_run 对当前工作目录的 git 代码状态进行标记。
  • run_and_debug 当发生异常时,启动调试会话。通常是对 __main__ 的包装。
通用机器学习工具 dpu_utils.mlutils
  • Vocabulary 将元素映射到唯一的整数 ID,并反向映射。常用于处理离散数据的机器学习模型(例如 NLP 中的单词)。包含将标记列表转换为整数 ID 的“张量化”形式的转换方法。
  • BpeVocabulary 用于机器学习模型的词汇表,采用 BPE(通过 sentencepiece)。
  • CharTensorizer 将字符序列转换为张量,通常用于输入为字符列表的机器学习模型。
代码相关工具 dpu_utils.codeutils
TensorFlow 1.x 工具 dpu_utils.tfutils

根据 TensorFlow 的 unsorted_segment_sum 操作进行未排序的段操作

TensorFlow 2.x 工具 dpu_utils.tf2utils

根据 TensorFlow 的 unsorted_segment_sum 操作进行未排序的段操作

TensorFlow 模型 dpu_utils.tfmodels

这些模型尚未在 TF 2.0 中测试。

PyTorch 工具 dpu_utils.ptutils
  • BaseComponent 一个包装抽象类,围绕 nn.Module,处理大多数神经网络组件的基本元素。
  • ComponentTrainerBaseComponent 提供训练循环。

命令行工具

近似重复代码检测

您可以使用 deduplicationcli 命令通过调用来检测预处理源代码中的重复内容

deduplicationcli DATA_PATH OUT_JSON

其中 DATA_PATH 是包含分词后的 .jsonl.gz 文件的文件,而 OUT_JSON 是目标输出文件。更多选项请查看 --help

此版本的精确(但通常较慢)版本可以在 这里 找到,同时还有将 Java、C#、Python 和 JavaScript 分词成相关格式的代码。

测试

运行单元测试

python setup.py test

生成代码覆盖率报告

# pip install coverage
coverage run --source dpu_utils/ setup.py test && \
  coverage html

生成的 HTML 文件将在 htmlcov/index.html 中。

.NET

存储在 dotnet 子目录中。

通用工具

  • Microsoft.Research.DPU.Utils.RichPath:在您的代码中使用路径和 Azure 路径的一种方便方法。

代码相关工具

  • Microsoft.Research.DPU.CSharpSourceGraphExtraction:从 C# 项目中提取程序图的框架。

贡献

本项目欢迎贡献和建议。大多数贡献需要您同意贡献者许可协议(CLA),声明您有权并且确实授予我们使用您的贡献的权利。有关详细信息,请访问 https://cla.microsoft.com

当您提交拉取请求时,CLA-bot 将自动确定您是否需要提供 CLA,并相应地装饰 PR(例如,标签、注释)。只需遵循机器人提供的说明即可。您只需在所有使用我们 CLA 的仓库中做一次。

本项目已采用 Microsoft 开源行为准则。有关更多信息,请参阅 行为准则常见问题解答 或通过 opencode@microsoft.com 联系我们,提出任何额外的问题或评论。

项目详情


发布历史 发布通知 | RSS 源

下载文件

下载适合您平台的文件。如果您不确定要选择哪个,请了解更多关于 安装包 的信息。

源分发

dpu_utils-0.6.1.tar.gz (55.6 kB 查看哈希值)

上传时间

构建分发

dpu_utils-0.6.1-py2.py3-none-any.whl (73.3 kB 查看哈希值)

上传时间 Python 2 Python 3

由以下支持