Class ShapeFunctionOptimizations.FuseChainedPermutes

  • All Implemented Interfaces:
    Optimizer
    Enclosing class:
    ShapeFunctionOptimizations

    public static class ShapeFunctionOptimizations.FuseChainedPermutes
    extends Object
    implements Optimizer
    Fuse [permute1 -> permute2 -> ... -> permuteN] into a single permute op, as long as the intermediate permute outputs aren't needed for another op
    • Constructor Detail

      • FuseChainedPermutes

        public FuseChainedPermutes()
    • Method Detail

      • checkAndApply

        public boolean checkAndApply​(SameDiff sd,
                                     OptimizationHelper helper,
                                     SameDiffOp op,
                                     ArrayHolder constantArrays,
                                     ArrayHolder variablesArrays)
        Specified by:
        checkAndApply in interface Optimizer
        Parameters:
        sd - Current SameDiff instance to optimize
        helper - Helper class for optimization
        op - Operation to check for optimization
        constantArrays - Array holder for constant arrays
        variablesArrays - Array holder for variable arrays
        Returns:
        True if the optimization was applied