Common Parameter: casOptml

CASL Syntax

casOptml={
optmlOpt={
fConv=double
fConvWindow=64-bit-integer
gTol=double
maxEvals=64-bit-integer
maxIters=64-bit-integer
maxTime=double
regL1=double
regL2=double
},
sgdOpt={
adaptiveRate=TRUE | FALSE
commFreq=64-bit-integer
learningRate=double
miniBatchSize=64-bit-integer
momentum=double
seed=64-bit-integer
useLocking=TRUE | FALSE
},
state={
checkpointFreq=64-bit-integer
saveBest=TRUE | FALSE
table={
caslib="string"
compress=TRUE | FALSE
indexVars={"variable-name-1" <, "variable-name-2", ...>}
label="string"
lifetime=64-bit-integer
maxMemSize=64-bit-integer
name="table-name"
onDemand=TRUE | FALSE
promote=TRUE | FALSE
replace=TRUE | FALSE
replication=integer
threadBlockSize=64-bit-integer
timeStamp="string"
where={"string-1" <, "string-2", ...>}
}
},
validate={
frequency=64-bit-integer
goal=double
stagnation=64-bit-integer
threshold=double
thresholdIter=64-bit-integer
}
}

Parameter Descriptions

algorithm="ADAM" | "HF" | "LBFGS" | "SGD"

specifies the optimization solver to use.

Default LBFGS
ADAM

uses the adaptive moments variant of the stochastic gradient descent solver.

HF

uses the Hessian free solver. (This value is experimental in this release.)

LBFGS

uses limited-memory Broyden-Fletcher-Goldfarb-Shanno (LBFGS) solver.

SGD

uses the stochastic gradient descent (SGD) solver.

lbfgsOpt={lbfgsOptions}

specifies the LBFGS solver option set.

The lbfgsOptions value can be one or more of the following:

lineSearchMethod="ARMIJO" | "HYBRID" | "MORETHUENTE" | "STRONGWOLFE" | "WOLFE"

specifies Line-search algorithms used in LBFGS solver.

Default MORETHUENTE
ARMIJO

specifies Armijo backtracking line search method.

HYBRID

specifies hybrid line search method.

MORETHUENTE

specifies More and Thuente line search method.

STRONGWOLFE

specifies line search method with strong wolfe condition.

WOLFE

specifies line search method with wolfe condition.

numCorrections=64-bit-integer

specifies the number of corrections used in the LBFGS update.

Default 20
Minimum value 1
optmlOpt={optmlOptions}

specifies options common to all solvers.

The optmlOptions value can be one or more of the following:

clipWeightMaxNorm=double

specifies the maximum L2 norm of the weight vector. Weight vectors that have a greater L2 norm are scaled to this value.

Default 0
Minimum value 0
fConv=double

specifies a stopping criterion. The LBFGS solver stops when the objective fails to change more than this value for at least as many iterations as are specified in the fConvWindow parameter.

Default 1E-05
Minimum value 0
fConvWindow=64-bit-integer

specifies an iteration window for the LBFGS solver's application of the convergence criterion that is specified in the fConv parameter.

Default 1
Minimum value 1
gTol=double

specifies the stopping tolerance for the first-order optimality error.

Default 1E-05
Minimum value 0
maxEvals=64-bit-integer

specifies the maximum number of function evaluations for a single optimization or training.

Default 0
Minimum value 0
maxIters=64-bit-integer

specifies the maximum iterations for a single optimization or training.

Default 10
Minimum value 0
maxTime=double

specifies the maximum time (in seconds) for a single optimization or training.

Default 0
Minimum value 0
regL1=double

specifies the L1 regularization parameter; the value must be nonnegative.

Default 0
Minimum value 0
regL2=double

specifies the L2 regularization parameter; the value must be nonnegative.

Default 0
Minimum value 0
printOpt={optmlPrintOptions}

specifies options for sending information to the log and printing the iteration history table.

The optmlPrintOptions value can be one or more of the following:

logLevel=64-bit-integer

specifies the output display level.

Default 0
Minimum value 0
printFreq=64-bit-integer

specifies how frequently to print the iteration log.

Default 1
Minimum value 1
printLevel="PRINTBASIC" | "PRINTDETAIL" | "PRINTNONE"

specifies the level of detail in rows of the iteration history table.

Default PRINTBASIC
PRINTBASIC

prints only basic information to the iteration history table.

PRINTDETAIL

prints detailed information to the iteration history table.

PRINTNONE

disables printing of the iteration history table.

sgdOpt={sgdOptions}

specifies options for the stochastic gradient descent (SGD) solver.

The sgdOptions value can be one or more of the following:

adaptiveDecay=double

specifies the rate at which the second moment of the gradient is decayed during each SGD iteration.

Default 0.95
Range [0–1)
adaptiveRate=TRUE | FALSE

when set to True, uses the second moment of the gradient vector to scale the learning rate for SGD.

Default FALSE
annealingRate=double

specifies the annealing parameter.

Default 1E-06
Minimum value 0
commFreq=64-bit-integer

specifies the number of minibatches that each computational thread processes before weights are synchronized across all threads and nodes.

