深度过程智能使用的python实用程序
dpu-utils的Python项目详细描述
DPU实用程序
它包含一组跨DPU team项目使用的实用程序。
Python
存储在python
子目录中,发布为dpu-utils
包。
安装
pip install dpu-utils
公用设施概述:
通用实用程序:
dpu_utils.utils.RichPath
在代码中同时使用路径和azure路径的便捷方法。dpu_utils.utils.*Iterator
迭代器包装器,可以在其他线程/进程中并行它们的迭代。dpu_utils.utils.{load,save}_json[l]_gz
从文件系统加载.json[l].gz的方便方法。dpu_utils.utils.git_tag_run
标记当前工作目录的代码状态。dpu_utils.utils.run_and_debug
发生异常时,启动调试会话。通常是__main__
的包装。dpu_utils.utils.ChunkWriter
这有助于将块写入输出。
TensorFlow实用程序:
dpu_utils.tfutils.GradRatioLoggingOptimizer
优化器的包装器,记录梯度规范与参数规范的比率。dpu_utils.tfutils.unsorted_segment_logsumexp
dpu_utils.tfutils.unsorted_segment_log_softmax
dpu_utils.tfutils.TFVariableSaver
将tf变量保存在可pickle的对象中。
通用机器学习实用程序:
dpu_utils.mlutils.CharTensorizer
用于字符级的张力化。dpu_utils.mlutils.Vocabulary
机器学习模型的str-to-int词汇表
TensorFlow模型:
dpu_utils.tfmodels.SparseGGNN
稀疏ggnn实现。dpu_utils.tfmodels.AsyncGGNN
异步ggnn实现。
与代码相关的实用程序
dpu_utils.codeutils.split_identifier_into_parts()
将标识符分为camelcase和snake嫒case上的subcoken。dpu_utils.codeutils.{Lattice, CSharpLattice}
在python中表示格和一些有用的操作。dpu_utils.codeutils.get_language_keywords()
检索许多编程语言的关键字标记。dpu_utils.codeutils.deduplication.DuplicateDetector
在代码基中检测重复项。
命令行工具
近似重复码检测< /H4>
您可以使用deduplicationcli
命令通过调用
deduplicationcli DATA_PATH OUT_JSON
其中DATA_PATH
是包含标记化.jsonl.gz
文件的文件,而OUT_JSON
是目标输出文件。
有关更多选项,请查看--help
。
可以找到精确(但通常较慢)的版本here 以及将java、c、python和javascript标记为相关格式的代码。
测试
运行单元测试
python setup.py test
生成代码覆盖率报告
# pip install coverage
coverage run --source dpu_utils/ setup.py test&&\
coverage html
# 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将自动确定您是否需要提供 a cla并适当地装饰pr(例如,标签、注释)。只需按照说明操作 由机器人提供。您只需要使用我们的CLA在所有回购协议中执行一次。
这个项目采用了Microsoft Open Source Code of Conduct。 有关详细信息,请参见Code of Conduct FAQ或 如有任何其他问题或意见,请与opencode@microsoft.com联系。