Common Parameter: casOptml

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.

DefaultLBFGS
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.

DefaultMORETHUENTE
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.

Default20
Minimum value1
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.

Default0
Minimum value0
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.

Default1E-05
Minimum value0
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.

Default1
Minimum value1
gTol=double

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

Default1E-05
Minimum value0
maxEvals=64-bit-integer

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

Default0
Minimum value0
maxIters=64-bit-integer

specifies the maximum iterations for a single optimization or training.

Default10
Minimum value0
maxTime=double

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

Default0
Minimum value0
regL1=double

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

Default0
Minimum value0
regL2=double

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

Default0
Minimum value0
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.

Default0
Minimum value0
printFreq=64-bit-integer

specifies how frequently to print the iteration log.

Default1
Minimum value1
printLevel="PRINTBASIC" | "PRINTDETAIL" | "PRINTNONE"

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

DefaultPRINTBASIC
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.

Default0.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.

DefaultFALSE
annealingRate=double

specifies the annealing parameter.

Default1E-06
Minimum value0
commFreq=64-bit-integer

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

Minimum value0
learningRate=double

specifies the learning rate parameter for SGD.

Default0.001
Minimum value (exclusive)0
miniBatchSize=64-bit-integer

specifies the size of the minibatches to use in SGD.

Default1
Minimum value1
momentum=double

specifies the momentum for SGD.

Default0
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.

DefaultFALSE
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.

Default0
Minimum value0
saveBest=TRUE | FALSE

specifies whether to save best solutions.

DefaultTRUE
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.

DefaultFALSE
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.

Default0
Minimum value0
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.

TIPYou 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.

DefaultINHERIT
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.

DefaultTRUE
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.

DefaultFALSE
replace=TRUE | FALSE

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

DefaultFALSE
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.

Default1
Minimum value0
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.

Default1048576
Minimum value0
TIPYou 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.

Default0
Minimum value0
goal=double

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

Default0
stagnation=64-bit-integer

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

Default0
Minimum value0
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.

Default1
Minimum value0
thresholdIter=64-bit-integer

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

Default1
Minimum value1
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.

DefaultLBFGS
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.

DefaultMORETHUENTE
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.

Default20
Minimum value1
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.

Default0
Minimum value0
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.

Default1E-05
Minimum value0
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.

Default1
Minimum value1
gTol=double

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

Default1E-05
Minimum value0
maxEvals=64-bit-integer

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

Default0
Minimum value0
maxIters=64-bit-integer

specifies the maximum iterations for a single optimization or training.

Default10
Minimum value0
maxTime=double

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

Default0
Minimum value0
regL1=double

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

Default0
Minimum value0
regL2=double

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

Default0
Minimum value0
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.

Default0
Minimum value0
printFreq=64-bit-integer

specifies how frequently to print the iteration log.

Default1
Minimum value1
printLevel="PRINTBASIC" | "PRINTDETAIL" | "PRINTNONE"

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

DefaultPRINTBASIC
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.

Default0.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.

Defaultfalse
annealingRate=double

specifies the annealing parameter.

Default1E-06
Minimum value0
commFreq=64-bit-integer

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

Minimum value0
learningRate=double

specifies the learning rate parameter for SGD.

Default0.001
Minimum value (exclusive)0
miniBatchSize=64-bit-integer

specifies the size of the minibatches to use in SGD.

Default1
Minimum value1
momentum=double

specifies the momentum for SGD.

Default0
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.

Defaultfalse
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.

Default0
Minimum value0
saveBest=true | false

specifies whether to save best solutions.

Defaulttrue
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.

Defaultfalse
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.

Default0
Minimum value0
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.

TIPYou 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.

DefaultINHERIT
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.

Defaulttrue
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.

Defaultfalse
replace=true | false

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

Defaultfalse
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.

Default1
Minimum value0
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.

Default1048576
Minimum value0
TIPYou 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.

Default0
Minimum value0
goal=double

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

Default0
stagnation=64-bit-integer

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

Default0
Minimum value0
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.

Default1
Minimum value0
thresholdIter=64-bit-integer

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

Default1
Minimum value1
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.

DefaultLBFGS
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.