Minimum value 0
learningRate=double

specifies the learning rate parameter for SGD.

Default 0.001
Minimum value (exclusive) 0
miniBatchSize=64-bit-integer

specifies the size of the minibatches to use in SGD.

Default 1
Minimum value 1
momentum=double

specifies the momentum for SGD.

Default 0
Range [0–1)
seed=64-bit-integer

specifies the seed for random access of observations on each thread for the SGD algorithm.

useLocking=TRUE | FALSE

when set to True, uses locks to perform thread aggregation; when set to False, uses an atomic (nondeterministic) operation.

Default FALSE
state={optmlState}

specifies the save state option set.

The optmlState value can be one or more of the following:

checkpointFreq=64-bit-integer

specifies the frequency of saving iteration state.

Default 0
Minimum value 0
saveBest=TRUE | FALSE

specifies whether to save best solutions.

Default TRUE
table={casouttable}

specifies save state table name.

caslib="string"

specifies the name of the caslib for the output table.

compress=TRUE | FALSE

when set to True, applies data compression to the table.

Default FALSE
indexVars={"variable-name-1" <, "variable-name-2", ...>}

specifies the list of variables to create indexes for in the output data.

label="string"

specifies the descriptive label to associate with the table.

lifetime=64-bit-integer

specifies the number of seconds to keep the table in memory after it is last accessed. The table is dropped if it is not accessed for the specified number of seconds.

Default 0
Minimum value 0
maxMemSize=64-bit-integer

specifies the maximum amount of memory, in bytes, that each thread should allocate for in-memory blocks before converting to a memory-mapped file. Files are written in the directories that are specified in the CAS_DISK_CACHE environment variable.

TIP You can enclose the value in quotation marks and specify B, K, M, G, or T as a suffix to indicate the units. For example, "8M" specifies eight megabytes.
memoryFormat="DVR" | "INHERIT" | "STANDARD"

specifies the memory format for the output table.

Default INHERIT
DVR

use the duplicate value reduction memory format. This memory format can reduce the memory consumption and file size when the input data contains duplicate values.

INHERIT

use the default memory format that is set for the server. By default, the server uses the standard memory format. If an administrator sets the CAS_DEFAULT_MEMORY_FORMAT environment variable to DVR, then the DVR memory format is set as the default for the server.

STANDARD

use the standard memory format.

name="table-name"

specifies the name for the output table.

onDemand=TRUE | FALSE

This parameter is deprecated.

Default TRUE
promote=TRUE | FALSE

when set to True, adds the output table with a global scope. This enables other sessions to access the table, subject to access controls. The target caslib must also have a global scope.

Default FALSE
replace=TRUE | FALSE

when set to True, overwrites an existing table that has the same name.

Default FALSE
replication=integer

specifies the number of copies of the table to make for fault tolerance. Larger values result in slower performance and use more memory, but provide high availability for data in the event of a node failure. Data redundancy applies to distributed servers only.

Default 1
Minimum value 0
tableRedistUpPolicy="DEFER" | "NOREDIST" | "REBALANCE"

Specifies the Table Redistribution Policy when the number of worker pods increases on a running CAS server.

DEFER

Defer redistribution policy selection to higher-level entity.

NOREDIST

Do not redistribute table data when the number of worker pods changes on a running CAS server.

REBALANCE

Rebalance table data when the number of worker pods changes on a running CAS server.

threadBlockSize=64-bit-integer

specifies the number of bytes to use for blocks in the output table. The blocks are read by threads. Gradually increase this value when you have a large table with millions or billions of rows and you are tuning for performance. Larger values can increase performance with indexed tables. However, if the value is too large, then you can cause thread starvation due to too few blocks for threads to work on.

Default 1048576
Minimum value 0
TIP You can enclose the value in quotation marks and specify B, K, M, G, or T as a suffix to indicate the units. For example, "8M" specifies eight megabytes.
timeStamp="string"

specifies to add a timestamp column to the table. Support for timeStamp is action-specific. Specify the value in the form that is appropriate for your session locale.

where={"string-1" <, "string-2", ...>}

specifies one or more expressions for subsetting the output data. When multiple expressions are specified, the expressions are effectively combined using AND to form the final output filter. If an expression contains quoted values, use nested quotation marks.

validate={optmlValidate}

specifies options for validating models.

The optmlValidate value can be one or more of the following:

frequency=64-bit-integer

specifies how frequently (in epochs) validation occurs.

Default 0
Minimum value 0
goal=double

specifies a goal for the validation misclassification rate. When the misclassification rate drops below this goal, the optimization stops.

Default 0
stagnation=64-bit-integer

specifies a number of consecutive validations with increasing misclassification rates that are allowed before optimization terminates early.

Default 0
Minimum value 0
threshold=double

specifies the early stopping threshold for validation error. If the validation error is greater than this value at the iteration specified in the thresholdIter parameter, then the optimization stops.

Default 1
Minimum value 0
thresholdIter=64-bit-integer

specifies the iteration at which the early stopping threshold (specified in the threshold parameter) is checked.

Default 1
Minimum value 1

