All Downloads are FREE. Search and download functionalities are using the official Maven repository.

scala.googleapis.bigquery.TrainingRun.scala Maven / Gradle / Ivy

There is a newer version: 0.6.1-v2-20241111
Show newest version
package googleapis.bigquery

import JsonInstances._
import io.circe._
import io.circe.syntax._
import scala.concurrent.duration.FiniteDuration

final case class TrainingRun(
    /** Output only. Global explanation contains the explanation of top features on the model level. Applies to both regression and classification models.
      */
    modelLevelGlobalExplanation: Option[GlobalExplanation] = None,
    /** The model id in the [Vertex AI Model Registry](https://cloud.google.com/vertex-ai/docs/model-registry/introduction) for this training run.
      */
    vertexAiModelId: Option[String] = None,
    /** Output only. The start time of this training run.
      */
    startTime: Option[String] = None,
    /** Output only. Data split result of the training run. Only set when the input data is actually split.
      */
    dataSplitResult: Option[DataSplitResult] = None,
    /** Output only. Global explanation contains the explanation of top features on the class level. Applies to classification models only.
      */
    classLevelGlobalExplanations: Option[List[GlobalExplanation]] = None,
    /** Output only. Options that were used for this training run, includes user specified and default options that were used.
      */
    trainingOptions: Option[TrainingOptions] = None,
    /** Output only. The model version in the [Vertex AI Model Registry](https://cloud.google.com/vertex-ai/docs/model-registry/introduction) for this training run.
      */
    vertexAiModelVersion: Option[String] = None,
    /** Output only. Output of each iteration run, results.size() <= max_iterations.
      */
    results: Option[List[IterationResult]] = None,
    /** Output only. The start time of this training run, in milliseconds since epoch.
      */
    trainingStartTime: Option[FiniteDuration] = None,
    /** Output only. The evaluation metrics over training/eval data that were computed at the end of training.
      */
    evaluationMetrics: Option[EvaluationMetrics] = None,
)
object TrainingRun {
  implicit val encoder: Encoder[TrainingRun] = Encoder.instance { x =>
    Json.obj(
      "modelLevelGlobalExplanation" := x.modelLevelGlobalExplanation,
      "vertexAiModelId" := x.vertexAiModelId,
      "startTime" := x.startTime,
      "dataSplitResult" := x.dataSplitResult,
      "classLevelGlobalExplanations" :=
        x.classLevelGlobalExplanations,
      "trainingOptions" := x.trainingOptions,
      "vertexAiModelVersion" := x.vertexAiModelVersion,
      "results" := x.results,
      "trainingStartTime" := x.trainingStartTime,
      "evaluationMetrics" := x.evaluationMetrics,
    )
  }
  implicit val decoder: Decoder[TrainingRun] = Decoder.instance { c =>
    for {
      v0 <- c.get[Option[GlobalExplanation]]("modelLevelGlobalExplanation")
      v1 <- c.get[Option[String]]("vertexAiModelId")
      v2 <- c.get[Option[String]]("startTime")
      v3 <- c.get[Option[DataSplitResult]]("dataSplitResult")
      v4 <- c.get[Option[List[GlobalExplanation]]]("classLevelGlobalExplanations")
      v5 <- c.get[Option[TrainingOptions]]("trainingOptions")
      v6 <- c.get[Option[String]]("vertexAiModelVersion")
      v7 <- c.get[Option[List[IterationResult]]]("results")
      v8 <- c.get[Option[FiniteDuration]]("trainingStartTime")
      v9 <- c.get[Option[EvaluationMetrics]]("evaluationMetrics")
    } yield TrainingRun(v0, v1, v2, v3, v4, v5, v6, v7, v8, v9)
  }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy