Intellij idea 是否配置PyCharm调试器以显示数组/张量形状?
当我使用PyCharm进行调试时,我希望调试器显示NumPy数组/Jax数组/PyTorch张量的形状。相反,我看到了他们的价值观:Intellij idea 是否配置PyCharm调试器以显示数组/张量形状?,intellij-idea,pycharm,Intellij Idea,Pycharm,当我使用PyCharm进行调试时,我希望调试器显示NumPy数组/Jax数组/PyTorch张量的形状。相反,我看到了他们的价值观: 有没有办法配置PyCharm的调试器,以便显示这些多维数组的形状?调试器只显示内存中的对象。因此,如果您创建一个表示形状的对象,您应该在调试器中看到它 例如,对于numpy,它是numpy.array()。因此,如果您创建一个表示形状的对象,您应该在调试器中看到它 例如,对于numpy,它是numpy.array().shape我通过对成员函数torch.Ten
有没有办法配置PyCharm的调试器,以便显示这些多维数组的形状?调试器只显示内存中的对象。因此,如果您创建一个表示形状的对象,您应该在调试器中看到它
例如,对于numpy,它是
numpy.array()。因此,如果您创建一个表示形状的对象,您应该在调试器中看到它
例如,对于numpy,它是numpy.array().shape
我通过对成员函数torch.Tensor.\uuu repr\uuu
进行黑客攻击来实现这一点,因为PyCharm调试器调用\uu repr\uu
来获取对象的字符串表示
导入火炬
old_repr=火炬张量__
定义张量信息(张量):
返回repr(tensor.shape)[6:][+''+repr(tensor.dtype)[6:][+'@'+str(tensor.device)+'\n'+old_repr(tensor)
torch.Tensor.\u_repr\u_=张量信息
在PyCharm调试器中,您将看到如下表示:
打印(火炬一号(3,3))
大小([3,3])float32@cpu
张量([[1,1,1.],
[1., 1., 1.],
[1., 1., 1.]])
我的变量检查器的快照:
我通过破解成员函数
torch.Tensor.\uuuu repr\uuuu
来实现这一点,因为PyCharm调试器调用\uuuu repr\uuu
来获取对象的字符串表示
导入火炬
old_repr=火炬张量__
定义张量信息(张量):
返回repr(tensor.shape)[6:][+''+repr(tensor.dtype)[6:][+'@'+str(tensor.device)+'\n'+old_repr(tensor)
torch.Tensor.\u_repr\u_=张量信息
在PyCharm调试器中,您将看到如下表示:
打印(火炬一号(3,3))
大小([3,3])float32@cpu
张量([[1,1,1.],
[1., 1., 1.],
[1., 1., 1.]])
我的变量检查器的快照:
调试器不只是在内存中显示对象;它选择要在对象旁边显示的属性。我想更改显示的默认属性,以便在对象旁边显示
np.array().shape
,而无需在调试器控制台中“打开”对象,感谢您的澄清。不幸的是,PyCharm中没有这样的功能,所以请随意提交一个功能请求,查看上面李其迈的回答^^:DDebugger不仅仅显示内存中的对象;它选择要在对象旁边显示的属性。我想更改显示的默认属性,以便在对象旁边显示np.array().shape
,而无需在调试器控制台中“打开”对象,感谢您的澄清。不幸的是,PyCharm中没有这样的功能,所以请随意提交一个功能请求,以查看上面李其迈的回答^^:D