Lua Syntax

casOptml={
optmlOpt={
fConv=double
fConvWindow=64-bit-integer
gTol=double
maxEvals=64-bit-integer
maxIters=64-bit-integer
maxTime=double
regL1=double
regL2=double
},
sgdOpt={
adaptiveRate=true | false
commFreq=64-bit-integer
learningRate=double
miniBatchSize=64-bit-integer
momentum=double
seed=64-bit-integer
useLocking=true | false
},
state={
checkpointFreq=64-bit-integer
saveBest=true | false
table={
caslib="string"
compress=true | false
indexVars={"variable-name-1" <, "variable-name-2", ...>}
label="string"
lifetime=64-bit-integer
maxMemSize=64-bit-integer
name="table-name"
onDemand=true | false
promote=true | false
replace=true | false
replication=integer
threadBlockSize=64-bit-integer
timeStamp="string"
where={"string-1" <, "string-2", ...>}
}
},
validate={
frequency=64-bit-integer
goal=double
stagnation=64-bit-integer
threshold=double
thresholdIter=64-bit-integer
}
}

Parameter Descriptions

algorithm="ADAM" | "HF" | "LBFGS" | "SGD"

specifies the optimization solver to use.

Default LBFGS
ADAM

uses the adaptive moments variant of the stochastic gradient descent solver.

HF

uses the Hessian free solver. (This value is experimental in this release.)

LBFGS

uses limited-memory Broyden-Fletcher-Goldfarb-Shanno (LBFGS) solver.

SGD

uses the stochastic gradient descent (SGD) solver.

lbfgsOpt={lbfgsOptions}

specifies the LBFGS solver option set.

The lbfgsOptions value can be one or more of the following:

lineSearchMethod="ARMIJO" | "HYBRID" | "MORETHUENTE" | "STRONGWOLFE" | "WOLFE"

specifies Line-search algorithms used in LBFGS solver.

Default MORETHUENTE
ARMIJO

specifies Armijo backtracking line search method.

HYBRID

specifies hybrid line search method.

MORETHUENTE

specifies More and Thuente line search method.

STRONGWOLFE

specifies line search method with strong wolfe condition.

WOLFE

specifies line search method with wolfe condition.

numCorrections=64-bit-integer

specifies the number of corrections used in the LBFGS update.

Default 20
Minimum value 1
optmlOpt={optmlOptions}

specifies options common to all solvers.

The optmlOptions value can be one or more of the following:

clipWeightMaxNorm=double

specifies the maximum L2 norm of the weight vector. Weight vectors that have a greater L2 norm are scaled to this value.

Default 0
Minimum value 0
fConv=double

specifies a stopping criterion. The LBFGS solver stops when the objective fails to change more than this value for at least as many iterations as are specified in the fConvWindow parameter.

Default 1E-05
Minimum value 0
fConvWindow=64-bit-integer

specifies an iteration window for the LBFGS solver's application of the convergence criterion that is specified in the fConv parameter.

Default 1
Minimum value 1
gTol=double

specifies the stopping tolerance for the first-order optimality error.

Default 1E-05
Minimum value 0
maxEvals=64-bit-integer

specifies the maximum number of function evaluations for a single optimization or training.

Default 0
Minimum value 0
maxIters=64-bit-integer

specifies the maximum iterations for a single optimization or training.

Default 10
Minimum value 0
maxTime=double

specifies the maximum time (in seconds) for a single optimization or training.

Default 0
Minimum value 0
regL1=double

specifies the L1 regularization parameter; the value must be nonnegative.

Default 0
Minimum value 0
regL2=double

specifies the L2 regularization parameter; the value must be nonnegative.

Default 0
Minimum value 0
printOpt={optmlPrintOptions}

specifies options for sending information to the log and printing the iteration history table.

The optmlPrintOptions value can be one or more of the following:

logLevel=64-bit-integer

specifies the output display level.

Default 0
Minimum value 0
printFreq=64-bit-integer

specifies how frequently to print the iteration log.

Default 1
Minimum value 1
printLevel="PRINTBASIC" | "PRINTDETAIL" | "PRINTNONE"

specifies the level of detail in rows of the iteration history table.

Default PRINTBASIC
PRINTBASIC

prints only basic information to the iteration history table.

PRINTDETAIL

prints detailed information to the iteration history table.

PRINTNONE

disables printing of the iteration history table.

sgdOpt={sgdOptions}

specifies options for the stochastic gradient descent (SGD) solver.

The sgdOptions value can be one or more of the following:

adaptiveDecay=double

specifies the rate at which the second moment of the gradient is decayed during each SGD iteration.

Default 0.95
Range [0–1)
adaptiveRate=true | false

when set to True, uses the second moment of the gradient vector to scale the learning rate for SGD.

Default false
annealingRate=double

specifies the annealing parameter.

Default 1E-06
Minimum value 0
commFreq=64-bit-integer

specifies the number of minibatches that each computational thread processes before weights are synchronized across all threads and nodes.

Minimum value 0
learningRate=double

specifies the learning rate parameter for SGD.

