public class DefaultOpExecutioner extends Object implements OpExecutioner
OpExecutioner.ExecutionMode, OpExecutioner.ProfilingMode
Modifier and Type | Field and Description |
---|---|
protected OpExecutioner.ExecutionMode |
executionMode |
protected OpExecutioner.ProfilingMode |
profilingMode |
Constructor and Description |
---|
DefaultOpExecutioner() |
Modifier and Type | Method and Description |
---|---|
INDArray |
bitmapDecode(INDArray encoded,
INDArray target) |
INDArray |
bitmapEncode(INDArray indArray,
double threshold) |
long |
bitmapEncode(INDArray indArray,
INDArray target,
double threshold)
This method returns number of elements affected by encoder
|
List<int[]> |
calculateOutputShape(CustomOp op) |
protected void |
checkForCompression(Op op) |
protected void |
checkForWorkspaces(Op op) |
void |
commit()
This method ensures all operations that supposed to be executed at this moment, are executed and finished.
|
void |
enableDebugMode(boolean reallyEnable) |
void |
enableVerboseMode(boolean reallyEnable) |
INDArray |
exec(Accumulation op,
int... dimension)
Execute an accumulation along one or more dimensions
|
void |
exec(Aggregate op) |
<T extends Aggregate> |
exec(Batch<T> batch)
This method executes previously built batch
|
INDArray |
exec(BroadcastOp broadcast,
int... dimension)
Execute an broadcast along one or more dimensions
|
void |
exec(CustomOp op)
This method executes given CustomOp
PLEASE NOTE: You're responsible for input/output validation
|
void |
exec(GridOp op)
Execute GridOp
|
INDArray |
exec(IndexAccumulation op,
int... dimension)
Execute an index accumulation along one or more dimensions
|
void |
exec(List<Aggregate> batch)
This method takes arbitrary sized list of aggregates,
and packs them into batches
|
void |
exec(MetaOp op)
Execute MetaOp
|
Op |
exec(Op op)
Execute the operation
|
Op |
exec(Op op,
int... dimension)
Execute the operation along 1 or more dimensions
|
INDArray |
exec(RandomOp op)
This method executes specified RandomOp using default RNG available via Nd4j.getRandom()
|
INDArray |
exec(RandomOp op,
Random rng)
This method executes specific RandomOp against specified RNG
|
void |
exec(ShapeOp op) |
INDArray |
exec(Variance accumulation,
boolean biasCorrected,
int... dimension)
Execute an accumulation along one or more dimensions
|
Accumulation |
execAndReturn(Accumulation op)
Execute and return the result from an accumulation
|
INDArray |
execAndReturn(BroadcastOp op)
Execute and return the result from a vector op
|
IndexAccumulation |
execAndReturn(IndexAccumulation op)
Execute and return the result from an index accumulation
|
INDArray |
execAndReturn(Op op)
Execute and return a result
ndarray from the given op
|
INDArray |
execAndReturn(ScalarOp op)
Execute and return the result from a scalar op
|
INDArray |
execAndReturn(ShapeOp op)
Execute and return the result from a vector op
|
INDArray |
execAndReturn(TransformOp op)
Execute a TransformOp and return the result
|
Accumulation |
execAndReturn(Variance op,
boolean biasCorrected)
Execute and return the result from an accumulation
|
Map<String,INDArray> |
executeGraph(long id,
Map<String,INDArray> map) |
OpExecutioner.ExecutionMode |
executionMode()
Get the execution mode for this
executioner
|
void |
forgetGraph(long id) |
Map<String,CustomOpDescriptor> |
getCustomOperations()
This method returns names of all custom operations available in current backend, and their number of input/output arguments
|
Properties |
getEnvironmentInformation()
This method return set of key/value and key/key/value objects, describing current environment
|
String |
getLastOp()
This method returns opName of the last invoked op
|
OpExecutioner.ProfilingMode |
getProfilingMode()
Ths method returns current profiling
|
TADManager |
getTADManager()
This method returns TADManager instance used for this OpExecutioner
|
protected void |
interceptIntDataType(Op op)
This method checks if any Op operand has data opType of INT, and throws exception if any.
|
void |
iterateOverAllColumns(Op op)
Iterate over every column of every slice
|
void |
iterateOverAllRows(Op op)
Iterate over every row of every slice
|
void |
printEnvironmentInformation()
This method prints out environmental information returned by getEnvironmentInformation() method
|
long |
profilingHookIn(Op op) |
long |
profilingHookIn(Op op,
DataBuffer... tadBuffers) |
void |
profilingHookOut(Op op,
long timeStart) |
void |
push()
This method ensures all operations that supposed to be executed at this moment, are executed.
|
void |
registerGraph(long id,
org.bytedeco.javacpp.Pointer graph) |
void |
setElementsThreshold(int threshold)
This method allows to set desired number of elements per thread, for performance optimization purposes.
|
void |
setExecutionMode(OpExecutioner.ExecutionMode executionMode)
Set the execution mode
|
void |
setProfilingMode(OpExecutioner.ProfilingMode mode)
This method specifies desired profiling mode
|
void |
setTadThreshold(int threshold)
This method allows to set desired number of sub-arrays per thread, for performance optimization purposes.
|
INDArray |
thresholdDecode(INDArray encoded,
INDArray target)
This method decodes thresholds array, and puts it into target array
|
INDArray |
thresholdEncode(INDArray input,
double threshold)
This method encodes array as thresholds, updating input array at the same time
|
INDArray |
thresholdEncode(INDArray input,
double threshold,
Integer boundary)
This method encodes array as thresholds, updating input array at the same time
|
static void |
validateDataType(DataBuffer.Type expectedType,
INDArray... operands) |
static void |
validateDataType(DataBuffer.Type expectedType,
Op op)
Validate the data types
for the given operation
|
protected OpExecutioner.ProfilingMode profilingMode
protected OpExecutioner.ExecutionMode executionMode
protected void checkForCompression(Op op)
public String getLastOp()
OpExecutioner
getLastOp
in interface OpExecutioner
protected void interceptIntDataType(Op op)
op
- public Op exec(Op op)
OpExecutioner
exec
in interface OpExecutioner
op
- the operation to executepublic INDArray execAndReturn(Op op)
OpExecutioner
execAndReturn
in interface OpExecutioner
op
- the operation to executepublic void iterateOverAllRows(Op op)
OpExecutioner
iterateOverAllRows
in interface OpExecutioner
op
- the operation to applypublic void iterateOverAllColumns(Op op)
OpExecutioner
iterateOverAllColumns
in interface OpExecutioner
op
- the operation to applypublic INDArray execAndReturn(TransformOp op)
OpExecutioner
execAndReturn
in interface OpExecutioner
op
- the operation to executepublic Accumulation execAndReturn(Accumulation op)
OpExecutioner
execAndReturn
in interface OpExecutioner
op
- the operation to executepublic Accumulation execAndReturn(Variance op, boolean biasCorrected)
OpExecutioner
execAndReturn
in interface OpExecutioner
op
- the operation to executepublic INDArray execAndReturn(ScalarOp op)
OpExecutioner
execAndReturn
in interface OpExecutioner
op
- the operation to executepublic IndexAccumulation execAndReturn(IndexAccumulation op)
OpExecutioner
execAndReturn
in interface OpExecutioner
op
- the index accumulation operation to executepublic INDArray execAndReturn(BroadcastOp op)
OpExecutioner
execAndReturn
in interface OpExecutioner
public INDArray execAndReturn(ShapeOp op)
execAndReturn
in interface OpExecutioner
op
- public Op exec(Op op, int... dimension)
OpExecutioner
exec
in interface OpExecutioner
op
- the operation to executepublic INDArray exec(Accumulation op, int... dimension)
OpExecutioner
exec
in interface OpExecutioner
op
- the accumulationdimension
- the dimensionpublic INDArray exec(Variance accumulation, boolean biasCorrected, int... dimension)
OpExecutioner
exec
in interface OpExecutioner
accumulation
- the accumulationdimension
- the dimensionpublic INDArray exec(IndexAccumulation op, int... dimension)
OpExecutioner
exec
in interface OpExecutioner
op
- the index accumulation operationdimension
- the dimension/s to execute alongpublic OpExecutioner.ExecutionMode executionMode()
OpExecutioner
executionMode
in interface OpExecutioner
public void setExecutionMode(OpExecutioner.ExecutionMode executionMode)
OpExecutioner
setExecutionMode
in interface OpExecutioner
executionMode
- the execution modepublic INDArray exec(BroadcastOp broadcast, int... dimension)
OpExecutioner
exec
in interface OpExecutioner
broadcast
- the accumulationdimension
- the dimensionpublic void exec(MetaOp op)
OpExecutioner
exec
in interface OpExecutioner
public void exec(GridOp op)
OpExecutioner
exec
in interface OpExecutioner
public <T extends Aggregate> void exec(Batch<T> batch)
OpExecutioner
exec
in interface OpExecutioner
public void exec(Aggregate op)
exec
in interface OpExecutioner
public void exec(ShapeOp op)
exec
in interface OpExecutioner
op
- public void exec(List<Aggregate> batch)
OpExecutioner
exec
in interface OpExecutioner
public INDArray exec(RandomOp op)
exec
in interface OpExecutioner
op
- public INDArray exec(RandomOp op, Random rng)
exec
in interface OpExecutioner
op
- rng
- public void setProfilingMode(OpExecutioner.ProfilingMode mode)
OpExecutioner
setProfilingMode
in interface OpExecutioner
public OpExecutioner.ProfilingMode getProfilingMode()
OpExecutioner
getProfilingMode
in interface OpExecutioner
public long profilingHookIn(Op op, DataBuffer... tadBuffers)
protected void checkForWorkspaces(Op op)
public long profilingHookIn(Op op)
public void profilingHookOut(Op op, long timeStart)
public static void validateDataType(DataBuffer.Type expectedType, Op op)
expectedType
- op
- public static void validateDataType(DataBuffer.Type expectedType, INDArray... operands)
public TADManager getTADManager()
OpExecutioner
getTADManager
in interface OpExecutioner
public Properties getEnvironmentInformation()
getEnvironmentInformation
in interface OpExecutioner
public void printEnvironmentInformation()
OpExecutioner
printEnvironmentInformation
in interface OpExecutioner
public void push()
OpExecutioner
push
in interface OpExecutioner
public void commit()
OpExecutioner
commit
in interface OpExecutioner
public INDArray thresholdEncode(INDArray input, double threshold)
OpExecutioner
thresholdEncode
in interface OpExecutioner
public INDArray thresholdEncode(INDArray input, double threshold, Integer boundary)
OpExecutioner
thresholdEncode
in interface OpExecutioner
public INDArray thresholdDecode(INDArray encoded, INDArray target)
OpExecutioner
thresholdDecode
in interface OpExecutioner
public long bitmapEncode(INDArray indArray, INDArray target, double threshold)
OpExecutioner
bitmapEncode
in interface OpExecutioner
public INDArray bitmapEncode(INDArray indArray, double threshold)
bitmapEncode
in interface OpExecutioner
public INDArray bitmapDecode(INDArray encoded, INDArray target)
bitmapDecode
in interface OpExecutioner
public Map<String,CustomOpDescriptor> getCustomOperations()
OpExecutioner
getCustomOperations
in interface OpExecutioner
public void exec(CustomOp op)
OpExecutioner
exec
in interface OpExecutioner
public List<int[]> calculateOutputShape(CustomOp op)
calculateOutputShape
in interface OpExecutioner
public void enableDebugMode(boolean reallyEnable)
enableDebugMode
in interface OpExecutioner
public void enableVerboseMode(boolean reallyEnable)
enableVerboseMode
in interface OpExecutioner
public void registerGraph(long id, org.bytedeco.javacpp.Pointer graph)
registerGraph
in interface OpExecutioner
public Map<String,INDArray> executeGraph(long id, Map<String,INDArray> map)
executeGraph
in interface OpExecutioner
public void forgetGraph(long id)
forgetGraph
in interface OpExecutioner
public void setElementsThreshold(int threshold)
Default value: 1024
setElementsThreshold
in interface OpExecutioner
threshold
- public void setTadThreshold(int threshold)
Default value: 8
setTadThreshold
in interface OpExecutioner
threshold
- Copyright © 2018. All rights reserved.