def adjust_shift_bias(self):
        """Adjust the shift bias of node.

        shift_bias = wpos + ipos - bpos

        DPU compiler constraints of shift_bias:
        1. min(0, -(24 - (8 + shift_cut))) <= shfit_bias <= 16
        """
        for i, node in enumerate(self.model.model.graph.node):
            if node.op_type not in ["Conv"]:
                continue
            ipos_name = self.get_ipos_name(node)
            ipos, _ = self.get_pos_by_name(ipos_name)

            opos_name = self.get_opos_name(node)
            opos, _ = self.get_pos_by_name(opos_name)
            wpos_name = self.get_wpos_name(node)
            wpos, wpos_node = self.get_pos_by_name(wpos_name)
            bpos_name = self.get_bpos_name(node)
            if bpos_name:
                bpos, bpos_node = self.get_pos_by_name(bpos_name)
                # Adjust shift_bias
                if wpos is None or ipos is None or opos is None or bpos is None:
                    logger.warning(
                        "Found a pos that is None. Shift bias of layer {} has not taken effect.".format(node.name)
                    )
                    continue
                shift_cut = wpos + ipos - opos
                min_sb = min(0, -(24 - (8 + shift_cut)))
                max_sb = 16
                shift_bias = wpos + ipos - bpos

                new_sb = None
                if shift_bias < min_sb:
                    new_sb = min_sb
                elif shift_bias > max_sb:
                    new_sb = max_sb

                if new_sb is not None:
                    new_bpos = wpos + ipos - new_sb
                    self.set_pos(self.get_node_by_name(node.input[2].strip(postfix)), new_bpos)
                    logger.info(
                        "Shift bias of layer {} is {}. It exceeds range [{}, {}]. Modify bpos from {} to {}.".format(
                            node.input[2], int(shift_bias), int(min_sb), int(max_sb), int(bpos), int(new_bpos)
                        )
                    )
Adjust the shift bias of node.

        shift_bias = wpos + ipos - bpos

        DPU compiler constraints of shift_bias:
        1. min(0, -(24 - (8 + shift_cut))) <= shfit_bias <= 16
        
olive/passes/onnx/vitis_ai/refine.py