Default 0.001
Minimum value (exclusive) 0
miniBatchSize=64-bit-integer

specifies the size of the minibatches to use in SGD.

Default 1
Minimum value 1
momentum=double

specifies the momentum for SGD.

Default 0
Range [0–1)
seed=64-bit-integer

specifies the seed for random access of observations on each thread for the SGD algorithm.

useLocking=true | false

when set to True, uses locks to perform thread aggregation; when set to False, uses an atomic (nondeterministic) operation.

Default false
state={optmlState}

specifies the save state option set.

The optmlState value can be one or more of the following:

checkpointFreq=64-bit-integer

specifies the frequency of saving iteration state.

Default 0
Minimum value 0
saveBest=true | false

specifies whether to save best solutions.

Default true
table={casouttable}

specifies save state table name.

caslib="string"

specifies the name of the caslib for the output table.

compress=true | false

when set to True, applies data compression to the table.

Default false
indexVars={"variable-name-1" <, "variable-name-2", ...>}

specifies the list of variables to create indexes for in the output data.

label="string"

specifies the descriptive label to associate with the table.

lifetime=64-bit-integer

specifies the number of seconds to keep the table in memory after it is last accessed. The table is dropped if it is not accessed for the specified number of seconds.

Default 0
Minimum value 0
maxMemSize=64-bit-integer

specifies the maximum amount of memory, in bytes, that each thread should allocate for in-memory blocks before converting to a memory-mapped file. Files are written in the directories that are specified in the CAS_DISK_CACHE environment variable.

TIP You can enclose the value in quotation marks and specify B, K, M, G, or T as a suffix to indicate the units. For example, "8M" specifies eight megabytes.
memoryFormat="DVR" | "INHERIT" | "STANDARD"

specifies the memory format for the output table.

Default INHERIT
DVR

use the duplicate value reduction memory format. This memory format can reduce the memory consumption and file size when the input data contains duplicate values.

INHERIT

use the default memory format that is set for the server. By default, the server uses the standard memory format. If an administrator sets the CAS_DEFAULT_MEMORY_FORMAT environment variable to DVR, then the DVR memory format is set as the default for the server.

STANDARD

use the standard memory format.

name="table-name"

specifies the name for the output table.

onDemand=true | false

This parameter is deprecated.

Default true
promote=true | false

when set to True, adds the output table with a global scope. This enables other sessions to access the table, subject to access controls. The target caslib must also have a global scope.

Default false
replace=true | false

when set to True, overwrites an existing table that has the same name.

Default false
replication=integer

specifies the number of copies of the table to make for fault tolerance. Larger values result in slower performance and use more memory, but provide high availability for data in the event of a node failure. Data redundancy applies to distributed servers only.

Default 1
Minimum value 0
tableRedistUpPolicy="DEFER" | "NOREDIST" | "REBALANCE"

Specifies the Table Redistribution Policy when the number of worker pods increases on a running CAS server.

DEFER

Defer redistribution policy selection to higher-level entity.

NOREDIST

Do not redistribute table data when the number of worker pods changes on a running CAS server.

REBALANCE

Rebalance table data when the number of worker pods changes on a running CAS server.

threadBlockSize=64-bit-integer

specifies the number of bytes to use for blocks in the output table. The blocks are read by threads. Gradually increase this value when you have a large table with millions or billions of rows and you are tuning for performance. Larger values can increase performance with indexed tables. However, if the value is too large, then you can cause thread starvation due to too few blocks for threads to work on.

Default 1048576
Minimum value 0
TIP You can enclose the value in quotation marks and specify B, K, M, G, or T as a suffix to indicate the units. For example, "8M" specifies eight megabytes.
timeStamp="string"

specifies to add a timestamp column to the table. Support for timeStamp is action-specific. Specify the value in the form that is appropriate for your session locale.

where={"string-1" <, "string-2", ...>}

specifies one or more expressions for subsetting the output data. When multiple expressions are specified, the expressions are effectively combined using AND to form the final output filter. If an expression contains quoted values, use nested quotation marks.

validate={optmlValidate}

specifies options for validating models.

The optmlValidate value can be one or more of the following:

frequency=64-bit-integer

specifies how frequently (in epochs) validation occurs.

Default 0
Minimum value 0
goal=double

specifies a goal for the validation misclassification rate. When the misclassification rate drops below this goal, the optimization stops.

Default 0
stagnation=64-bit-integer

specifies a number of consecutive validations with increasing misclassification rates that are allowed before optimization terminates early.

Default 0
Minimum value 0
threshold=double

specifies the early stopping threshold for validation error. If the validation error is greater than this value at the iteration specified in the thresholdIter parameter, then the optimization stops.

Default 1
Minimum value 0
thresholdIter=64-bit-integer

specifies the iteration at which the early stopping threshold (specified in the threshold parameter) is checked.

Default 1
Minimum value 1

Python Syntax

