Update.
[pytorch.git] / tensorstack.py
index 8360f9b..c9a6c2f 100755 (executable)
@@ -10,9 +10,9 @@ from torch import Tensor
 import sys
 
 def exception_hook(exc_type, exc_value, tb):
-    r'''Hacks the call stack message in case of RuntimeError to show all
-    the local variables, and indicate for every tensor involved its
-    shape, dtype and device.
+    r'''Hacks the call stack message to show all the local variables in
+    case of RuntimeError or ValueError, and prints tensors as shape,
+    dtype and device.
 
     '''
 
@@ -27,7 +27,7 @@ def exception_hook(exc_type, exc_value, tb):
         print(f'  File "{filename}", line {line_no}, in {name}')
         print(open(filename, 'r').readlines()[line_no-1])
 
-        if exc_type is RuntimeError:
+        if exc_type in { RuntimeError, ValueError }:
             for n,v in tb.tb_frame.f_locals.items():
                 print(f'  {n} -> {v}')