org.apache.sysds.lops

## Class DnnTransform

- java.lang.Object
- - org.apache.sysds.lops.Lop
  - - org.apache.sysds.lops.DnnTransform

    public class DnnTransform
    extends Lop

### Nested Class Summary

### Nested classes/interfaces inherited from class org.apache.sysds.lops.Lop

`Lop.SimpleInstType, Lop.Type, Lop.VisitStatus`

### Field Summary

### Fields inherited from class org.apache.sysds.lops.Lop

`_beginColumn, _beginLine, _endColumn, _endLine, _filename, CP_CHILD_THREAD, CP_ROOT_THREAD_ID, DATATYPE_PREFIX, FILE_SEPARATOR, FRAME_VAR_NAME_PREFIX, INSTRUCTION_DELIMITOR, LITERAL_PREFIX, MATRIX_VAR_NAME_PREFIX, NAME_VALUE_SEPARATOR, OPERAND_DELIMITOR, PROCESS_PREFIX, SAMPLE_FRACTION, SCALAR_VAR_NAME_PREFIX, UPDATE_INPLACE_PREFIX, VALUETYPE_PREFIX, VARIABLE_NAME_PLACEHOLDER`

### Constructor Summary

Constructors
Constructor and Description
`DnnTransform(Lop input1, Lop input2, Lop input3, Types.OpOpDnn op, Types.DataType dt, Types.ValueType vt, Types.ExecType et, int k)`
`DnnTransform(Lop input1, Lop input2, Types.OpOpDnn op, Types.DataType dt, Types.ValueType vt, Types.ExecType et, int k)`
`DnnTransform(Lop input, Types.OpOpDnn op, Types.DataType dt, Types.ValueType vt, Types.ExecType et, int k, double intermediateMemBudget)` Constructor when we have one input.

### Method Summary

All Methods Instance Methods Concrete Methods
`void` `appendOpcode(StringBuilder sb)`
`void` `appendOperands(int startInputIndex, int endInputIndex, String output, StringBuilder sb)`
`String` `getInstructions(String[] inputs, String output)`
`String` `getInstructions(String input, String bias, String output)` Method should be overridden if needed
`String` `getInstructions(String input, String C, String HW, String output)` Method should be overridden if needed
`String` `getInstructions(String input1, String input2, String input3, String input4, String output)` Method should be overridden if needed
`String` `getInstructions(String input1, String input2, String input3, String input4, String input5, String input6, String output)` Method should be overridden if needed
`Types.OpOpDnn` `getOp()` method to get operation type
`String` `toString()` Method to have Lops print their state.
`void` `updateLopProperties()`

### Methods inherited from class org.apache.sysds.lops.Lop

`addInput, addOutput, addToDag, createReachable, getAggType, getBeginColumn, getBeginLine, getBroadcastInput, getDataType, getEndColumn, getEndLine, getExecType, getFilename, getID, getInputs, getInstructions, getInstructions, getInstructions, getInstructions, getInstructions, getInstructions, getInstructions, getLevel, getOutputParameters, getOutputs, getPrivacyConstraint, getProducesIntermediateOutput, getReachable, getSimpleInstructionType, getType, getValueType, getVisited, isAllOutputsCP, isDataExecLocation, isVariable, prepInputOperand, prepInputOperand, prepOperand, prepOperand, prepOutputOperand, prepOutputOperand, prepOutputOperand, prepScalarInputOperand, prepScalarInputOperand, prepScalarLabel, prepScalarOperand, printErrorLocation, removeConsumer, removeOutput, replaceInput, resetVisitStatus, setAllPositions, setBeginColumn, setBeginLine, setConsumerCount, setDataType, setEndColumn, setEndLine, setExecType, setFederatedOutput, setFilename, setPrivacyConstraint, setValueType, setVisited`

### Methods inherited from class java.lang.Object

`equals, getClass, hashCode, notify, notifyAll, wait, wait, wait`

### Constructor Detail

#### DnnTransform

    public DnnTransform(Lop input,
                        Types.OpOpDnn op,
                        Types.DataType dt,
                        Types.ValueType vt,
                        Types.ExecType et,
                        int k,
                        double intermediateMemBudget)

Constructor when we have one input.

Parameters:
  `input` - low-level operator
  `op` - convolution transform operation type
  `dt` - data type
  `vt` - value type
  `et` - execution type
  `k` - number of threads
  `intermediateMemBudget` - intermediate memory budget

#### DnnTransform

    public DnnTransform(Lop input1,
                        Lop input2,
                        Types.OpOpDnn op,
                        Types.DataType dt,
                        Types.ValueType vt,
                        Types.ExecType et,
                        int k)

#### DnnTransform

    public DnnTransform(Lop input1,
                        Lop input2,
                        Lop input3,
                        Types.OpOpDnn op,
                        Types.DataType dt,
                        Types.ValueType vt,
                        Types.ExecType et,
                        int k)

### Method Detail

#### updateLopProperties

    public void updateLopProperties()

#### toString

    public String toString()

Description copied from class: `Lop`
Method to have Lops print their state. This is for debugging purposes.

Specified by:
  `toString` in class `Lop`

#### getOp

    public Types.OpOpDnn getOp()

method to get operation type

Returns:
  operation type

#### getInstructions

    public String getInstructions(String input,
                                  String bias,
                                  String output)

Description copied from class: `Lop`
Method should be overridden if needed

Overrides:
  `getInstructions` in class `Lop`
Parameters:
  `input` - input 1
  `bias` - input 2
  `output` - output
Returns:
  instructions as string

#### getInstructions

    public String getInstructions(String input,
                                  String C,
                                  String HW,
                                  String output)

Description copied from class: `Lop`
Method should be overridden if needed

Overrides:
  `getInstructions` in class `Lop`
Parameters:
  `input` - input 1
  `C` - input 2
  `HW` - input 3
  `output` - output
Returns:
  instructions as string

#### getInstructions

    public String getInstructions(String input1,
                                  String input2,
                                  String input3,
                                  String input4,
                                  String output)

Description copied from class: `Lop`
Method should be overridden if needed

Overrides:
  `getInstructions` in class `Lop`
Parameters:
  `input1` - input 1
  `input2` - input 2
  `input3` - input 3
  `input4` - input 4
  `output` - output
Returns:
  instructions as string

#### getInstructions

    public String getInstructions(String[] inputs,
                                  String output)

Overrides:
  `getInstructions` in class `Lop`

#### getInstructions

    public String getInstructions(String input1,
                                  String input2,
                                  String input3,
                                  String input4,
                                  String input5,
                                  String input6,
                                  String output)

Description copied from class: `Lop`
Method should be overridden if needed

Overrides:
  `getInstructions` in class `Lop`
Parameters:
  `input1` - input 1
  `input2` - input 2
  `input3` - input 3
  `input4` - input 4
  `input5` - input 5
  `input6` - input 6
  `output` - output
Returns:
  instructions as string

#### appendOpcode

    public void appendOpcode(StringBuilder sb)

#### appendOperands

    public void appendOperands(int startInputIndex,
                               int endInputIndex,
                               String output,
                               StringBuilder sb)