public interface StatsInitializationReport extends Persistable
StatsListener
for reporting static information.
The idea is that this information will be reported only once, at the first call of the StatsListener. Comparatively,
the StatsReport
will be used multiple times - every N iterations according to the configuration (StatsUpdateConfiguration
).
Note that the software, hardware and model information may or may not be obtained and reported, depending on the configuration
provided by the relevant StatsInitializationConfiguration
Modifier and Type | Method and Description |
---|---|
java.lang.String[] |
getHwDeviceDescription() |
long[] |
getHwDeviceTotalMemory() |
java.lang.String |
getHwHardwareUID() |
int |
getHwJvmAvailableProcessors() |
long |
getHwJvmMaxMemory() |
int |
getHwNumDevices() |
long |
getHwOffHeapMaxMemory() |
java.lang.String |
getModelClassName() |
java.lang.String |
getModelConfigJson() |
int |
getModelNumLayers() |
long |
getModelNumParams() |
java.lang.String[] |
getModelParamNames() |
java.lang.String |
getSwArch() |
java.util.Map<java.lang.String,java.lang.String> |
getSwEnvironmentInfo() |
java.lang.String |
getSwHostName() |
java.lang.String |
getSwJvmName() |
java.lang.String |
getSwJvmSpecVersion() |
java.lang.String |
getSwJvmUID() |
java.lang.String |
getSwJvmVersion() |
java.lang.String |
getSwNd4jBackendClass() |
java.lang.String |
getSwNd4jDataTypeName() |
java.lang.String |
getSwOsName() |
boolean |
hasHardwareInfo() |
boolean |
hasModelInfo() |
boolean |
hasSoftwareInfo() |
void |
reportHardwareInfo(int jvmAvailableProcessors,
int numDevices,
long jvmMaxMemory,
long offHeapMaxMemory,
long[] deviceTotalMemory,
java.lang.String[] deviceDescription,
java.lang.String hardwareUID) |
void |
reportIDs(java.lang.String sessionID,
java.lang.String typeID,
java.lang.String workerID,
long timestamp) |
void |
reportModelInfo(java.lang.String modelClassName,
java.lang.String modelConfigJson,
java.lang.String[] paramNames,
int numLayers,
long numParams)
Report the model information
|
void |
reportSoftwareInfo(java.lang.String arch,
java.lang.String osName,
java.lang.String jvmName,
java.lang.String jvmVersion,
java.lang.String jvmSpecVersion,
java.lang.String nd4jBackendClass,
java.lang.String nd4jDataTypeName,
java.lang.String hostname,
java.lang.String jvmUID,
java.util.Map<java.lang.String,java.lang.String> swEnvironmentInfo) |
decode, decode, decode, encode, encode, encode, encodingLengthBytes, getSessionID, getTimeStamp, getTypeID, getWorkerID
void reportIDs(java.lang.String sessionID, java.lang.String typeID, java.lang.String workerID, long timestamp)
void reportSoftwareInfo(java.lang.String arch, java.lang.String osName, java.lang.String jvmName, java.lang.String jvmVersion, java.lang.String jvmSpecVersion, java.lang.String nd4jBackendClass, java.lang.String nd4jDataTypeName, java.lang.String hostname, java.lang.String jvmUID, java.util.Map<java.lang.String,java.lang.String> swEnvironmentInfo)
arch
- Operating system architecture, as reported by JVMosName
- Operating system namejvmName
- JVM namejvmVersion
- JVM versionjvmSpecVersion
- JVM Specification version (for example, 1.8)nd4jBackendClass
- ND4J backend Factory classnd4jDataTypeName
- ND4J datatype namehostname
- Hostname for the machine, if availablejvmUID
- A unique identified for the current JVM. Should be shared by all instances in the same JVM.
Should vary for different JVMs on the same machine.swEnvironmentInfo
- Environment information: Usually from Nd4j.getExecutioner().getEnvironmentInformation()void reportHardwareInfo(int jvmAvailableProcessors, int numDevices, long jvmMaxMemory, long offHeapMaxMemory, long[] deviceTotalMemory, java.lang.String[] deviceDescription, java.lang.String hardwareUID)
jvmAvailableProcessors
- Number of available processor cores according to the JVMnumDevices
- Number of compute devices (GPUs)jvmMaxMemory
- Maximum memory for the JVMoffHeapMaxMemory
- Maximum off-heap memorydeviceTotalMemory
- GPU memory by device: same length as numDevices. May be null, if numDevices is 0deviceDescription
- Description of each device. May be null, if numDevices is 0hardwareUID
- A unique identifier for the machine. Should be shared by all instances running on
the same machine, including in different JVMsvoid reportModelInfo(java.lang.String modelClassName, java.lang.String modelConfigJson, java.lang.String[] paramNames, int numLayers, long numParams)
modelClassName
- Model class name: i.e., type of modelmodelConfigJson
- Model configuration, as JSON stringnumLayers
- Number of layers in the modelnumParams
- Number of parameters in the modelboolean hasSoftwareInfo()
boolean hasHardwareInfo()
boolean hasModelInfo()
java.lang.String getSwArch()
java.lang.String getSwOsName()
java.lang.String getSwJvmName()
java.lang.String getSwJvmVersion()
java.lang.String getSwJvmSpecVersion()
java.lang.String getSwNd4jBackendClass()
java.lang.String getSwNd4jDataTypeName()
java.lang.String getSwHostName()
java.lang.String getSwJvmUID()
java.util.Map<java.lang.String,java.lang.String> getSwEnvironmentInfo()
int getHwJvmAvailableProcessors()
int getHwNumDevices()
long getHwJvmMaxMemory()
long getHwOffHeapMaxMemory()
long[] getHwDeviceTotalMemory()
java.lang.String[] getHwDeviceDescription()
java.lang.String getHwHardwareUID()
java.lang.String getModelClassName()
java.lang.String getModelConfigJson()
java.lang.String[] getModelParamNames()
int getModelNumLayers()
long getModelNumParams()