Closed
Description
Is your feature request related to a problem? Please describe.
Currently for eg: if aten::append is in prim::If block, it gets removed because it is classified as TRT segment. No output is registered for it because aten::append is an inplace op. Make modifications to registerSegmentsOutputs
Segmented Graph: graph(%self_1 : __torch__.ModifyingOpError_trt,
%x.1 : Tensor,
%y.1 : Tensor):
%mod_list.1 : Tensor[] = prim::ListConstruct(%x.1)
%__torch___ModifyingOpError_trt_engine_0x557361771710 : __torch__.torch.classes.tensorrt.Engine = prim::GetAttr[name="__torch___ModifyingOpError_trt_engine_0x557361771710"](%self_1)
%5 : Tensor[] = prim::ListConstruct(%x.1, %y.1)
%6 : Tensor[] = tensorrt::execute_engine(%5, %__torch___ModifyingOpError_trt_engine_0x557361771710)
%7 : Tensor = prim::ListUnpack(%6)
%8 : bool = aten::Bool(%7) # mod.py:12:11
= prim::If(%8)
block0():
-> ()
block1():
-> ()
%9 : int = prim::Constant[value=0]()
%10 : Tensor = aten::cat(%mod_list.1, %9) # mod.py:14:12
return (%10)
Describe the solution you'd like
Describe alternatives you've considered
Additional context