casOptml={
"optmlOpt":{
"fConv":double
"fConvWindow":64-bit-integer
"gTol":double
"maxEvals":64-bit-integer
"maxIters":64-bit-integer
"maxTime":double
"regL1":double
"regL2":double
},
"printOpt":{
"logLevel":64-bit-integer
"printFreq":64-bit-integer
},
"sgdOpt":{
"adaptiveDecay":double
"adaptiveRate":True | False
"annealingRate":double
"commFreq":64-bit-integer
"learningRate":double
"miniBatchSize":64-bit-integer
"momentum":double
"seed":64-bit-integer
"useLocking":True | False
},
"state":{
"checkpointFreq":64-bit-integer
"saveBest":True | False
"table":{
"caslib":"string"
"compress":True | False
"indexVars":["variable-name-1" <, "variable-name-2", ...>]
"label":"string"
"lifetime":64-bit-integer
"maxMemSize":64-bit-integer
"name":"table-name"
"onDemand":True | False
"promote":True | False
"replace":True | False
"replication":integer
"threadBlockSize":64-bit-integer
"timeStamp":"string"
"where":["string-1" <, "string-2", ...>]
}
},
"validate":{
"frequency":64-bit-integer
"goal":double
"stagnation":64-bit-integer
"threshold":double
"thresholdIter":64-bit-integer
}
}

Parameter Descriptions

"algorithm":"ADAM" | "HF" | "LBFGS" | "SGD"

specifies the optimization solver to use.

Default LBFGS
ADAM

uses the adaptive moments variant of the stochastic gradient descent solver.

HF

uses the Hessian free solver. (This value is experimental in this release.)

LBFGS

uses limited-memory Broyden-Fletcher-Goldfarb-Shanno (LBFGS) solver.

SGD

uses the stochastic gradient descent (SGD) solver.

"lbfgsOpt":{lbfgsOptions}

specifies the LBFGS solver option set.

The lbfgsOptions value can be one or more of the following:

"lineSearchMethod":"ARMIJO" | "HYBRID" | "MORETHUENTE" | "STRONGWOLFE" | "WOLFE"

specifies Line-search algorithms used in LBFGS solver.

Default MORETHUENTE
ARMIJO

specifies Armijo backtracking line search method.

HYBRID

specifies hybrid line search method.

MORETHUENTE

specifies More and Thuente line search method.

STRONGWOLFE

specifies line search method with strong wolfe condition.

WOLFE

specifies line search method with wolfe condition.

"numCorrections":64-bit-integer

specifies the number of corrections used in the LBFGS update.

Default 20
Minimum value 1
"optmlOpt":{optmlOptions}

specifies options common to all solvers.

The optmlOptions value can be one or more of the following:

"clipWeightMaxNorm":double

specifies the maximum L2 norm of the weight vector. Weight vectors that have a greater L2 norm are scaled to this value.

Default 0
Minimum value 0
"fConv":double

specifies a stopping criterion. The LBFGS solver stops when the objective fails to change more than this value for at least as many iterations as are specified in the fConvWindow parameter.

Default 1E-05
Minimum value 0
"fConvWindow":64-bit-integer

specifies an iteration window for the LBFGS solver's application of the convergence criterion that is specified in the fConv parameter.

Default 1
Minimum value 1
"gTol":double

specifies the stopping tolerance for the first-order optimality error.

Default 1E-05
Minimum value 0
"maxEvals":64-bit-integer

specifies the maximum number of function evaluations for a single optimization or training.

Default 0
Minimum value 0
"maxIters":64-bit-integer

specifies the maximum iterations for a single optimization or training.

Default 10
Minimum value 0
"maxTime":double

specifies the maximum time (in seconds) for a single optimization or training.

Default 0
Minimum value 0
"regL1":double

specifies the L1 regularization parameter; the value must be nonnegative.

Default 0
Minimum value 0
"regL2":double

specifies the L2 regularization parameter; the value must be nonnegative.

Default 0
Minimum value 0
"printOpt":{optmlPrintOptions}

specifies options for sending information to the log and printing the iteration history table.

The optmlPrintOptions value can be one or more of the following:

"logLevel":64-bit-integer

specifies the output display level.

Default 0
Minimum value 0
"printFreq":64-bit-integer

specifies how frequently to print the iteration log.

Default 1
Minimum value 1
"printLevel":"PRINTBASIC" | "PRINTDETAIL" | "PRINTNONE"

specifies the level of detail in rows of the iteration history table.

Default PRINTBASIC
PRINTBASIC

prints only basic information to the iteration history table.

PRINTDETAIL

prints detailed information to the iteration history table.

PRINTNONE

disables printing of the iteration history table.

"sgdOpt":{sgdOptions}

specifies options for the stochastic gradient descent (SGD) solver.

The sgdOptions value can be one or more of the following:

"adaptiveDecay":double

specifies the rate at which the second moment of the gradient is decayed during each SGD iteration.

Default 0.95
Range [0–1)
"adaptiveRate":True | False

when set to True, uses the second moment of the gradient vector to scale the learning rate for SGD.

Default False
"annealingRate":double

specifies the annealing parameter.

Default 1E-06
Minimum value 0
"commFreq":64-bit-integer

specifies the number of minibatches that each computational thread processes before weights are synchronized across all threads and nodes.

Minimum value 0
"learningRate":double

