Error handling in


I am a newbie in nengo and nengo-dl. I’ve a large file as input and I’m getting “type error” from line 365.
It turned out that it is actually an OOM error after I modified it to:

                if e.op.type == "PyFunc":
                    raise SimulationError(
                            "Function '%s' caused an error (see error log above)" %
                    raise e  # pragma: no cover
                raise e


So what was the output you were seeing before and after that change? From my reading it seems like that outer try: except should just be re-raising the errors within the try block, so I’m surprised that it made a difference.


Here is what I was getting before:

File “/home/ark/Downloads/nengo-dl/nengo_dl/”, line 358, in run_steps
if e.op.type == “PyFunc”:

AttributeError: ‘NoneType’ object has no attribute ‘type’

and here is what I am getting now:

raise type(e)(node_def, op, message)

ResourceExhaustedError: OOM when allocating tensor with shape[2400000,1]


Ah interesting, I didn’t know it was possible for TensorFlow to raise an error there where the op would be None. I’ll fix that up, thanks!