View source on GitHub

Interprets a program in this instruction language and returns the result.

    program, *inputs

This is a definitional interpreter; its purpose is to define the semantics of the instruction language. As such, it does no auto-batching, and generally strives to be as simple as possible. It also does not stage graph computations, so will only work in Eager mode TensorFlow.


  • program: The Program tuple to interpret.
  • *inputs: Values to pass to the program. The length of inputs must be the same as the length of program.vars_in.


  • results: A tuple of results, which are the values of the variables listed in program.out_vars at termination.


  • ValueError: If an internal invariant is violated, or an error is detected in the program being interpreted.