You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The current state of the code does not allow for all kinds of operations (partitioning, quantization and compilation) to be performed on a graph with multiple subgraphs. For example the yolov4-tiny model, has split operations which are not supported by the DPU, thus the graph should be split into multiple subgraphs and each of these subgraphs should be quantized and compiled to IR for the DPU.
The problem already starts in partitioning. After partitioning the graph into subgraphs, the code figure out what the biggest subgraph is and then throws away all the other subgraphs, such that only one subgraph is left. This however, completely changes the behavior of the model and is not resulting in the intended behavior. The following code deletes all the other subgraphs:
By removing this code, is is possible to generate a graph with multiple subgraphs, but then in the next stage (quantization), it doesn't work, since that code assumes that only one subgraph is present. There seems to be some code written that should be able to quantize a graph with multiple subgraphs, but that currently doesn't work either. (See base_subgraph_quantizer.py)
It would be nice if the pyXIR flow would support this use case. I'm currently looking into this and figuring out if I can get this to work.
The text was updated successfully, but these errors were encountered:
The current state of the code does not allow for all kinds of operations (partitioning, quantization and compilation) to be performed on a graph with multiple subgraphs. For example the
yolov4-tiny
model, has split operations which are not supported by the DPU, thus the graph should be split into multiple subgraphs and each of these subgraphs should be quantized and compiled to IR for the DPU.The problem already starts in partitioning. After partitioning the graph into subgraphs, the code figure out what the biggest subgraph is and then throws away all the other subgraphs, such that only one subgraph is left. This however, completely changes the behavior of the model and is not resulting in the intended behavior. The following code deletes all the other subgraphs:
pyxir/python/pyxir/graph/partitioning/xgraph_partitioner.py
Lines 213 to 225 in 0972aed
By removing this code, is is possible to generate a graph with multiple subgraphs, but then in the next stage (quantization), it doesn't work, since that code assumes that only one subgraph is present. There seems to be some code written that should be able to quantize a graph with multiple subgraphs, but that currently doesn't work either. (See base_subgraph_quantizer.py)
It would be nice if the pyXIR flow would support this use case. I'm currently looking into this and figuring out if I can get this to work.
The text was updated successfully, but these errors were encountered: