R/DSJobModelHyperparams.r

# Dkube api server
#
# No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen)
#
# OpenAPI spec version: 2.2.1.11
# 
# Generated by: https://github.com/swagger-api/swagger-codegen.git


#' DSJobModelHyperparams Class
#'
#' @field epochs 
#' @field steps 
#' @field batchsize 
#' @field custom 
#' @field customkv 
#' @field file 
#'
#' @importFrom R6 R6Class
#' @importFrom jsonlite fromJSON toJSON
#' @export
DSJobModelHyperparams <- R6::R6Class(
  'DSJobModelHyperparams',
  public = list(
    `epochs` = NULL,
    `steps` = NULL,
    `batchsize` = NULL,
    `custom` = NULL,
    `customkv` = NULL,
    `file` = NULL,
    initialize = function(`epochs`, `steps`, `batchsize`, `custom`, `customkv`, `file`){
      if (!missing(`epochs`)) {
        stopifnot(is.numeric(`epochs`), length(`epochs`) == 1)
        self$`epochs` <- `epochs`
      }
      if (!missing(`steps`)) {
        stopifnot(is.numeric(`steps`), length(`steps`) == 1)
        self$`steps` <- `steps`
      }
      if (!missing(`batchsize`)) {
        stopifnot(is.numeric(`batchsize`), length(`batchsize`) == 1)
        self$`batchsize` <- `batchsize`
      }
      if (!missing(`custom`)) {
        stopifnot(is.list(`custom`), length(`custom`) != 0)
        lapply(`custom`, function(x) stopifnot(is.character(x)))
        self$`custom` <- `custom`
      }
      if (!missing(`customkv`)) {
        stopifnot(R6::is.R6(`customkv`))
        self$`customkv` <- `customkv`
      }
      if (!missing(`file`)) {
        stopifnot(R6::is.R6(`file`))
        self$`file` <- `file`
      }
    },
    toJSON = function() {
      DSJobModelHyperparamsObject <- list()
      if (!is.null(self$`epochs`)) {
        DSJobModelHyperparamsObject[['epochs']] <- self$`epochs`
      }
      if (!is.null(self$`steps`)) {
        DSJobModelHyperparamsObject[['steps']] <- self$`steps`
      }
      if (!is.null(self$`batchsize`)) {
        DSJobModelHyperparamsObject[['batchsize']] <- self$`batchsize`
      }
      if (!is.null(self$`custom`)) {
        DSJobModelHyperparamsObject[['custom']] <- self$`custom`
      }
      if (!is.null(self$`customkv`)) {
        DSJobModelHyperparamsObject[['customkv']] <- self$`customkv`$toJSON()
      }
      if (!is.null(self$`file`)) {
        DSJobModelHyperparamsObject[['file']] <- self$`file`$toJSON()
      }

      DSJobModelHyperparamsObject
    },
    fromJSON = function(DSJobModelHyperparamsJson) {
      DSJobModelHyperparamsObject <- jsonlite::fromJSON(DSJobModelHyperparamsJson)
      if (!is.null(DSJobModelHyperparamsObject$`epochs`)) {
        self$`epochs` <- DSJobModelHyperparamsObject$`epochs`
      }
      if (!is.null(DSJobModelHyperparamsObject$`steps`)) {
        self$`steps` <- DSJobModelHyperparamsObject$`steps`
      }
      if (!is.null(DSJobModelHyperparamsObject$`batchsize`)) {
        self$`batchsize` <- DSJobModelHyperparamsObject$`batchsize`
      }
      if (!is.null(DSJobModelHyperparamsObject$`custom`)) {
        self$`custom` <- DSJobModelHyperparamsObject$`custom`
      }
      if (!is.null(DSJobModelHyperparamsObject$`customkv`)) {
        customkvObject <- CustomKVModel$new()
        customkvObject$fromJSON(jsonlite::toJSON(DSJobModelHyperparamsObject$customkv, auto_unbox = TRUE))
        self$`customkv` <- customkvObject
      }
      if (!is.null(DSJobModelHyperparamsObject$`file`)) {
        fileObject <- ConfigFileModel$new()
        fileObject$fromJSON(jsonlite::toJSON(DSJobModelHyperparamsObject$file, auto_unbox = TRUE))
        self$`file` <- fileObject
      }
    },
    toJSONString = function() {
       sprintf(
        '{
           "epochs": %d,
           "steps": %d,
           "batchsize": %d,
           "custom": [%s],
           "customkv": %s,
           "file": %s
        }',
        self$`epochs`,
        self$`steps`,
        self$`batchsize`,
        lapply(self$`custom`, function(x) paste(paste0('"', x, '"'), sep=",")),
        self$`customkv`$toJSON(),
        self$`file`$toJSON()
      )
    },
    fromJSONString = function(DSJobModelHyperparamsJson) {
      DSJobModelHyperparamsObject <- jsonlite::fromJSON(DSJobModelHyperparamsJson)
      self$`epochs` <- DSJobModelHyperparamsObject$`epochs`
      self$`steps` <- DSJobModelHyperparamsObject$`steps`
      self$`batchsize` <- DSJobModelHyperparamsObject$`batchsize`
      self$`custom` <- DSJobModelHyperparamsObject$`custom`
      CustomKVModelObject <- CustomKVModel$new()
      self$`customkv` <- CustomKVModelObject$fromJSON(jsonlite::toJSON(DSJobModelHyperparamsObject$customkv, auto_unbox = TRUE))
      ConfigFileModelObject <- ConfigFileModel$new()
      self$`file` <- ConfigFileModelObject$fromJSON(jsonlite::toJSON(DSJobModelHyperparamsObject$file, auto_unbox = TRUE))
    }
  )
)
riteshkarvaloc/dkubeR documentation built on Feb. 25, 2021, 9:28 p.m.