specifies the learning rate parameter for SGD.

Default 0.001
Minimum value (exclusive) 0
"miniBatchSize":64-bit-integer

specifies the size of the minibatches to use in SGD.

Default 1
Minimum value 1
"momentum":double

specifies the momentum for SGD.

Default 0
Range [0–1)
"seed":64-bit-integer

specifies the seed for random access of observations on each thread for the SGD algorithm.

"useLocking":True | False

when set to True, uses locks to perform thread aggregation; when set to False, uses an atomic (nondeterministic) operation.

Default False
"state":{optmlState}

specifies the save state option set.

The optmlState value can be one or more of the following:

"checkpointFreq":64-bit-integer

specifies the frequency of saving iteration state.

Default 0
Minimum value 0
"saveBest":True | False

specifies whether to save best solutions.

Default True
"table":{casouttable}

specifies save state table name.

"caslib":"string"

specifies the name of the caslib for the output table.

"compress":True | False

when set to True, applies data compression to the table.

Default False
"indexVars":["variable-name-1" <, "variable-name-2", ...>]

specifies the list of variables to create indexes for in the output data.

"label":"string"

specifies the descriptive label to associate with the table.

"lifetime":64-bit-integer

specifies the number of seconds to keep the table in memory after it is last accessed. The table is dropped if it is not accessed for the specified number of seconds.

Default 0
Minimum value 0
"maxMemSize":64-bit-integer

specifies the maximum amount of memory, in bytes, that each thread should allocate for in-memory blocks before converting to a memory-mapped file. Files are written in the directories that are specified in the CAS_DISK_CACHE environment variable.

TIP You can enclose the value in quotation marks and specify B, K, M, G, or T as a suffix to indicate the units. For example, "8M" specifies eight megabytes.
"memoryFormat":"DVR" | "INHERIT" | "STANDARD"

specifies the memory format for the output table.

Default INHERIT
DVR

use the duplicate value reduction memory format. This memory format can reduce the memory consumption and file size when the input data contains duplicate values.

INHERIT

use the default memory format that is set for the server. By default, the server uses the standard memory format. If an administrator sets the CAS_DEFAULT_MEMORY_FORMAT environment variable to DVR, then the DVR memory format is set as the default for the server.

STANDARD

use the standard memory format.

"name":"table-name"

specifies the name for the output table.

"onDemand":True | False

This parameter is deprecated.

Default True
"promote":True | False

when set to True, adds the output table with a global scope. This enables other sessions to access the table, subject to access controls. The target caslib must also have a global scope.

Default False
"replace":True | False

when set to True, overwrites an existing table that has the same name.

Default False
"replication":integer

specifies the number of copies of the table to make for fault tolerance. Larger values result in slower performance and use more memory, but provide high availability for data in the event of a node failure. Data redundancy applies to distributed servers only.

Default 1
Minimum value 0
"tableRedistUpPolicy":"DEFER" | "NOREDIST" | "REBALANCE"

Specifies the Table Redistribution Policy when the number of worker pods increases on a running CAS server.

DEFER

Defer redistribution policy selection to higher-level entity.

NOREDIST

Do not redistribute table data when the number of worker pods changes on a running CAS server.

REBALANCE

Rebalance table data when the number of worker pods changes on a running CAS server.

"threadBlockSize":64-bit-integer

specifies the number of bytes to use for blocks in the output table. The blocks are read by threads. Gradually increase this value when you have a large table with millions or billions of rows and you are tuning for performance. Larger values can increase performance with indexed tables. However, if the value is too large, then you can cause thread starvation due to too few blocks for threads to work on.

Default 1048576
Minimum value 0
TIP You can enclose the value in quotation marks and specify B, K, M, G, or T as a suffix to indicate the units. For example, "8M" specifies eight megabytes.
"timeStamp":"string"

specifies to add a timestamp column to the table. Support for timeStamp is action-specific. Specify the value in the form that is appropriate for your session locale.

"where":["string-1" <, "string-2", ...>]

specifies one or more expressions for subsetting the output data. When multiple expressions are specified, the expressions are effectively combined using AND to form the final output filter. If an expression contains quoted values, use nested quotation marks.

"validate":{optmlValidate}

specifies options for validating models.

The optmlValidate value can be one or more of the following:

"frequency":64-bit-integer

specifies how frequently (in epochs) validation occurs.

Default 0
Minimum value 0
"goal":double

specifies a goal for the validation misclassification rate. When the misclassification rate drops below this goal, the optimization stops.

Default 0
"stagnation":64-bit-integer

specifies a number of consecutive validations with increasing misclassification rates that are allowed before optimization terminates early.

Default 0
Minimum value 0
"threshold":double

specifies the early stopping threshold for validation error. If the validation error is greater than this value at the iteration specified in the thresholdIter parameter, then the optimization stops.

Default 1
Minimum value 0
"thresholdIter":64-bit-integer

specifies the iteration at which the early stopping threshold (specified in the threshold parameter) is checked.

Default 1
Minimum value 1

R Syntax

