Pythorch张量操作用棉绒

pylint-tta的Python项目详细描述


Pylint tta

检查pytorch张量类型注释的pylint插件

在Python3.6+上测试


BranchStatus
Master

快速启动

pip install pylint pylint_tta

# Use pylint defaults with the plugin
pylint --load-plugins=pylint_tta <directory>

# Only use the plugin
pylint --load-plugins=pylint_tta --disable=all --enable=C9001,C9002,C9003,C9004,C9005,C9006 <directory>

它检查的内容

给定文件example1.py

importastroidimporttorchdeffail_func():a=torch.randn(5,5,5)a.unsqueeze_(1)b_fail=a.view(5,25,-1)c_fail=a[:,:1]c_fail:str=a[:,:1]d_fail:str=a.unsqueeze(1)e_fail=a.unsqueeze_(1)returnNonedefpass_func():a=torch.randn(5,5,5)c_pass:('w','h','b')=a[:,:,1]d_pass:('width','batch','height')=a.unsqueeze(1)returnNone

Pylint TTA将产生:

************* Module example1
example1.py:8:4: C9005: In-place operation detected (disallow-inplace-tensor-operations)
example1.py:9:4: C9001: Missing type annotations on tensor operation (missing-tensor-annotations)
example1.py:10:4: C9003: Missing type annotations on slicing (missing-slicing-annotations)
example1.py:11:4: C9004: Invalid type annotations on slicing (invalid-slicing-annotations)
example1.py:12:4: C9002: Non tuple type annotations on tensor operation (invalid-tensor-annotations)
example1.py:13:4: C9006: Assignment on in-place operation detected (assignment-on-inplace-operations)

代码

CodeName
C9001missing-tensor-annotations
C9002invalid-tensor-annotations
C9003missing-slicing-annotations
C9004invalid-slicing-annotations
C9005disallow-inplace-tensor-operations
C9006assignment-on-inplace-operations

开发

运行示例

export PYTHONPATH=`pwd`; pylint --load-plugins=pylint_tta --disable=all --enable=C9001,C9002,C9003,C9004 example1.py

测试

pytest -s

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java文件分块,获取长度字节   java嵌入式Tomcat不执行jsf页面   java我的数据库中有2个实体,但hibernate返回其中6个。   java如何基于逗号拆分字符串   java取消已经运行的CompletableFutures的预期模式是什么   java如何在informix中从另一个数据库复制表ddl和数据   为什么图片是黑色的?   java根据字符串数组中的单词筛选列表   Java8的集合。平行流有效吗?   Kotlin中的java静态内部类   java如何在GUI中生成一列字符串   javafx如何正确使用高对比度主题?   带空格的javascript Httpurlconnection参数   java如何设置GridBagLayout的约束   java如何在一个线程可能尚未初始化时关闭另一个线程   java将简单时间格式转换为特殊时间格式(hhmmt)   安卓/java阵列重复过滤器的问题   java在队列的链接实现下,入队和出队是如何工作的   java更新sql外键约束