|
|
|
|
|
by IshKebab
2449 days ago
|
|
It's difficult because the graph is defined running Python code, which can basically do anything. As I understand it you have to actually run the model and sort of introspect it to work out what the ONNX graph should be. Whereas the Tensorflow API actually creates a static graph that can be easily converted to ONNX. Edit: They talk about this problem in the article: > Although straightforward, tracing has its downsides. For example, it can’t capture control flow that didn’t execute. For example, it can’t capture the false block of a conditional if it executed the true block. > Script mode takes a function/class, reinterprets the Python code and directly outputs the TorchScript IR. This allows it to support arbitrary code, however it essentially needs to reinterpret Python. |
|