casOptml=list(
optmlOpt=list(
fConv=double
fConvWindow=64-bit-integer
gTol=double
maxEvals=64-bit-integer
maxIters=64-bit-integer
maxTime=double
regL1=double
regL2=double
),
printOpt=list( ),
sgdOpt=list(
adaptiveRate=TRUE | FALSE
commFreq=64-bit-integer
learningRate=double
miniBatchSize=64-bit-integer
momentum=double
seed=64-bit-integer
useLocking=TRUE | FALSE
),
state=list(
checkpointFreq=64-bit-integer
saveBest=TRUE | FALSE
table=list(
caslib="string"
compress=TRUE | FALSE
indexVars=list("variable-name-1" <, "variable-name-2", ...>)
label="string"
lifetime=64-bit-integer
maxMemSize=64-bit-integer
name="table-name"
onDemand=TRUE | FALSE
promote=TRUE | FALSE
replace=TRUE | FALSE
replication=integer
threadBlockSize=64-bit-integer
timeStamp="string"
where=list("string-1" <, "string-2", ...>)
)
),
validate=list(
frequency=64-bit-integer
goal=double
stagnation=64-bit-integer
threshold=double
thresholdIter=64-bit-integer
)
)

Parameter Descriptions

algorithm="ADAM" | "HF" | "LBFGS" | "SGD"

specifies the optimization solver to use.

Default LBFGS
ADAM

uses the adaptive moments variant of the stochastic gradient descent solver.

HF

uses the Hessian free solver. (This value is experimental in this release.)

LBFGS

uses limited-memory Broyden-Fletcher-Goldfarb-Shanno (LBFGS) solver.

SGD

uses the stochastic gradient descent (SGD) solver.

lbfgsOpt=list(lbfgsOptions)

specifies the LBFGS solver option set.

The lbfgsOptions value can be one or more of the following:

lineSearchMethod="ARMIJO" | "HYBRID" | "MORETHUENTE" | "STRONGWOLFE" | "WOLFE"

specifies Line-search algorithms used in LBFGS solver.

Default MORETHUENTE
ARMIJO

specifies Armijo backtracking line search method.

HYBRID

specifies hybrid line search method.

MORETHUENTE

specifies More and Thuente line search method.

STRONGWOLFE

specifies line search method with strong wolfe condition.

WOLFE

specifies line search method with wolfe condition.

numCorrections=64-bit-integer

specifies the number of corrections used in the LBFGS update.

Default 20
Minimum value 1
optmlOpt=list(optmlOptions)

specifies options common to all solvers.

The optmlOptions value can be one or more of the following:

clipWeightMaxNorm=double

specifies the maximum L2 norm of the weight vector. Weight vectors that have a greater L2 norm are scaled to this value.

Default 0
Minimum value 0
fConv=double

specifies a stopping criterion. The LBFGS solver stops when the objective fails to change more than this value for at least as many iterations as are specified in the fConvWindow parameter.

Default 1E-05
Minimum value 0
fConvWindow=64-bit-integer

specifies an iteration window for the LBFGS solver's application of the convergence criterion that is specified in the fConv parameter.

Default 1
Minimum value 1
gTol=double

specifies the stopping tolerance for the first-order optimality error.

Default 1E-05
Minimum value 0
maxEvals=64-bit-integer

specifies the maximum number of function evaluations for a single optimization or training.

Default 0
Minimum value 0
maxIters=64-bit-integer

specifies the maximum iterations for a single optimization or training.

Default 10
Minimum value 0
maxTime=double

specifies the maximum time (in seconds) for a single optimization or training.

Default 0
Minimum value 0
regL1=double

specifies the L1 regularization parameter; the value must be nonnegative.

Default 0
Minimum value 0
regL2=double

specifies the L2 regularization parameter; the value must be nonnegative.

Default 0
Minimum value 0
printOpt=list(optmlPrintOptions)

specifies options for sending information to the log and printing the iteration history table.

The optmlPrintOptions value can be one or more of the following:

logLevel=64-bit-integer

specifies the output display level.

Default 0
Minimum value 0
printFreq=64-bit-integer

specifies how frequently to print the iteration log.

Default 1
Minimum value 1
printLevel="PRINTBASIC" | "PRINTDETAIL" | "PRINTNONE"

specifies the level of detail in rows of the iteration history table.

Default PRINTBASIC
PRINTBASIC

prints only basic information to the iteration history table.

PRINTDETAIL

prints detailed information to the iteration history table.

PRINTNONE

disables printing of the iteration history table.

sgdOpt=list(sgdOptions)

specifies options for the stochastic gradient descent (SGD) solver.

The sgdOptions value can be one or more of the following:

adaptiveDecay=double

specifies the rate at which the second moment of the gradient is decayed during each SGD iteration.

Default 0.95
Range [0–1)
adaptiveRate=TRUE | FALSE

when set to True, uses the second moment of the gradient vector to scale the learning rate for SGD.

Default FALSE
annealingRate=double

specifies the annealing parameter.

Default 1E-06
Minimum value 0
commFreq=64-bit-integer

specifies the number of minibatches that each computational thread processes before weights are synchronized across all threads and nodes.

Minimum value 0
learningRate=double