DefaultMORETHUENTE
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.

Default20
Minimum value1
"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.

Default0
Minimum value0
"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.

Default1E-05
Minimum value0
"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.

Default1
Minimum value1
"gTol":double

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

Default1E-05
Minimum value0
"maxEvals":64-bit-integer

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

Default0
Minimum value0
"maxIters":64-bit-integer

specifies the maximum iterations for a single optimization or training.

Default10
Minimum value0
"maxTime":double

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

Default0
Minimum value0
"regL1":double

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

Default0
Minimum value0
"regL2":double

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

Default0
Minimum value0
"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.

Default0
Minimum value0
"printFreq":64-bit-integer

specifies how frequently to print the iteration log.

Default1
Minimum value1
"printLevel":"PRINTBASIC" | "PRINTDETAIL" | "PRINTNONE"

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

DefaultPRINTBASIC
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.

Default0.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.

DefaultFalse
"annealingRate":double

specifies the annealing parameter.

Default1E-06
Minimum value0
"commFreq":64-bit-integer

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

Minimum value0
"learningRate":double

specifies the learning rate parameter for SGD.

Default0.001
Minimum value (exclusive)0
"miniBatchSize":64-bit-integer

specifies the size of the minibatches to use in SGD.

Default1
Minimum value1
"momentum":double

specifies the momentum for SGD.

Default0
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.

DefaultFalse
"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.

Default0
Minimum value0
"saveBest":True | False

specifies whether to save best solutions.

DefaultTrue
"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.

DefaultFalse
"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.

Default0
Minimum value0
"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.

TIPYou 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.

DefaultINHERIT
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.

DefaultTrue
"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.

DefaultFalse
"replace":True | False

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

DefaultFalse
"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.

Default1
Minimum value0
"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.

Default1048576
Minimum value0
TIPYou 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.

Default0
Minimum value0
"goal":double

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

Default0
"stagnation":64-bit-integer

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

Default0
Minimum value0
"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.

Default1
Minimum value0
"thresholdIter":64-bit-integer

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

Default1
Minimum value1
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.

DefaultLBFGS
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.

DefaultMORETHUENTE
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.

Default20
Minimum value1
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.

Default0
Minimum value0
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.

Default1E-05
Minimum value0
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.

Default1
Minimum value1
gTol=double

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

Default1E-05
Minimum value0
maxEvals=64-bit-integer

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

Default0
Minimum value0
maxIters=64-bit-integer

specifies the maximum iterations for a single optimization or training.

Default10
Minimum value0
maxTime=double

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

Default0
Minimum value0
regL1=double

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

Default0
Minimum value0
regL2=double

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

Default0
Minimum value0
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.

Default0
Minimum value0
printFreq=64-bit-integer

specifies how frequently to print the iteration log.

Default1
Minimum value1
printLevel="PRINTBASIC" | "PRINTDETAIL" | "PRINTNONE"

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

DefaultPRINTBASIC
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.

Default0.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.

DefaultFALSE
annealingRate=double

specifies the annealing parameter.

Default1E-06
Minimum value0
commFreq=64-bit-integer

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

Minimum value0
learningRate=double

specifies the learning rate parameter for SGD.

Default0.001
Minimum value (exclusive)0
miniBatchSize=64-bit-integer

specifies the size of the minibatches to use in SGD.

Default1
Minimum value1
momentum=double

specifies the momentum for SGD.

Default0
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.

DefaultFALSE
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.

Default0
Minimum value0
saveBest=TRUE | FALSE

specifies whether to save best solutions.

DefaultTRUE
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.

DefaultFALSE
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.

Default0
Minimum value0
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.

TIPYou 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.

DefaultINHERIT
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.

DefaultTRUE
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.

DefaultFALSE
replace=TRUE | FALSE

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

DefaultFALSE
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.

Default1
Minimum value0
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.

Default1048576
Minimum value0
TIPYou 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.

Default0
Minimum value0
goal=double

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

Default0
stagnation=64-bit-integer

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

Default0
Minimum value0
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.

Default1
Minimum value0
thresholdIter=64-bit-integer

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

Default1
Minimum value1
Last updated: November 23, 2025