specifies the learning rate parameter for SGD.

Default 0.001
Minimum value (exclusive) 0
miniBatchSize=64-bit-integer

specifies the size of the minibatches to use in SGD.

Default 1
Minimum value 1
momentum=double

specifies the momentum for SGD.

Default 0
Range [0–1)
seed=64-bit-integer

specifies the seed for random access of observations on each thread for the SGD algorithm.

useLocking=TRUE | FALSE

when set to True, uses locks to perform thread aggregation; when set to False, uses an atomic (nondeterministic) operation.

Default FALSE
state=list(optmlState)

specifies the save state option set.

The optmlState value can be one or more of the following:

checkpointFreq=64-bit-integer

specifies the frequency of saving iteration state.

Default 0
Minimum value 0
saveBest=TRUE | FALSE

specifies whether to save best solutions.

Default TRUE
table=list(casouttable)

specifies save state table name.

caslib="string"

specifies the name of the caslib for the output table.

compress=TRUE | FALSE

when set to True, applies data compression to the table.

Default FALSE
indexVars=list("variable-name-1" <, "variable-name-2", ...>)

specifies the list of variables to create indexes for in the output data.

label="string"

specifies the descriptive label to associate with the table.

lifetime=64-bit-integer

specifies the number of seconds to keep the table in memory after it is last accessed. The table is dropped if it is not accessed for the specified number of seconds.

Default 0
Minimum value 0
maxMemSize=64-bit-integer

specifies the maximum amount of memory, in bytes, that each thread should allocate for in-memory blocks before converting to a memory-mapped file. Files are written in the directories that are specified in the CAS_DISK_CACHE environment variable.

TIP You can enclose the value in quotation marks and specify B, K, M, G, or T as a suffix to indicate the units. For example, "8M" specifies eight megabytes.
memoryFormat="DVR" | "INHERIT" | "STANDARD"

specifies the memory format for the output table.

Default INHERIT
DVR

use the duplicate value reduction memory format. This memory format can reduce the memory consumption and file size when the input data contains duplicate values.

INHERIT

use the default memory format that is set for the server. By default, the server uses the standard memory format. If an administrator sets the CAS_DEFAULT_MEMORY_FORMAT environment variable to DVR, then the DVR memory format is set as the default for the server.

STANDARD

use the standard memory format.

name="table-name"

specifies the name for the output table.

onDemand=TRUE | FALSE

This parameter is deprecated.

Default TRUE
promote=TRUE | FALSE

when set to True, adds the output table with a global scope. This enables other sessions to access the table, subject to access controls. The target caslib must also have a global scope.

Default FALSE
replace=TRUE | FALSE

when set to True, overwrites an existing table that has the same name.

Default FALSE
replication=integer

specifies the number of copies of the table to make for fault tolerance. Larger values result in slower performance and use more memory, but provide high availability for data in the event of a node failure. Data redundancy applies to distributed servers only.

Default 1
Minimum value 0
tableRedistUpPolicy="DEFER" | "NOREDIST" | "REBALANCE"

Specifies the Table Redistribution Policy when the number of worker pods increases on a running CAS server.

DEFER

Defer redistribution policy selection to higher-level entity.

NOREDIST

Do not redistribute table data when the number of worker pods changes on a running CAS server.

REBALANCE

Rebalance table data when the number of worker pods changes on a running CAS server.

threadBlockSize=64-bit-integer

specifies the number of bytes to use for blocks in the output table. The blocks are read by threads. Gradually increase this value when you have a large table with millions or billions of rows and you are tuning for performance. Larger values can increase performance with indexed tables. However, if the value is too large, then you can cause thread starvation due to too few blocks for threads to work on.

Default 1048576
Minimum value 0
TIP You can enclose the value in quotation marks and specify B, K, M, G, or T as a suffix to indicate the units. For example, "8M" specifies eight megabytes.
timeStamp="string"

specifies to add a timestamp column to the table. Support for timeStamp is action-specific. Specify the value in the form that is appropriate for your session locale.

where=list("string-1" <, "string-2", ...>)

specifies one or more expressions for subsetting the output data. When multiple expressions are specified, the expressions are effectively combined using AND to form the final output filter. If an expression contains quoted values, use nested quotation marks.

validate=list(optmlValidate)

specifies options for validating models.

The optmlValidate value can be one or more of the following:

frequency=64-bit-integer

specifies how frequently (in epochs) validation occurs.

Default 0
Minimum value 0
goal=double

specifies a goal for the validation misclassification rate. When the misclassification rate drops below this goal, the optimization stops.

Default 0
stagnation=64-bit-integer

specifies a number of consecutive validations with increasing misclassification rates that are allowed before optimization terminates early.

Default 0
Minimum value 0
threshold=double

specifies the early stopping threshold for validation error. If the validation error is greater than this value at the iteration specified in the thresholdIter parameter, then the optimization stops.

Default 1
Minimum value 0
thresholdIter=64-bit-integer

specifies the iteration at which the early stopping threshold (specified in the threshold parameter) is checked.

Default 1
Minimum value 1
Last updated: November 23, 2025