From b25ab02610acbedef06786bb1dadd418a37e45ce Mon Sep 17 00:00:00 2001 From: Tomasz Kalinowski Date: Tue, 21 May 2024 10:12:29 -0400 Subject: [PATCH 01/11] update urls --- R/applications.R | 4 ++-- R/losses.R | 10 +++++----- R/metrics.R | 2 +- R/optimizers-schedules.R | 2 +- man/application_mobilenet_v3_large.Rd | 2 +- man/application_mobilenet_v3_small.Rd | 2 +- man/layer_tfsm.Rd | 4 ++-- man/learning_rate_schedule_cosine_decay.Rd | 2 +- man/loss_binary_focal_crossentropy.Rd | 8 ++++---- man/loss_categorical_focal_crossentropy.Rd | 2 +- man/metric_binary_focal_crossentropy.Rd | 2 +- vignettes/getting_started.Rmd | 2 +- 12 files changed, 21 insertions(+), 21 deletions(-) diff --git a/R/applications.R b/R/applications.R index 92694a481..50b95e60c 100644 --- a/R/applications.R +++ b/R/applications.R @@ -2642,7 +2642,7 @@ function (input_shape = NULL, alpha = 1, include_top = TRUE, #' #' # Reference #' - [Searching for MobileNetV3]( -#' https://arxiv.org/pdf/1905.02244.pdf) (ICCV 2019) +#' https://arxiv.org/pdf/1905.02244) (ICCV 2019) #' #' The following table describes the performance of MobileNets v3: #' ------------------------------------------------------------------------ @@ -2788,7 +2788,7 @@ function (input_shape = NULL, alpha = 1, minimalistic = FALSE, #' #' # Reference #' - [Searching for MobileNetV3]( -#' https://arxiv.org/pdf/1905.02244.pdf) (ICCV 2019) +#' https://arxiv.org/pdf/1905.02244) (ICCV 2019) #' #' The following table describes the performance of MobileNets v3: #' ------------------------------------------------------------------------ diff --git a/R/losses.R b/R/losses.R index 9435444a6..4981aca12 100644 --- a/R/losses.R +++ b/R/losses.R @@ -131,7 +131,7 @@ function (y_true, y_pred, from_logits = FALSE, label_smoothing = 0, #' Computes focal cross-entropy loss between true labels and predictions. #' #' @description -#' According to [Lin et al., 2018](https://arxiv.org/pdf/1708.02002.pdf), it +#' According to [Lin et al., 2018](https://arxiv.org/pdf/1708.02002), it #' helps to apply a focal factor to down-weight easy examples and focus more on #' hard examples. By default, the focal tensor is computed as follows: #' @@ -157,7 +157,7 @@ function (y_true, y_pred, from_logits = FALSE, label_smoothing = 0, #' when `from_logits=TRUE`) or a probability (i.e, value in `[0., 1.]` when #' `from_logits=FALSE`). #' -#' According to [Lin et al., 2018](https://arxiv.org/pdf/1708.02002.pdf), it +#' According to [Lin et al., 2018](https://arxiv.org/pdf/1708.02002), it #' helps to apply a "focal factor" to down-weight easy examples and focus more #' on hard examples. By default, the focal tensor is computed as follows: #' @@ -274,13 +274,13 @@ function (y_true, y_pred, from_logits = FALSE, label_smoothing = 0, #' @param alpha #' A weight balancing factor for class 1, default is `0.25` as #' mentioned in reference [Lin et al., 2018]( -#' https://arxiv.org/pdf/1708.02002.pdf). The weight for class 0 is +#' https://arxiv.org/pdf/1708.02002). The weight for class 0 is #' `1.0 - alpha`. #' #' @param gamma #' A focusing parameter used to compute the focal factor, default is #' `2.0` as mentioned in the reference -#' [Lin et al., 2018](https://arxiv.org/pdf/1708.02002.pdf). +#' [Lin et al., 2018](https://arxiv.org/pdf/1708.02002). #' #' @param from_logits #' Whether to interpret `y_pred` as a tensor of @@ -450,7 +450,7 @@ function (y_true, y_pred, from_logits = FALSE, label_smoothing = 0, #' `class_weights`. We expect labels to be provided in a `one_hot` #' representation. #' -#' According to [Lin et al., 2018](https://arxiv.org/pdf/1708.02002.pdf), it +#' According to [Lin et al., 2018](https://arxiv.org/pdf/1708.02002), it #' helps to apply a focal factor to down-weight easy examples and focus more on #' hard examples. The general formula for the focal loss (FL) #' is as follows: diff --git a/R/metrics.R b/R/metrics.R index ddcd5d861..2308f4a3c 100644 --- a/R/metrics.R +++ b/R/metrics.R @@ -3,7 +3,7 @@ #' Computes the binary focal crossentropy loss. #' #' @description -#' According to [Lin et al., 2018](https://arxiv.org/pdf/1708.02002.pdf), it +#' According to [Lin et al., 2018](https://arxiv.org/pdf/1708.02002), it #' helps to apply a focal factor to down-weight easy examples and focus more on #' hard examples. By default, the focal tensor is computed as follows: #' diff --git a/R/optimizers-schedules.R b/R/optimizers-schedules.R index 231897c25..5af2955fa 100644 --- a/R/optimizers-schedules.R +++ b/R/optimizers-schedules.R @@ -7,7 +7,7 @@ #' SGDR: Stochastic Gradient Descent with Warm Restarts. #' #' For the idea of a linear warmup of our learning rate, -#' see [Goyal et al.](https://arxiv.org/pdf/1706.02677.pdf). +#' see [Goyal et al.](https://arxiv.org/pdf/1706.02677). #' #' When we begin training a model, we often want an initial increase in our #' learning rate followed by a decay. If `warmup_target` is an int, this diff --git a/man/application_mobilenet_v3_large.Rd b/man/application_mobilenet_v3_large.Rd index daf255a34..7bc18635b 100644 --- a/man/application_mobilenet_v3_large.Rd +++ b/man/application_mobilenet_v3_large.Rd @@ -99,7 +99,7 @@ Instantiates the MobileNetV3Large architecture. } \section{Reference}{ \itemize{ -\item \href{https://arxiv.org/pdf/1905.02244.pdf}{Searching for MobileNetV3} (ICCV 2019) +\item \href{https://arxiv.org/pdf/1905.02244}{Searching for MobileNetV3} (ICCV 2019) } \subsection{The following table describes the performance of MobileNets v3:}{ diff --git a/man/application_mobilenet_v3_small.Rd b/man/application_mobilenet_v3_small.Rd index a9071052c..ec1950833 100644 --- a/man/application_mobilenet_v3_small.Rd +++ b/man/application_mobilenet_v3_small.Rd @@ -99,7 +99,7 @@ Instantiates the MobileNetV3Small architecture. } \section{Reference}{ \itemize{ -\item \href{https://arxiv.org/pdf/1905.02244.pdf}{Searching for MobileNetV3} (ICCV 2019) +\item \href{https://arxiv.org/pdf/1905.02244}{Searching for MobileNetV3} (ICCV 2019) } \subsection{The following table describes the performance of MobileNets v3:}{ diff --git a/man/layer_tfsm.Rd b/man/layer_tfsm.Rd index 816169c03..4dc8db48d 100644 --- a/man/layer_tfsm.Rd +++ b/man/layer_tfsm.Rd @@ -59,8 +59,8 @@ model |> export_savedmodel("path/to/artifact") ## Output Type: ## TensorSpec(shape=(None, 10), dtype=tf.float32, name=None) ## Captures: -## 124766388878704: TensorSpec(shape=(), dtype=tf.resource, name=None) -## 124766388873776: TensorSpec(shape=(), dtype=tf.resource, name=None) +## 130838090025264: TensorSpec(shape=(), dtype=tf.resource, name=None) +## 130838090034768: TensorSpec(shape=(), dtype=tf.resource, name=None) }\if{html}{\out{}} diff --git a/man/learning_rate_schedule_cosine_decay.Rd b/man/learning_rate_schedule_cosine_decay.Rd index 97631db30..a9211cd0d 100644 --- a/man/learning_rate_schedule_cosine_decay.Rd +++ b/man/learning_rate_schedule_cosine_decay.Rd @@ -42,7 +42,7 @@ See \href{https://arxiv.org/abs/1608.03983}{Loshchilov & Hutter, ICLR2016}, SGDR: Stochastic Gradient Descent with Warm Restarts. For the idea of a linear warmup of our learning rate, -see \href{https://arxiv.org/pdf/1706.02677.pdf}{Goyal et al.}. +see \href{https://arxiv.org/pdf/1706.02677}{Goyal et al.}. When we begin training a model, we often want an initial increase in our learning rate followed by a decay. If \code{warmup_target} is an int, this diff --git a/man/loss_binary_focal_crossentropy.Rd b/man/loss_binary_focal_crossentropy.Rd index 121470a77..57dbc83c2 100644 --- a/man/loss_binary_focal_crossentropy.Rd +++ b/man/loss_binary_focal_crossentropy.Rd @@ -27,12 +27,12 @@ loss_binary_focal_crossentropy( binary classes 0 and 1.} \item{alpha}{A weight balancing factor for class 1, default is \code{0.25} as -mentioned in reference \href{https://arxiv.org/pdf/1708.02002.pdf}{Lin et al., 2018}. The weight for class 0 is +mentioned in reference \href{https://arxiv.org/pdf/1708.02002}{Lin et al., 2018}. The weight for class 0 is \code{1.0 - alpha}.} \item{gamma}{A focusing parameter used to compute the focal factor, default is \code{2.0} as mentioned in the reference -\href{https://arxiv.org/pdf/1708.02002.pdf}{Lin et al., 2018}.} +\href{https://arxiv.org/pdf/1708.02002}{Lin et al., 2018}.} \item{from_logits}{Whether to interpret \code{y_pred} as a tensor of \href{https://en.wikipedia.org/wiki/Logit}{logit} values. By default, we @@ -60,7 +60,7 @@ Binary focal crossentropy loss value with shape = \verb{[batch_size, d0, .. dN-1]}. } \description{ -According to \href{https://arxiv.org/pdf/1708.02002.pdf}{Lin et al., 2018}, it +According to \href{https://arxiv.org/pdf/1708.02002}{Lin et al., 2018}, it helps to apply a focal factor to down-weight easy examples and focus more on hard examples. By default, the focal tensor is computed as follows: @@ -87,7 +87,7 @@ when \code{from_logits=TRUE}) or a probability (i.e, value in \verb{[0., 1.]} wh \code{from_logits=FALSE}). } -According to \href{https://arxiv.org/pdf/1708.02002.pdf}{Lin et al., 2018}, it +According to \href{https://arxiv.org/pdf/1708.02002}{Lin et al., 2018}, it helps to apply a "focal factor" to down-weight easy examples and focus more on hard examples. By default, the focal tensor is computed as follows: diff --git a/man/loss_categorical_focal_crossentropy.Rd b/man/loss_categorical_focal_crossentropy.Rd index fe05fc361..bdbfa6789 100644 --- a/man/loss_categorical_focal_crossentropy.Rd +++ b/man/loss_categorical_focal_crossentropy.Rd @@ -61,7 +61,7 @@ classes and if you want to handle class imbalance without using \code{class_weights}. We expect labels to be provided in a \code{one_hot} representation. -According to \href{https://arxiv.org/pdf/1708.02002.pdf}{Lin et al., 2018}, it +According to \href{https://arxiv.org/pdf/1708.02002}{Lin et al., 2018}, it helps to apply a focal factor to down-weight easy examples and focus more on hard examples. The general formula for the focal loss (FL) is as follows: diff --git a/man/metric_binary_focal_crossentropy.Rd b/man/metric_binary_focal_crossentropy.Rd index 20fe06b39..5670ad186 100644 --- a/man/metric_binary_focal_crossentropy.Rd +++ b/man/metric_binary_focal_crossentropy.Rd @@ -44,7 +44,7 @@ Binary focal crossentropy loss value with shape = \verb{[batch_size, d0, .. dN-1]}. } \description{ -According to \href{https://arxiv.org/pdf/1708.02002.pdf}{Lin et al., 2018}, it +According to \href{https://arxiv.org/pdf/1708.02002}{Lin et al., 2018}, it helps to apply a focal factor to down-weight easy examples and focus more on hard examples. By default, the focal tensor is computed as follows: diff --git a/vignettes/getting_started.Rmd b/vignettes/getting_started.Rmd index 65120bf0d..71e8872fb 100644 --- a/vignettes/getting_started.Rmd +++ b/vignettes/getting_started.Rmd @@ -233,7 +233,7 @@ Keras provides a vocabulary for building deep learning models that is simple, el ### Deep Learning with R Book -If you want a more comprehensive introduction to both Keras and the concepts and practice of deep learning, we recommend the [Deep Learning with R, 2nd Edition](https://rstd.io/dlwr-2e) book from Manning. This book is a collaboration between François Chollet, the creator of (Python) Keras, J.J. Allaire, who wrote the original R interface to Keras, and Tomasz Kalinowski, the maintainer of the R interface to Keras. +If you want a more comprehensive introduction to both Keras and the concepts and practice of deep learning, we recommend the [Deep Learning with R, 2nd Edition](https://www.manning.com/books/deep-learning-with-r-second-edition) book from Manning. This book is a collaboration between François Chollet, the creator of (Python) Keras, J.J. Allaire, who wrote the original R interface to Keras, and Tomasz Kalinowski, the maintainer of the R interface to Keras. The book presumes no significant knowledge of machine learning and deep learning, and goes all the way from basic theory to advanced practical applications, all using the R interface to Keras. From f91969b02c5e0e55e9d8af3dac5cfab2f796c488 Mon Sep 17 00:00:00 2001 From: Tomasz Kalinowski Date: Tue, 21 May 2024 10:15:08 -0400 Subject: [PATCH 02/11] Increment version number to 1.0.0 --- DESCRIPTION | 2 +- NEWS.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/DESCRIPTION b/DESCRIPTION index 23dc30827..b37c83ff8 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -1,7 +1,7 @@ Package: keras3 Type: Package Title: R Interface to 'Keras' -Version: 0.2.0.9000 +Version: 1.0.0 Authors@R: c( person("Tomasz", "Kalinowski", role = c("aut", "cph", "cre"), email = "tomasz@posit.co"), diff --git a/NEWS.md b/NEWS.md index b3f23133d..1c7100c6e 100644 --- a/NEWS.md +++ b/NEWS.md @@ -1,4 +1,4 @@ -# keras3 (development version) +# keras3 1.0.0 - Chains of `layer_*` calls with `|>` now instantiate layers in the same order as `%>%` pipe chains: left-hand-side first (#1440). From a0b68224a887a0b8d52f5681ef0d2969d1c2b22c Mon Sep 17 00:00:00 2001 From: Tomasz Kalinowski Date: Tue, 21 May 2024 10:16:42 -0400 Subject: [PATCH 03/11] update build tools --- tools/make-cran-pkg.R | 18 ++++++++++++++++++ tools/make-man.R | 3 +++ 2 files changed, 21 insertions(+) diff --git a/tools/make-cran-pkg.R b/tools/make-cran-pkg.R index e69de29bb..22ecb49e2 100644 --- a/tools/make-cran-pkg.R +++ b/tools/make-cran-pkg.R @@ -0,0 +1,18 @@ + +devtools::build(manual = TRUE) + +withr::with_dir("..", { + system("R CMD check --as-cran keras3_*.tar.gz") +}) + +r"( + +tools/make-man.R && \ +tools/knit-vignettes.R && \ +tools/knit-examples.R && \ +tools/make-website.R + + +tools/make-man.R && tools/make-website.R + +)" diff --git a/tools/make-man.R b/tools/make-man.R index c1bef3d80..1a3bc2bc9 100755 --- a/tools/make-man.R +++ b/tools/make-man.R @@ -41,3 +41,6 @@ cr_family <- function(rd_file) { Sys.glob("man/*.Rd") %>% walk(cr_family) # walk(itemize_family) + + +remotes::install_local(force = TRUE) \ No newline at end of file From 442bad216f6eb4cc0a28f4b675f65a2599254bea Mon Sep 17 00:00:00 2001 From: Tomasz Kalinowski Date: Tue, 21 May 2024 10:32:38 -0400 Subject: [PATCH 04/11] back to return_dict=TRUE --- R/model-training.R | 35 ++++++++++++++++++++--------------- 1 file changed, 20 insertions(+), 15 deletions(-) diff --git a/R/model-training.R b/R/model-training.R index a1d3fdb1c..c71537b8f 100644 --- a/R/model-training.R +++ b/R/model-training.R @@ -269,17 +269,20 @@ function (object, x = NULL, y = NULL, ..., batch_size = NULL, verbose = as_model_verbose_arg), ignore = "object", force = "verbose") - args[["return_dict"]] <- FALSE + + ## return_dict=TRUE because object$metrics_names returns wrong value + ## (e.g., "compile_metrics" instead of "mae") + args[["return_dict"]] <- TRUE if(inherits(args$x, "tensorflow.python.data.ops.dataset_ops.DatasetV2") && !is.null(args$batch_size)) stop("batch_size can not be specified with a TF Dataset") result <- do.call(object$evaluate, args) - if (length(result) > 1L) { - result <- as.list(result) - names(result) <- object$metrics_names - } + # if (length(result) > 1L) { ## if return_dict=FALSE + # result <- as.list(result) + # names(result) <- object$metrics_names + # } tfruns::write_run_metadata("evaluation", unlist(result)) @@ -761,11 +764,12 @@ function (object, x, y = NULL, sample_weight = NULL, ...) result <- object$test_on_batch(as_array(x), as_array(y), as_array(sample_weight), ..., - return_dict = FALSE) - if (length(result) > 1L) { - result <- as.list(result) - names(result) <- object$metrics_names - } else if (is_scalar(result)) { + return_dict = TRUE) + # if (length(result) > 1L) { + # result <- as.list(result) + # names(result) <- object$metrics_names + # } else + if (is_scalar(result)) { result <- result[[1L]] } result @@ -824,11 +828,12 @@ function (object, x, y = NULL, sample_weight = NULL, class_weight = NULL) as_array(y), as_array(sample_weight), class_weight = as_class_weight(class_weight), - return_dict = FALSE) - if (length(result) > 1L) { - result <- as.list(result) - names(result) <- object$metrics_names - } else if (is_scalar(result)) { + return_dict = TRUE) + # if (length(result) > 1L) { + # result <- as.list(result) + # names(result) <- object$metrics_names + # } else + if (is_scalar(result)) { result <- result[[1L]] } From 22b8aff11170c6de22d0953ec29b2e37a56bdbf2 Mon Sep 17 00:00:00 2001 From: Tomasz Kalinowski Date: Tue, 21 May 2024 11:14:15 -0400 Subject: [PATCH 05/11] knit guides and examples --- man/layer_tfsm.Rd | 4 +- vignettes/custom_train_step_in_tensorflow.Rmd | 37 +- .../distributed_training_with_tensorflow.Rmd | 18 +- vignettes/distribution.Rmd | 30 +- vignettes/examples/index.Rmd | 2 +- ...l_machine_translation_with_transformer.Rmd | 2 +- .../imbalanced_classification.Rmd | 100 +-- ...data_classification_with_feature_space.Rmd | 104 +-- .../timeseries_anomaly_detection.Rmd | 158 ++-- .../unnamed-chunk-10-1.png | Bin 17877 -> 17853 bytes .../unnamed-chunk-11-1.png | Bin 7077 -> 7046 bytes .../unnamed-chunk-12-1.png | Bin 31116 -> 31147 bytes .../unnamed-chunk-13-2.png | Bin 5800 -> 5677 bytes .../unnamed-chunk-14-1.png | Bin 30523 -> 30517 bytes ...timeseries_classification_from_scratch.Rmd | 704 ++++++++++++------ .../unnamed-chunk-12-1.png | Bin 57721 -> 66684 bytes .../unnamed-chunk-13-1.png | Bin 55312 -> 61201 bytes vignettes/examples/vision/autoencoder.Rmd | 258 +++---- .../vision/autoencoder/unnamed-chunk-5-1.png | Bin 54121 -> 54331 bytes .../vision/autoencoder/unnamed-chunk-7-1.png | Bin 100007 -> 99851 bytes vignettes/examples/vision/mnist_convnet.Rmd | 48 +- .../examples/vision/mnist_siamese_graph.Rmd | 72 +- .../mnist_siamese_graph/unnamed-chunk-5-1.png | Bin 31043 -> 31048 bytes .../mnist_siamese_graph/unnamed-chunk-7-1.png | Bin 8811 -> 8724 bytes .../mnist_siamese_graph/unnamed-chunk-7-2.png | Bin 10022 -> 10205 bytes .../vision/oxford_pets_image_segmentation.Rmd | 124 +-- .../unnamed-chunk-9-1.png | Bin 36929 -> 36912 bytes vignettes/functional_api.Rmd | 98 +-- vignettes/getting_started.Rmd | 38 +- .../getting_started/unnamed-chunk-12-1.png | Bin 31998 -> 30397 bytes vignettes/intro_to_keras_for_engineers.Rmd | 58 +- ..._new_layers_and_models_via_subclassing.Rmd | 74 +- vignettes/sequential_model.Rmd | 52 +- vignettes/serialization_and_saving.Rmd | 50 +- vignettes/training_with_built_in_methods.Rmd | 156 ++-- vignettes/transfer_learning.Rmd | 70 +- .../understanding_masking_and_padding.Rmd | 30 +- ...g_a_custom_training_loop_in_tensorflow.Rmd | 40 +- vignettes/writing_your_own_callbacks.Rmd | 22 +- 39 files changed, 1281 insertions(+), 1068 deletions(-) diff --git a/man/layer_tfsm.Rd b/man/layer_tfsm.Rd index 4dc8db48d..44e64ae33 100644 --- a/man/layer_tfsm.Rd +++ b/man/layer_tfsm.Rd @@ -59,8 +59,8 @@ model |> export_savedmodel("path/to/artifact") ## Output Type: ## TensorSpec(shape=(None, 10), dtype=tf.float32, name=None) ## Captures: -## 130838090025264: TensorSpec(shape=(), dtype=tf.resource, name=None) -## 130838090034768: TensorSpec(shape=(), dtype=tf.resource, name=None) +## 128255174032224: TensorSpec(shape=(), dtype=tf.resource, name=None) +## 128255174017264: TensorSpec(shape=(), dtype=tf.resource, name=None) }\if{html}{\out{}} diff --git a/vignettes/custom_train_step_in_tensorflow.Rmd b/vignettes/custom_train_step_in_tensorflow.Rmd index f07bb531a..50d637af2 100644 --- a/vignettes/custom_train_step_in_tensorflow.Rmd +++ b/vignettes/custom_train_step_in_tensorflow.Rmd @@ -42,7 +42,7 @@ Let's see how that works. ## Setup -```r +``` r library(reticulate) library(tensorflow, exclude = c("set_random_seed", "shape")) library(keras3) @@ -74,11 +74,10 @@ to update the state of the metrics that were passed in `compile()`, and we query results from `self$metrics` at the end to retrieve their current value. -```r +``` r CustomModel <- new_model_class( "CustomModel", train_step = function(data) { - # unpack data into x, y, and sample_weight c(x, y = NULL, sample_weight = NULL) %<-% data with(tf$GradientTape() %as% tape, { @@ -113,7 +112,7 @@ CustomModel <- new_model_class( Let's try this out: -```r +``` r # Construct and compile an instance of CustomModel inputs <- keras_input(shape = 32) outputs <- layer_dense(inputs, 1) @@ -128,7 +127,7 @@ model |> fit(x, y, epochs = 3) ``` ## Epoch 1/3 -## 32/32 - 1s - 23ms/step - loss: 2.9118 - mae: 1.3597 +## 32/32 - 1s - 19ms/step - loss: 2.9118 - mae: 1.3597 ## Epoch 2/3 ## 32/32 - 0s - 1ms/step - loss: 2.6026 - mae: 1.2856 ## Epoch 3/3 @@ -154,7 +153,7 @@ on any object listed here at the beginning of each `fit()` epoch or at the begin `evaluate()`. -```r +``` r CustomModel <- new_model_class( "CustomModel", initialize = function(...) { @@ -164,7 +163,6 @@ CustomModel <- new_model_class( self$loss_fn <- loss_mean_squared_error() }, train_step = function(data) { - # unpack data into x, y, and sample_weight c(x, y = NULL, sample_weight = NULL) %<-% data with(tf$GradientTape() %as% tape, { @@ -214,11 +212,11 @@ model |> fit(x, y, epochs = 3) ``` ## Epoch 1/3 -## 32/32 - 1s - 19ms/step - loss: 2.6540 - mae: 1.2901 +## 32/32 - 1s - 16ms/step - loss: 2.6540 - mae: 1.2901 ## Epoch 2/3 -## 32/32 - 0s - 2ms/step - loss: 2.4139 - mae: 1.2303 +## 32/32 - 0s - 1ms/step - loss: 2.4139 - mae: 1.2303 ## Epoch 3/3 -## 32/32 - 0s - 2ms/step - loss: 2.2080 - mae: 1.1761 +## 32/32 - 0s - 1ms/step - loss: 2.2080 - mae: 1.1761 ``` ## Supporting `sample_weight` & `class_weight` @@ -233,11 +231,10 @@ it manually if you don't rely on `compile()` for losses & metrics) - That's it. -```r +``` r CustomModel <- new_model_class( "CustomModel", train_step = function(data) { - # unpack data into x, y, and sample_weight c(x, y = NULL, sample_weight = NULL) %<-% data with(tf$GradientTape() %as% tape, { @@ -285,11 +282,11 @@ model |> fit(x, y, sample_weight = sw, epochs = 3) ``` ## Epoch 1/3 -## 32/32 - 1s - 21ms/step - loss: 0.1607 - mae: 1.3018 +## 32/32 - 1s - 18ms/step - loss: 0.1607 - mae: 1.3018 ## Epoch 2/3 ## 32/32 - 0s - 1ms/step - loss: 0.1452 - mae: 1.2999 ## Epoch 3/3 -## 32/32 - 0s - 2ms/step - loss: 0.1335 - mae: 1.2986 +## 32/32 - 0s - 1ms/step - loss: 0.1335 - mae: 1.2986 ``` ## Providing your own evaluation step @@ -298,7 +295,7 @@ What if you want to do the same for calls to `model.evaluate()`? Then you would override `test_step` in exactly the same way. Here's what it looks like: -```r +``` r CustomModel <- new_model_class( "CustomModel", test_step = function(data) { @@ -335,7 +332,7 @@ model |> evaluate(x, y) ``` ``` -## 32/32 - 0s - 9ms/step - loss: 0.0000e+00 - mae: 1.3947 +## 32/32 - 0s - 8ms/step - loss: 0.0000e+00 - mae: 1.3947 ``` ``` @@ -359,7 +356,7 @@ Let's consider: - A loss function to train the discriminator. -```r +``` r # Create the discriminator discriminator <- keras_model_sequential(name = "discriminator", input_shape = c(28, 28, 1)) |> @@ -402,7 +399,7 @@ Here's a feature-complete GAN class, overriding `compile()` to use its own signa and implementing the entire GAN algorithm in 17 lines in `train_step`: -```r +``` r GAN <- Model( classname = "GAN", @@ -480,7 +477,7 @@ GAN <- Model( Let's test-drive it: -```r +``` r batch_size <- 64 c(c(x_train, .), c(x_test, .)) %<-% dataset_mnist() all_digits <- op_concatenate(list(x_train, x_test)) @@ -510,7 +507,7 @@ gan |> fit( ``` ``` -## 100/100 - 5s - 53ms/step - d_loss: 0.0000e+00 - g_loss: 0.0000e+00 +## 100/100 - 5s - 47ms/step - d_loss: 0.0000e+00 - g_loss: 0.0000e+00 ``` The ideas behind deep learning are simple, so why should their implementation be painful? diff --git a/vignettes/distributed_training_with_tensorflow.Rmd b/vignettes/distributed_training_with_tensorflow.Rmd index 01b48c682..0ac083e4c 100644 --- a/vignettes/distributed_training_with_tensorflow.Rmd +++ b/vignettes/distributed_training_with_tensorflow.Rmd @@ -40,7 +40,7 @@ industry workflows. -```r +``` r library(keras3) library(tensorflow, exclude = c("shape", "set_random_seed")) library(tfdatasets, exclude = "shape") @@ -90,7 +90,7 @@ in a multi-device or distributed workflow. Schematically, it looks like this: -```r +``` r # Create a MirroredStrategy. strategy <- tf$distribute$MirroredStrategy() cat(sprintf('Number of devices: %d\n', strategy$num_replicas_in_sync)) @@ -113,7 +113,7 @@ with(startegy$scope(), { Here's a simple end-to-end runnable example: -```r +``` r get_compiled_model <- function() { inputs <- keras_input(shape = 784) outputs <- inputs |> @@ -173,7 +173,7 @@ cat(sprintf('Number of devices: %d\n', strategy$num_replicas_in_sync)) ## Number of devices: 2 ``` -```r +``` r # Open a strategy scope. with(strategy$scope(), { # Everything that creates variables should be under the strategy scope. @@ -193,10 +193,10 @@ with(strategy$scope(), { ``` ## Epoch 1/2 -## 782/782 - 6s - 7ms/step - loss: 3.0622 - sparse_categorical_accuracy: 0.8615 - val_loss: 1.1367 - val_sparse_categorical_accuracy: 0.9006 +## 782/782 - 5s - 7ms/step - loss: 3.0622 - sparse_categorical_accuracy: 0.8615 - val_loss: 1.1367 - val_sparse_categorical_accuracy: 0.9006 ## Epoch 2/2 ## 782/782 - 3s - 4ms/step - loss: 0.5774 - sparse_categorical_accuracy: 0.9259 - val_loss: 0.6612 - val_sparse_categorical_accuracy: 0.9210 -## 157/157 - 0s - 3ms/step - loss: 0.6729 - sparse_categorical_accuracy: 0.9150 +## 157/157 - 0s - 2ms/step - loss: 0.6729 - sparse_categorical_accuracy: 0.9150 ``` ``` @@ -218,7 +218,7 @@ training from your saved model. Here's a simple example: -```r +``` r # Prepare a directory to store all the checkpoints. checkpoint_dir <- "./ckpt" if (!dir.exists(checkpoint_dir)) { @@ -274,10 +274,10 @@ run_training(epochs = 1) ``` ``` -## 782/782 - 6s - 7ms/step - loss: 2.9519 - sparse_categorical_accuracy: 0.8655 - val_loss: 1.3110 - val_sparse_categorical_accuracy: 0.8836 +## 782/782 - 4s - 6ms/step - loss: 2.9519 - sparse_categorical_accuracy: 0.8655 - val_loss: 1.3110 - val_sparse_categorical_accuracy: 0.8836 ``` -```r +``` r # Calling the same function again will resume from where we left off run_training(epochs = 1) ``` diff --git a/vignettes/distribution.Rmd b/vignettes/distribution.Rmd index 415b960fa..c3dabfdca 100644 --- a/vignettes/distribution.Rmd +++ b/vignettes/distribution.Rmd @@ -42,7 +42,7 @@ clients, while preserving its global semantics. ## Setup -```r +``` r # This guide assumes there are 8 GPUs available for testing. If you don't have # 8 gpus available locally, you can set the following envvar to # make xla initialize the CPU as 8 devices, to enable local testing @@ -52,7 +52,7 @@ Sys.setenv("XLA_FLAGS" = "--xla_force_host_platform_device_count=8") -```r +``` r library(keras3) # The distribution API is only implemented for the JAX backend for now. @@ -79,7 +79,7 @@ You can find more detailed concept explainers in the [TensorFlow DTensor guide](https://www.tensorflow.org/guide/dtensor_overview#dtensors_model_of_distributed_tensors). -```r +``` r # Retrieve the local available gpu devices. devices <- jax$devices() # "gpu" str(devices) @@ -97,7 +97,7 @@ str(devices) ## $ :TFRT_CPU_7 ``` -```r +``` r # Define a 2x4 device mesh with data and model parallel axes mesh <- keras$distribution$DeviceMesh( shape = shape(2, 4), @@ -140,7 +140,7 @@ portion of the input data. Here is a sample usage of this class. -```r +``` r # Create DataParallel with list of devices. # As a shortcut, the devices can be skipped, # and Keras will detect all local available devices. @@ -184,14 +184,14 @@ model |> fit(dataset, epochs = 3) ``` ## Epoch 1/3 -## 8/8 - 0s - 47ms/step - loss: 1.0629 +## 8/8 - 0s - 37ms/step - loss: 1.0629 ## Epoch 2/3 -## 8/8 - 0s - 7ms/step - loss: 0.9712 +## 8/8 - 0s - 5ms/step - loss: 0.9712 ## Epoch 3/3 -## 8/8 - 0s - 7ms/step - loss: 0.9322 +## 8/8 - 0s - 5ms/step - loss: 0.9322 ``` -```r +``` r model |> evaluate(dataset) ``` @@ -235,7 +235,7 @@ multiple matches, a `ValueError` is raised. If no matches are found, `NULL` is returned. -```r +``` r mesh_2d <- keras$distribution$DeviceMesh( shape = shape(2, 4), axis_names = c("data", "model"), @@ -280,17 +280,17 @@ model |> fit(dataset, epochs = 3) ## Epoch 1/3 ## 8/8 - 0s - 29ms/step - loss: 1.0714 ## Epoch 2/3 -## 8/8 - 0s - 4ms/step - loss: 0.9744 +## 8/8 - 0s - 3ms/step - loss: 0.9744 ## Epoch 3/3 -## 8/8 - 0s - 5ms/step - loss: 0.9280 +## 8/8 - 0s - 4ms/step - loss: 0.9280 ``` -```r +``` r model |> evaluate(dataset) ``` ``` -## 8/8 - 0s - 9ms/step - loss: 0.8802 +## 8/8 - 0s - 7ms/step - loss: 0.8802 ``` ``` @@ -304,7 +304,7 @@ more data parallel or model parallel. You can do this by adjusting the shape of the mesh. And no changes are needed for any other code. -```r +``` r full_data_parallel_mesh <- keras$distribution$DeviceMesh( shape = shape(8, 1), axis_names = list("data", "model"), diff --git a/vignettes/examples/index.Rmd b/vignettes/examples/index.Rmd index 069f52d26..bd963a1b8 100644 --- a/vignettes/examples/index.Rmd +++ b/vignettes/examples/index.Rmd @@ -1,7 +1,7 @@ --- title: Keras examples output: rmarkdown::html_vignette -date: 'Last Modified: 2023-11-30; Last Rendered: 2024-05-16' +date: 'Last Modified: 2023-11-30; Last Rendered: 2024-05-21' vignette: > %\VignetteIndexEntry{Keras examples} %\VignetteEngine{knitr::rmarkdown} diff --git a/vignettes/examples/nlp/neural_machine_translation_with_transformer.Rmd b/vignettes/examples/nlp/neural_machine_translation_with_transformer.Rmd index 555c8fb8b..9c2330b77 100644 --- a/vignettes/examples/nlp/neural_machine_translation_with_transformer.Rmd +++ b/vignettes/examples/nlp/neural_machine_translation_with_transformer.Rmd @@ -583,7 +583,7 @@ transformer |> fit(train_ds, epochs = epochs, ``` ``` -## 1297/1297 - 56s - 43ms/step - accuracy: 0.7708 - loss: 1.5755 - val_accuracy: 0.7784 - val_loss: 1.3806 +## 1297/1297 - 58s - 44ms/step - accuracy: 0.7709 - loss: 1.5752 - val_accuracy: 0.7731 - val_loss: 1.4209 ``` diff --git a/vignettes/examples/structured_data/imbalanced_classification.Rmd b/vignettes/examples/structured_data/imbalanced_classification.Rmd index f15111d73..aec1198ac 100644 --- a/vignettes/examples/structured_data/imbalanced_classification.Rmd +++ b/vignettes/examples/structured_data/imbalanced_classification.Rmd @@ -14,7 +14,7 @@ vignette: > --- -```r +``` r library(keras3) use_backend("jax") ``` @@ -29,7 +29,7 @@ the link, or if you're setup with a kaggle API key at `"~/.kaggle/kagle.json"`, you can run the following: -```r +``` r reticulate::py_install("kaggle", pip = TRUE) reticulate::py_available(TRUE) # ensure 'kaggle' is on the PATH system("kaggle datasets download -d mlg-ulb/creditcardfraud") @@ -39,7 +39,7 @@ zip::unzip("creditcardfraud.zip", files = "creditcard.csv") ## First, load the data -```r +``` r library(readr) df <- read_csv("creditcard.csv", col_types = cols( Class = col_integer(), @@ -87,7 +87,7 @@ tibble::glimpse(df) ## Prepare a validation set -```r +``` r val_idx <- nrow(df) %>% sample.int(., round( . * 0.2)) val_df <- df[val_idx, ] train_df <- df[-val_idx, ] @@ -99,7 +99,7 @@ cat("Number of training samples:", nrow(train_df), "\n") ## Number of training samples: 227846 ``` -```r +``` r cat("Number of validation samples:", nrow(val_df), "\n") ``` @@ -110,7 +110,7 @@ cat("Number of validation samples:", nrow(val_df), "\n") ## Analyze class imbalance in the targets -```r +``` r counts <- table(train_df$Class) counts ``` @@ -118,19 +118,19 @@ counts ``` ## ## 0 1 -## 227463 383 +## 227450 396 ``` -```r +``` r cat(sprintf("Number of positive samples in training data: %i (%.2f%% of total)", counts["1"], 100 * counts["1"] / sum(counts))) ``` ``` -## Number of positive samples in training data: 383 (0.17% of total) +## Number of positive samples in training data: 396 (0.17% of total) ``` -```r +``` r weight_for_0 = 1 / counts["0"] weight_for_1 = 1 / counts["1"] ``` @@ -138,7 +138,7 @@ weight_for_1 = 1 / counts["1"] ## Normalize the data using training set statistics -```r +``` r feature_names <- colnames(train_df) %>% setdiff("Class") train_features <- as.matrix(train_df[feature_names]) @@ -155,7 +155,7 @@ val_features %<>% scale(center = attr(train_features, "scaled:center"), ## Build a binary classification model -```r +``` r model <- keras_model_sequential(input_shape = ncol(train_features)) |> layer_dense(256, activation = "relu") |> @@ -193,7 +193,7 @@ model ## Train the model with `class_weight` argument -```r +``` r metrics <- list( metric_false_negatives(name = "fn"), metric_false_positives(name = "fp"), @@ -227,88 +227,88 @@ model |> fit( ``` ## Epoch 1/30 -## 112/112 - 2s - 22ms/step - fn: 42.0000 - fp: 22983.0000 - loss: 2.3302e-06 - precision: 0.0146 - recall: 0.8903 - tn: 204480.0000 - tp: 341.0000 - val_fn: 12.0000 - val_fp: 536.0000 - val_loss: 0.0540 - val_precision: 0.1532 - val_recall: 0.8899 - val_tn: 56316.0000 - val_tp: 97.0000 +## 112/112 - 3s - 27ms/step - fn: 40.0000 - fp: 23705.0000 - loss: 2.2728e-06 - precision: 0.0148 - recall: 0.8990 - tn: 203745.0000 - tp: 356.0000 - val_fn: 8.0000 - val_fp: 1502.0000 - val_loss: 0.1089 - val_precision: 0.0553 - val_recall: 0.9167 - val_tn: 55363.0000 - val_tp: 88.0000 ## Epoch 2/30 -## 112/112 - 0s - 4ms/step - fn: 36.0000 - fp: 6311.0000 - loss: 1.4468e-06 - precision: 0.0521 - recall: 0.9060 - tn: 221152.0000 - tp: 347.0000 - val_fn: 9.0000 - val_fp: 1081.0000 - val_loss: 0.0956 - val_precision: 0.0847 - val_recall: 0.9174 - val_tn: 55771.0000 - val_tp: 100.0000 +## 112/112 - 1s - 6ms/step - fn: 33.0000 - fp: 8009.0000 - loss: 1.4949e-06 - precision: 0.0434 - recall: 0.9167 - tn: 219441.0000 - tp: 363.0000 - val_fn: 10.0000 - val_fp: 1176.0000 - val_loss: 0.0912 - val_precision: 0.0681 - val_recall: 0.8958 - val_tn: 55689.0000 - val_tp: 86.0000 ## Epoch 3/30 -## 112/112 - 0s - 2ms/step - fn: 27.0000 - fp: 7704.0000 - loss: 1.2139e-06 - precision: 0.0442 - recall: 0.9295 - tn: 219759.0000 - tp: 356.0000 - val_fn: 11.0000 - val_fp: 631.0000 - val_loss: 0.0443 - val_precision: 0.1344 - val_recall: 0.8991 - val_tn: 56221.0000 - val_tp: 98.0000 +## 112/112 - 0s - 2ms/step - fn: 32.0000 - fp: 7704.0000 - loss: 1.3369e-06 - precision: 0.0451 - recall: 0.9192 - tn: 219746.0000 - tp: 364.0000 - val_fn: 9.0000 - val_fp: 1202.0000 - val_loss: 0.0870 - val_precision: 0.0675 - val_recall: 0.9062 - val_tn: 55663.0000 - val_tp: 87.0000 ## Epoch 4/30 -## 112/112 - 0s - 1ms/step - fn: 26.0000 - fp: 8933.0000 - loss: 1.1396e-06 - precision: 0.0384 - recall: 0.9321 - tn: 218530.0000 - tp: 357.0000 - val_fn: 4.0000 - val_fp: 3813.0000 - val_loss: 0.1850 - val_precision: 0.0268 - val_recall: 0.9633 - val_tn: 53039.0000 - val_tp: 105.0000 +## 112/112 - 0s - 2ms/step - fn: 28.0000 - fp: 8366.0000 - loss: 1.2269e-06 - precision: 0.0421 - recall: 0.9293 - tn: 219084.0000 - tp: 368.0000 - val_fn: 10.0000 - val_fp: 1560.0000 - val_loss: 0.0967 - val_precision: 0.0522 - val_recall: 0.8958 - val_tn: 55305.0000 - val_tp: 86.0000 ## Epoch 5/30 -## 112/112 - 0s - 1ms/step - fn: 21.0000 - fp: 6451.0000 - loss: 9.1104e-07 - precision: 0.0531 - recall: 0.9452 - tn: 221012.0000 - tp: 362.0000 - val_fn: 9.0000 - val_fp: 1398.0000 - val_loss: 0.0724 - val_precision: 0.0668 - val_recall: 0.9174 - val_tn: 55454.0000 - val_tp: 100.0000 +## 112/112 - 0s - 2ms/step - fn: 19.0000 - fp: 6217.0000 - loss: 8.5492e-07 - precision: 0.0572 - recall: 0.9520 - tn: 221233.0000 - tp: 377.0000 - val_fn: 9.0000 - val_fp: 2626.0000 - val_loss: 0.1236 - val_precision: 0.0321 - val_recall: 0.9062 - val_tn: 54239.0000 - val_tp: 87.0000 ## Epoch 6/30 -## 112/112 - 0s - 1ms/step - fn: 16.0000 - fp: 5997.0000 - loss: 7.4602e-07 - precision: 0.0577 - recall: 0.9582 - tn: 221466.0000 - tp: 367.0000 - val_fn: 8.0000 - val_fp: 2379.0000 - val_loss: 0.1421 - val_precision: 0.0407 - val_recall: 0.9266 - val_tn: 54473.0000 - val_tp: 101.0000 +## 112/112 - 0s - 2ms/step - fn: 18.0000 - fp: 6566.0000 - loss: 7.4300e-07 - precision: 0.0544 - recall: 0.9545 - tn: 220884.0000 - tp: 378.0000 - val_fn: 8.0000 - val_fp: 2302.0000 - val_loss: 0.1081 - val_precision: 0.0368 - val_recall: 0.9167 - val_tn: 54563.0000 - val_tp: 88.0000 ## Epoch 7/30 -## 112/112 - 0s - 1ms/step - fn: 14.0000 - fp: 7075.0000 - loss: 7.6051e-07 - precision: 0.0496 - recall: 0.9634 - tn: 220388.0000 - tp: 369.0000 - val_fn: 10.0000 - val_fp: 888.0000 - val_loss: 0.0525 - val_precision: 0.1003 - val_recall: 0.9083 - val_tn: 55964.0000 - val_tp: 99.0000 +## 112/112 - 0s - 2ms/step - fn: 14.0000 - fp: 6819.0000 - loss: 7.1838e-07 - precision: 0.0530 - recall: 0.9646 - tn: 220631.0000 - tp: 382.0000 - val_fn: 7.0000 - val_fp: 1376.0000 - val_loss: 0.0800 - val_precision: 0.0608 - val_recall: 0.9271 - val_tn: 55489.0000 - val_tp: 89.0000 ## Epoch 8/30 -## 112/112 - 0s - 2ms/step - fn: 20.0000 - fp: 6333.0000 - loss: 8.2217e-07 - precision: 0.0542 - recall: 0.9478 - tn: 221130.0000 - tp: 363.0000 - val_fn: 6.0000 - val_fp: 3549.0000 - val_loss: 0.1391 - val_precision: 0.0282 - val_recall: 0.9450 - val_tn: 53303.0000 - val_tp: 103.0000 +## 112/112 - 0s - 2ms/step - fn: 19.0000 - fp: 7345.0000 - loss: 8.3921e-07 - precision: 0.0488 - recall: 0.9520 - tn: 220105.0000 - tp: 377.0000 - val_fn: 10.0000 - val_fp: 416.0000 - val_loss: 0.0406 - val_precision: 0.1713 - val_recall: 0.8958 - val_tn: 56449.0000 - val_tp: 86.0000 ## Epoch 9/30 -## 112/112 - 0s - 2ms/step - fn: 11.0000 - fp: 7070.0000 - loss: 8.2005e-07 - precision: 0.0500 - recall: 0.9713 - tn: 220393.0000 - tp: 372.0000 - val_fn: 11.0000 - val_fp: 1307.0000 - val_loss: 0.0807 - val_precision: 0.0698 - val_recall: 0.8991 - val_tn: 55545.0000 - val_tp: 98.0000 +## 112/112 - 0s - 2ms/step - fn: 13.0000 - fp: 6282.0000 - loss: 8.3488e-07 - precision: 0.0575 - recall: 0.9672 - tn: 221168.0000 - tp: 383.0000 - val_fn: 10.0000 - val_fp: 933.0000 - val_loss: 0.0450 - val_precision: 0.0844 - val_recall: 0.8958 - val_tn: 55932.0000 - val_tp: 86.0000 ## Epoch 10/30 -## 112/112 - 0s - 2ms/step - fn: 13.0000 - fp: 6641.0000 - loss: 7.9420e-07 - precision: 0.0528 - recall: 0.9661 - tn: 220822.0000 - tp: 370.0000 - val_fn: 8.0000 - val_fp: 1721.0000 - val_loss: 0.0840 - val_precision: 0.0554 - val_recall: 0.9266 - val_tn: 55131.0000 - val_tp: 101.0000 +## 112/112 - 0s - 2ms/step - fn: 15.0000 - fp: 7597.0000 - loss: 1.1098e-06 - precision: 0.0478 - recall: 0.9621 - tn: 219853.0000 - tp: 381.0000 - val_fn: 10.0000 - val_fp: 2417.0000 - val_loss: 0.4261 - val_precision: 0.0344 - val_recall: 0.8958 - val_tn: 54448.0000 - val_tp: 86.0000 ## Epoch 11/30 -## 112/112 - 0s - 2ms/step - fn: 13.0000 - fp: 7348.0000 - loss: 7.5710e-07 - precision: 0.0479 - recall: 0.9661 - tn: 220115.0000 - tp: 370.0000 - val_fn: 9.0000 - val_fp: 1006.0000 - val_loss: 0.0516 - val_precision: 0.0904 - val_recall: 0.9174 - val_tn: 55846.0000 - val_tp: 100.0000 +## 112/112 - 0s - 2ms/step - fn: 24.0000 - fp: 10269.0000 - loss: 1.9062e-06 - precision: 0.0350 - recall: 0.9394 - tn: 217181.0000 - tp: 372.0000 - val_fn: 9.0000 - val_fp: 1434.0000 - val_loss: 0.1261 - val_precision: 0.0572 - val_recall: 0.9062 - val_tn: 55431.0000 - val_tp: 87.0000 ## Epoch 12/30 -## 112/112 - 0s - 2ms/step - fn: 11.0000 - fp: 5095.0000 - loss: 5.2767e-07 - precision: 0.0680 - recall: 0.9713 - tn: 222368.0000 - tp: 372.0000 - val_fn: 10.0000 - val_fp: 932.0000 - val_loss: 0.0462 - val_precision: 0.0960 - val_recall: 0.9083 - val_tn: 55920.0000 - val_tp: 99.0000 +## 112/112 - 0s - 2ms/step - fn: 17.0000 - fp: 6634.0000 - loss: 1.0711e-06 - precision: 0.0540 - recall: 0.9571 - tn: 220816.0000 - tp: 379.0000 - val_fn: 8.0000 - val_fp: 2263.0000 - val_loss: 0.1654 - val_precision: 0.0374 - val_recall: 0.9167 - val_tn: 54602.0000 - val_tp: 88.0000 ## Epoch 13/30 -## 112/112 - 0s - 2ms/step - fn: 4.0000 - fp: 4173.0000 - loss: 4.2331e-07 - precision: 0.0833 - recall: 0.9896 - tn: 223290.0000 - tp: 379.0000 - val_fn: 11.0000 - val_fp: 442.0000 - val_loss: 0.0245 - val_precision: 0.1815 - val_recall: 0.8991 - val_tn: 56410.0000 - val_tp: 98.0000 +## 112/112 - 0s - 2ms/step - fn: 10.0000 - fp: 5620.0000 - loss: 5.3600e-07 - precision: 0.0643 - recall: 0.9747 - tn: 221830.0000 - tp: 386.0000 - val_fn: 12.0000 - val_fp: 914.0000 - val_loss: 0.0414 - val_precision: 0.0842 - val_recall: 0.8750 - val_tn: 55951.0000 - val_tp: 84.0000 ## Epoch 14/30 -## 112/112 - 0s - 2ms/step - fn: 9.0000 - fp: 5914.0000 - loss: 6.4355e-07 - precision: 0.0595 - recall: 0.9765 - tn: 221549.0000 - tp: 374.0000 - val_fn: 8.0000 - val_fp: 1851.0000 - val_loss: 0.0791 - val_precision: 0.0517 - val_recall: 0.9266 - val_tn: 55001.0000 - val_tp: 101.0000 +## 112/112 - 0s - 2ms/step - fn: 8.0000 - fp: 5103.0000 - loss: 5.1168e-07 - precision: 0.0707 - recall: 0.9798 - tn: 222347.0000 - tp: 388.0000 - val_fn: 11.0000 - val_fp: 1382.0000 - val_loss: 0.0660 - val_precision: 0.0579 - val_recall: 0.8854 - val_tn: 55483.0000 - val_tp: 85.0000 ## Epoch 15/30 -## 112/112 - 0s - 2ms/step - fn: 7.0000 - fp: 6205.0000 - loss: 5.7546e-07 - precision: 0.0571 - recall: 0.9817 - tn: 221258.0000 - tp: 376.0000 - val_fn: 8.0000 - val_fp: 1595.0000 - val_loss: 0.0678 - val_precision: 0.0596 - val_recall: 0.9266 - val_tn: 55257.0000 - val_tp: 101.0000 +## 112/112 - 0s - 2ms/step - fn: 7.0000 - fp: 4497.0000 - loss: 4.4632e-07 - precision: 0.0796 - recall: 0.9823 - tn: 222953.0000 - tp: 389.0000 - val_fn: 10.0000 - val_fp: 1805.0000 - val_loss: 0.0786 - val_precision: 0.0455 - val_recall: 0.8958 - val_tn: 55060.0000 - val_tp: 86.0000 ## Epoch 16/30 -## 112/112 - 0s - 2ms/step - fn: 8.0000 - fp: 6424.0000 - loss: 7.3225e-07 - precision: 0.0552 - recall: 0.9791 - tn: 221039.0000 - tp: 375.0000 - val_fn: 11.0000 - val_fp: 904.0000 - val_loss: 0.0412 - val_precision: 0.0978 - val_recall: 0.8991 - val_tn: 55948.0000 - val_tp: 98.0000 +## 112/112 - 0s - 2ms/step - fn: 5.0000 - fp: 5056.0000 - loss: 6.1038e-07 - precision: 0.0718 - recall: 0.9874 - tn: 222394.0000 - tp: 391.0000 - val_fn: 13.0000 - val_fp: 889.0000 - val_loss: 0.0676 - val_precision: 0.0854 - val_recall: 0.8646 - val_tn: 55976.0000 - val_tp: 83.0000 ## Epoch 17/30 -## 112/112 - 0s - 2ms/step - fn: 4.0000 - fp: 4041.0000 - loss: 3.7349e-07 - precision: 0.0857 - recall: 0.9896 - tn: 223422.0000 - tp: 379.0000 - val_fn: 9.0000 - val_fp: 1348.0000 - val_loss: 0.0906 - val_precision: 0.0691 - val_recall: 0.9174 - val_tn: 55504.0000 - val_tp: 100.0000 +## 112/112 - 0s - 2ms/step - fn: 3.0000 - fp: 4639.0000 - loss: 4.5763e-07 - precision: 0.0781 - recall: 0.9924 - tn: 222811.0000 - tp: 393.0000 - val_fn: 11.0000 - val_fp: 1185.0000 - val_loss: 0.0669 - val_precision: 0.0669 - val_recall: 0.8854 - val_tn: 55680.0000 - val_tp: 85.0000 ## Epoch 18/30 -## 112/112 - 0s - 2ms/step - fn: 6.0000 - fp: 5602.0000 - loss: 6.0889e-07 - precision: 0.0631 - recall: 0.9843 - tn: 221861.0000 - tp: 377.0000 - val_fn: 8.0000 - val_fp: 935.0000 - val_loss: 0.0487 - val_precision: 0.0975 - val_recall: 0.9266 - val_tn: 55917.0000 - val_tp: 101.0000 +## 112/112 - 0s - 2ms/step - fn: 4.0000 - fp: 4355.0000 - loss: 4.5299e-07 - precision: 0.0826 - recall: 0.9899 - tn: 223095.0000 - tp: 392.0000 - val_fn: 9.0000 - val_fp: 1405.0000 - val_loss: 0.0772 - val_precision: 0.0583 - val_recall: 0.9062 - val_tn: 55460.0000 - val_tp: 87.0000 ## Epoch 19/30 -## 112/112 - 0s - 2ms/step - fn: 7.0000 - fp: 5741.0000 - loss: 5.3650e-07 - precision: 0.0615 - recall: 0.9817 - tn: 221722.0000 - tp: 376.0000 - val_fn: 8.0000 - val_fp: 1279.0000 - val_loss: 0.0567 - val_precision: 0.0732 - val_recall: 0.9266 - val_tn: 55573.0000 - val_tp: 101.0000 +## 112/112 - 0s - 2ms/step - fn: 6.0000 - fp: 5779.0000 - loss: 4.8324e-07 - precision: 0.0632 - recall: 0.9848 - tn: 221671.0000 - tp: 390.0000 - val_fn: 10.0000 - val_fp: 1135.0000 - val_loss: 0.0546 - val_precision: 0.0704 - val_recall: 0.8958 - val_tn: 55730.0000 - val_tp: 86.0000 ## Epoch 20/30 -## 112/112 - 0s - 2ms/step - fn: 1.0000 - fp: 3224.0000 - loss: 2.7791e-07 - precision: 0.1059 - recall: 0.9974 - tn: 224239.0000 - tp: 382.0000 - val_fn: 11.0000 - val_fp: 705.0000 - val_loss: 0.0347 - val_precision: 0.1220 - val_recall: 0.8991 - val_tn: 56147.0000 - val_tp: 98.0000 +## 112/112 - 0s - 2ms/step - fn: 3.0000 - fp: 4748.0000 - loss: 3.7424e-07 - precision: 0.0764 - recall: 0.9924 - tn: 222702.0000 - tp: 393.0000 - val_fn: 9.0000 - val_fp: 895.0000 - val_loss: 0.0396 - val_precision: 0.0886 - val_recall: 0.9062 - val_tn: 55970.0000 - val_tp: 87.0000 ## Epoch 21/30 -## 112/112 - 0s - 2ms/step - fn: 2.0000 - fp: 3403.0000 - loss: 2.7057e-07 - precision: 0.1007 - recall: 0.9948 - tn: 224060.0000 - tp: 381.0000 - val_fn: 11.0000 - val_fp: 330.0000 - val_loss: 0.0178 - val_precision: 0.2290 - val_recall: 0.8991 - val_tn: 56522.0000 - val_tp: 98.0000 +## 112/112 - 0s - 2ms/step - fn: 3.0000 - fp: 3798.0000 - loss: 3.1417e-07 - precision: 0.0938 - recall: 0.9924 - tn: 223652.0000 - tp: 393.0000 - val_fn: 10.0000 - val_fp: 652.0000 - val_loss: 0.0309 - val_precision: 0.1165 - val_recall: 0.8958 - val_tn: 56213.0000 - val_tp: 86.0000 ## Epoch 22/30 -## 112/112 - 0s - 2ms/step - fn: 3.0000 - fp: 1904.0000 - loss: 2.0272e-07 - precision: 0.1664 - recall: 0.9922 - tn: 225559.0000 - tp: 380.0000 - val_fn: 10.0000 - val_fp: 1666.0000 - val_loss: 0.1536 - val_precision: 0.0561 - val_recall: 0.9083 - val_tn: 55186.0000 - val_tp: 99.0000 +## 112/112 - 0s - 2ms/step - fn: 0.0000e+00 - fp: 2188.0000 - loss: 1.8112e-07 - precision: 0.1533 - recall: 1.0000 - tn: 225262.0000 - tp: 396.0000 - val_fn: 10.0000 - val_fp: 427.0000 - val_loss: 0.0250 - val_precision: 0.1676 - val_recall: 0.8958 - val_tn: 56438.0000 - val_tp: 86.0000 ## Epoch 23/30 -## 112/112 - 0s - 2ms/step - fn: 11.0000 - fp: 6652.0000 - loss: 7.3955e-07 - precision: 0.0530 - recall: 0.9713 - tn: 220811.0000 - tp: 372.0000 - val_fn: 9.0000 - val_fp: 1633.0000 - val_loss: 0.0681 - val_precision: 0.0577 - val_recall: 0.9174 - val_tn: 55219.0000 - val_tp: 100.0000 +## 112/112 - 0s - 2ms/step - fn: 4.0000 - fp: 3066.0000 - loss: 3.4932e-07 - precision: 0.1134 - recall: 0.9899 - tn: 224384.0000 - tp: 392.0000 - val_fn: 11.0000 - val_fp: 1053.0000 - val_loss: 0.0494 - val_precision: 0.0747 - val_recall: 0.8854 - val_tn: 55812.0000 - val_tp: 85.0000 ## Epoch 24/30 -## 112/112 - 0s - 2ms/step - fn: 3.0000 - fp: 3458.0000 - loss: 2.8492e-07 - precision: 0.0990 - recall: 0.9922 - tn: 224005.0000 - tp: 380.0000 - val_fn: 12.0000 - val_fp: 635.0000 - val_loss: 0.0299 - val_precision: 0.1325 - val_recall: 0.8899 - val_tn: 56217.0000 - val_tp: 97.0000 +## 112/112 - 0s - 2ms/step - fn: 4.0000 - fp: 3175.0000 - loss: 5.1994e-07 - precision: 0.1099 - recall: 0.9899 - tn: 224275.0000 - tp: 392.0000 - val_fn: 11.0000 - val_fp: 1012.0000 - val_loss: 0.0997 - val_precision: 0.0775 - val_recall: 0.8854 - val_tn: 55853.0000 - val_tp: 85.0000 ## Epoch 25/30 -## 112/112 - 0s - 2ms/step - fn: 7.0000 - fp: 5581.0000 - loss: 6.4007e-07 - precision: 0.0631 - recall: 0.9817 - tn: 221882.0000 - tp: 376.0000 - val_fn: 9.0000 - val_fp: 1782.0000 - val_loss: 0.0677 - val_precision: 0.0531 - val_recall: 0.9174 - val_tn: 55070.0000 - val_tp: 100.0000 +## 112/112 - 0s - 2ms/step - fn: 7.0000 - fp: 5874.0000 - loss: 6.5862e-07 - precision: 0.0621 - recall: 0.9823 - tn: 221576.0000 - tp: 389.0000 - val_fn: 9.0000 - val_fp: 3090.0000 - val_loss: 0.1296 - val_precision: 0.0274 - val_recall: 0.9062 - val_tn: 53775.0000 - val_tp: 87.0000 ## Epoch 26/30 -## 112/112 - 0s - 2ms/step - fn: 1.0000 - fp: 3655.0000 - loss: 2.9078e-07 - precision: 0.0946 - recall: 0.9974 - tn: 223808.0000 - tp: 382.0000 - val_fn: 13.0000 - val_fp: 677.0000 - val_loss: 0.0310 - val_precision: 0.1242 - val_recall: 0.8807 - val_tn: 56175.0000 - val_tp: 96.0000 +## 112/112 - 0s - 2ms/step - fn: 6.0000 - fp: 5395.0000 - loss: 5.9253e-07 - precision: 0.0674 - recall: 0.9848 - tn: 222055.0000 - tp: 390.0000 - val_fn: 9.0000 - val_fp: 1320.0000 - val_loss: 0.0928 - val_precision: 0.0618 - val_recall: 0.9062 - val_tn: 55545.0000 - val_tp: 87.0000 ## Epoch 27/30 -## 112/112 - 0s - 2ms/step - fn: 2.0000 - fp: 3187.0000 - loss: 2.7425e-07 - precision: 0.1068 - recall: 0.9948 - tn: 224276.0000 - tp: 381.0000 - val_fn: 12.0000 - val_fp: 701.0000 - val_loss: 0.0271 - val_precision: 0.1216 - val_recall: 0.8899 - val_tn: 56151.0000 - val_tp: 97.0000 +## 112/112 - 0s - 2ms/step - fn: 4.0000 - fp: 3887.0000 - loss: 7.1278e-07 - precision: 0.0916 - recall: 0.9899 - tn: 223563.0000 - tp: 392.0000 - val_fn: 12.0000 - val_fp: 572.0000 - val_loss: 0.0352 - val_precision: 0.1280 - val_recall: 0.8750 - val_tn: 56293.0000 - val_tp: 84.0000 ## Epoch 28/30 -## 112/112 - 0s - 2ms/step - fn: 10.0000 - fp: 4659.0000 - loss: 6.8191e-07 - precision: 0.0741 - recall: 0.9739 - tn: 222804.0000 - tp: 373.0000 - val_fn: 11.0000 - val_fp: 1022.0000 - val_loss: 0.0797 - val_precision: 0.0875 - val_recall: 0.8991 - val_tn: 55830.0000 - val_tp: 98.0000 +## 112/112 - 0s - 2ms/step - fn: 3.0000 - fp: 2209.0000 - loss: 5.8153e-07 - precision: 0.1510 - recall: 0.9924 - tn: 225241.0000 - tp: 393.0000 - val_fn: 11.0000 - val_fp: 1373.0000 - val_loss: 0.0808 - val_precision: 0.0583 - val_recall: 0.8854 - val_tn: 55492.0000 - val_tp: 85.0000 ## Epoch 29/30 -## 112/112 - 0s - 2ms/step - fn: 4.0000 - fp: 4183.0000 - loss: 3.9729e-07 - precision: 0.0831 - recall: 0.9896 - tn: 223280.0000 - tp: 379.0000 - val_fn: 12.0000 - val_fp: 406.0000 - val_loss: 0.0232 - val_precision: 0.1928 - val_recall: 0.8899 - val_tn: 56446.0000 - val_tp: 97.0000 +## 112/112 - 0s - 2ms/step - fn: 1.0000 - fp: 2506.0000 - loss: 2.9031e-07 - precision: 0.1362 - recall: 0.9975 - tn: 224944.0000 - tp: 395.0000 - val_fn: 11.0000 - val_fp: 690.0000 - val_loss: 0.0401 - val_precision: 0.1097 - val_recall: 0.8854 - val_tn: 56175.0000 - val_tp: 85.0000 ## Epoch 30/30 -## 112/112 - 0s - 2ms/step - fn: 2.0000 - fp: 2432.0000 - loss: 2.3592e-07 - precision: 0.1354 - recall: 0.9948 - tn: 225031.0000 - tp: 381.0000 - val_fn: 13.0000 - val_fp: 371.0000 - val_loss: 0.0200 - val_precision: 0.2056 - val_recall: 0.8807 - val_tn: 56481.0000 - val_tp: 96.0000 +## 112/112 - 0s - 2ms/step - fn: 4.0000 - fp: 2719.0000 - loss: 6.1097e-07 - precision: 0.1260 - recall: 0.9899 - tn: 224731.0000 - tp: 392.0000 - val_fn: 13.0000 - val_fp: 861.0000 - val_loss: 0.0362 - val_precision: 0.0879 - val_recall: 0.8646 - val_tn: 56004.0000 - val_tp: 83.0000 ``` -```r +``` r val_pred <- model %>% predict(val_features) %>% { as.integer(. > 0.5) } ``` ``` -## 1781/1781 - 1s - 286us/step +## 1781/1781 - 1s - 311us/step ``` -```r +``` r pred_correct <- val_df$Class == val_pred cat(sprintf("Validation accuracy: %.2f", mean(pred_correct))) ``` ``` -## Validation accuracy: 0.99 +## Validation accuracy: 0.98 ``` -```r +``` r fraudulent <- val_df$Class == 1 n_fraudulent_detected <- sum(fraudulent & pred_correct) @@ -323,12 +323,12 @@ At the end of training, out of are: - Correctly identifying - 96 of them as + 83 of them as fraudulent - Missing 13 fraudulent transactions - At the cost of incorrectly flagging - 371 legitimate + 861 legitimate transactions In the real world, one would put an even higher weight on class 1, diff --git a/vignettes/examples/structured_data/structured_data_classification_with_feature_space.Rmd b/vignettes/examples/structured_data/structured_data_classification_with_feature_space.Rmd index 067df374b..0c5adc16a 100644 --- a/vignettes/examples/structured_data/structured_data_classification_with_feature_space.Rmd +++ b/vignettes/examples/structured_data/structured_data_classification_with_feature_space.Rmd @@ -61,7 +61,7 @@ Target | Diagnosis of heart disease (1 = true; 0 = false) | Target -```r +``` r library(readr) library(dplyr, warn.conflicts = FALSE) library(keras3) @@ -83,7 +83,7 @@ use_backend("tensorflow") Let's download the data and load it into a Pandas dataframe: -```r +``` r file_url <- "http://storage.googleapis.com/download.tensorflow.org/data/heart.csv" df <- read_csv(file_url, col_types = cols( @@ -100,7 +100,7 @@ The dataset includes 303 samples with 14 columns per sample (13 features, plus the target label) -```r +``` r glimpse(df) ``` @@ -127,7 +127,7 @@ glimpse(df) Here's a preview of a few samples: -```r +``` r df ``` @@ -156,7 +156,7 @@ has a heart disease (1) or not (0). Let's split the data into a training and validation set: -```r +``` r val_idx <- nrow(df) %>% sample.int(., . * 0.2) val_df <- df[val_idx, ] train_df <- df[-val_idx, ] @@ -174,7 +174,7 @@ cat(sprintf( Let's generate `tf_dataset` objects for each dataframe: -```r +``` r dataframe_to_dataset <- function(df) { labels <- df |> pull(target) |> as.integer() inputs <- df |> select(-target) |> as.list() @@ -193,7 +193,7 @@ Each `tf_dataset` yields a tuple `(input, target)` where `input` is a dictionary and `target` is the value `0` or `1`: -```r +``` r c(x, y) %<-% iter_next(as_iterator(train_ds)) cat("Input: "); str(x) cat("Target: "); str(y) @@ -201,26 +201,26 @@ cat("Target: "); str(y) ``` ## Input: List of 13 -## $ age : +## $ age : ## $ sex : -## $ cp : -## $ trestbps: -## $ chol : -## $ fbs : -## $ restecg : -## $ thalach : +## $ cp : +## $ trestbps: +## $ chol : +## $ fbs : +## $ restecg : +## $ thalach : ## $ exang : -## $ oldpeak : -## $ slope : -## $ ca : -## $ thal : -## Target: +## $ oldpeak : +## $ slope : +## $ ca : +## $ thal : +## Target: ``` Let's batch the datasets: -```r +``` r train_ds <- train_ds |> dataset_batch(32) val_ds <- val_ds |> dataset_batch(32) ``` @@ -228,7 +228,7 @@ val_ds <- val_ds |> dataset_batch(32) ## Configuring a `FeatureSpace` To configure how each feature should be preprocessed, -we instantiate a `layer_feature_space`, and we +we instantiate a `layer_feature_space()`, and we pass to it a dictionary (named list with unique names) that maps the name of our features to a string that describes the feature type. @@ -250,7 +250,7 @@ the co-occurence space is too large. -```r +``` r feature_space <- layer_feature_space( features = list( # Categorical features encoded as integers @@ -304,7 +304,7 @@ bins for discretizing features of type `"float_discretized"`, or the dimensionality of the hashing space for feature crossing. -```r +``` r feature_space <- layer_feature_space( features = list( # Categorical features encoded as integers @@ -354,7 +354,7 @@ Note that `adapt()` should be called on a `tf_dataset` which yields dicts (named of feature values -- no labels. -```r +``` r train_ds_with_no_labels <- train_ds |> dataset_map(\(x, y) x) feature_space |> adapt(train_ds_with_no_labels) ``` @@ -363,7 +363,7 @@ At this point, the `FeatureSpace` can be called on a dict of raw feature values, single concatenate vector for each sample, combining encoded features and feature crosses. -```r +``` r c(x, y) %<-% iter_next(as_iterator(train_ds)) preprocessed_x <- feature_space(x) preprocessed_x @@ -371,7 +371,7 @@ preprocessed_x ``` ## tf.Tensor( -## [[0. 0. 0. ... 0. 1. 0.] +## [[0. 0. 1. ... 0. 0. 0.] ## [0. 0. 0. ... 0. 0. 0.] ## [0. 0. 0. ... 0. 0. 0.] ## ... @@ -407,7 +407,7 @@ do inference with an end-to-end model that includes the `FeatureSpace`. Let's create a training and validation dataset of preprocessed batches: -```r +``` r preprocessed_train_ds <- train_ds |> dataset_map(\(x, y) list(feature_space(x), y), num_parallel_calls = tf$data$AUTOTUNE) |> @@ -427,7 +427,7 @@ Time to build a model -- or rather two models: - An inference model that expects raw features (one sample = dict of raw feature values) -```r +``` r dict_inputs <- feature_space$get_inputs() encoded_features <- feature_space$get_encoded_features() @@ -452,7 +452,7 @@ Let's train our model for 20 epochs. Note that feature preprocessing is happenin as part of the tf.data pipeline, not as part of the model. -```r +``` r training_model |> fit( preprocessed_train_ds, epochs = 20, @@ -463,45 +463,45 @@ training_model |> fit( ``` ## Epoch 1/20 -## 8/8 - 3s - 320ms/step - accuracy: 0.4564 - loss: 0.7517 - val_accuracy: 0.4833 - val_loss: 0.7192 +## 8/8 - 3s - 326ms/step - accuracy: 0.4315 - loss: 0.7427 - val_accuracy: 0.5333 - val_loss: 0.7048 ## Epoch 2/20 -## 8/8 - 0s - 13ms/step - accuracy: 0.5436 - loss: 0.6978 - val_accuracy: 0.6167 - val_loss: 0.6730 +## 8/8 - 0s - 13ms/step - accuracy: 0.5311 - loss: 0.6984 - val_accuracy: 0.6500 - val_loss: 0.6438 ## Epoch 3/20 -## 8/8 - 0s - 12ms/step - accuracy: 0.6473 - loss: 0.6429 - val_accuracy: 0.6500 - val_loss: 0.6319 +## 8/8 - 0s - 13ms/step - accuracy: 0.6473 - loss: 0.6316 - val_accuracy: 0.6833 - val_loss: 0.5937 ## Epoch 4/20 -## 8/8 - 0s - 13ms/step - accuracy: 0.6639 - loss: 0.6126 - val_accuracy: 0.6833 - val_loss: 0.5965 +## 8/8 - 0s - 13ms/step - accuracy: 0.6639 - loss: 0.6134 - val_accuracy: 0.7500 - val_loss: 0.5524 ## Epoch 5/20 -## 8/8 - 0s - 12ms/step - accuracy: 0.7137 - loss: 0.5854 - val_accuracy: 0.7167 - val_loss: 0.5653 +## 8/8 - 0s - 12ms/step - accuracy: 0.7178 - loss: 0.5820 - val_accuracy: 0.7667 - val_loss: 0.5176 ## Epoch 6/20 -## 8/8 - 0s - 13ms/step - accuracy: 0.7386 - loss: 0.5565 - val_accuracy: 0.7667 - val_loss: 0.5353 +## 8/8 - 0s - 13ms/step - accuracy: 0.7718 - loss: 0.5573 - val_accuracy: 0.7500 - val_loss: 0.4897 ## Epoch 7/20 -## 8/8 - 0s - 12ms/step - accuracy: 0.7718 - loss: 0.5237 - val_accuracy: 0.7667 - val_loss: 0.5086 +## 8/8 - 0s - 12ms/step - accuracy: 0.7718 - loss: 0.5200 - val_accuracy: 0.8167 - val_loss: 0.4640 ## Epoch 8/20 -## 8/8 - 0s - 13ms/step - accuracy: 0.7718 - loss: 0.5098 - val_accuracy: 0.8167 - val_loss: 0.4835 +## 8/8 - 0s - 14ms/step - accuracy: 0.7759 - loss: 0.5068 - val_accuracy: 0.8167 - val_loss: 0.4388 ## Epoch 9/20 -## 8/8 - 0s - 12ms/step - accuracy: 0.8091 - loss: 0.4921 - val_accuracy: 0.8500 - val_loss: 0.4621 +## 8/8 - 0s - 12ms/step - accuracy: 0.8174 - loss: 0.4724 - val_accuracy: 0.8333 - val_loss: 0.4162 ## Epoch 10/20 -## 8/8 - 0s - 13ms/step - accuracy: 0.8050 - loss: 0.4562 - val_accuracy: 0.8333 - val_loss: 0.4435 +## 8/8 - 0s - 12ms/step - accuracy: 0.8050 - loss: 0.4545 - val_accuracy: 0.8167 - val_loss: 0.3960 ## Epoch 11/20 -## 8/8 - 0s - 12ms/step - accuracy: 0.8091 - loss: 0.4398 - val_accuracy: 0.8333 - val_loss: 0.4261 +## 8/8 - 0s - 13ms/step - accuracy: 0.8091 - loss: 0.4514 - val_accuracy: 0.8500 - val_loss: 0.3786 ## Epoch 12/20 -## 8/8 - 0s - 12ms/step - accuracy: 0.8257 - loss: 0.4272 - val_accuracy: 0.8167 - val_loss: 0.4095 +## 8/8 - 0s - 12ms/step - accuracy: 0.8423 - loss: 0.4291 - val_accuracy: 0.8500 - val_loss: 0.3647 ## Epoch 13/20 -## 8/8 - 0s - 12ms/step - accuracy: 0.8050 - loss: 0.4381 - val_accuracy: 0.8333 - val_loss: 0.3949 +## 8/8 - 0s - 12ms/step - accuracy: 0.8465 - loss: 0.4028 - val_accuracy: 0.8667 - val_loss: 0.3499 ## Epoch 14/20 -## 8/8 - 0s - 12ms/step - accuracy: 0.8091 - loss: 0.4118 - val_accuracy: 0.8333 - val_loss: 0.3828 +## 8/8 - 0s - 13ms/step - accuracy: 0.8340 - loss: 0.4037 - val_accuracy: 0.8667 - val_loss: 0.3369 ## Epoch 15/20 -## 8/8 - 0s - 13ms/step - accuracy: 0.8382 - loss: 0.3797 - val_accuracy: 0.8500 - val_loss: 0.3712 +## 8/8 - 0s - 12ms/step - accuracy: 0.8548 - loss: 0.3928 - val_accuracy: 0.8667 - val_loss: 0.3289 ## Epoch 16/20 -## 8/8 - 0s - 12ms/step - accuracy: 0.8423 - loss: 0.3884 - val_accuracy: 0.8500 - val_loss: 0.3610 +## 8/8 - 0s - 12ms/step - accuracy: 0.8589 - loss: 0.3745 - val_accuracy: 0.8667 - val_loss: 0.3206 ## Epoch 17/20 -## 8/8 - 0s - 13ms/step - accuracy: 0.8548 - loss: 0.3654 - val_accuracy: 0.8500 - val_loss: 0.3511 +## 8/8 - 0s - 12ms/step - accuracy: 0.8257 - loss: 0.3820 - val_accuracy: 0.8667 - val_loss: 0.3129 ## Epoch 18/20 -## 8/8 - 0s - 12ms/step - accuracy: 0.8299 - loss: 0.3726 - val_accuracy: 0.8667 - val_loss: 0.3434 +## 8/8 - 0s - 14ms/step - accuracy: 0.8631 - loss: 0.3650 - val_accuracy: 0.8667 - val_loss: 0.3079 ## Epoch 19/20 -## 8/8 - 0s - 13ms/step - accuracy: 0.8672 - loss: 0.3472 - val_accuracy: 0.8667 - val_loss: 0.3365 +## 8/8 - 0s - 12ms/step - accuracy: 0.8382 - loss: 0.3635 - val_accuracy: 0.8667 - val_loss: 0.3024 ## Epoch 20/20 -## 8/8 - 0s - 13ms/step - accuracy: 0.8714 - loss: 0.3380 - val_accuracy: 0.8667 - val_loss: 0.3301 +## 8/8 - 0s - 13ms/step - accuracy: 0.8631 - loss: 0.3524 - val_accuracy: 0.8833 - val_loss: 0.2970 ``` We quickly get to 80% validation accuracy. @@ -512,7 +512,7 @@ Now, we can use our inference model (which includes the `FeatureSpace`) to make predictions based on dicts of raw features values, as follows: -```r +``` r sample <- list( age = 60, sex = 1, @@ -537,7 +537,7 @@ predictions <- inference_model |> predict(input_dict) ## 1/1 - 0s - 257ms/step ``` -```r +``` r glue::glue(r"---( This particular patient had a {(100 * predictions) |> signif(3)}% probability of having a heart disease, as evaluated by our model. @@ -545,6 +545,6 @@ glue::glue(r"---( ``` ``` -## This particular patient had a 48.9% probability +## This particular patient had a 49.7% probability ## of having a heart disease, as evaluated by our model. ``` diff --git a/vignettes/examples/timeseries/timeseries_anomaly_detection.Rmd b/vignettes/examples/timeseries/timeseries_anomaly_detection.Rmd index 8f420c14c..54e420323 100644 --- a/vignettes/examples/timeseries/timeseries_anomaly_detection.Rmd +++ b/vignettes/examples/timeseries/timeseries_anomaly_detection.Rmd @@ -22,7 +22,7 @@ autoencoder model to detect anomalies in timeseries data. -```r +``` r library(dplyr, warn.conflicts = FALSE) library(ggplot2) theme_set(theme_minimal()) @@ -45,7 +45,7 @@ We will use the `art_daily_small_noise.csv` file for training and the allows us to demonstrate anomaly detection. -```r +``` r get_data <- function(url_suffix) { url_root <- "https://raw.githubusercontent.com/numenta/NAB/master/data/" url <- paste0(url_root, url_suffix) @@ -62,7 +62,7 @@ df_daily_jumpsup <- get_data("artificialWithAnomaly/art_daily_jumpsup.csv") ## Quick look at the data -```r +``` r df_small_noise ``` @@ -83,7 +83,7 @@ df_small_noise ## # ℹ 4,022 more rows ``` -```r +``` r df_daily_jumpsup ``` @@ -110,7 +110,7 @@ df_daily_jumpsup We will use the following data for training. -```r +``` r plot_ts <- function(df) { ggplot(df, aes(x = timestamp, y = value)) + geom_line() + scale_x_datetime(date_breaks = "1 day", date_labels = "%b-%d") @@ -128,7 +128,7 @@ We will use the following data for testing and see if the sudden jump up in the data is detected as an anomaly. -```r +``` r plot_ts(df_daily_jumpsup) + ggtitle("With Anomaly") ``` @@ -144,7 +144,7 @@ Get data values from the training timeseries data file and normalize the - 288 * 14 = **4032 data points** in total -```r +``` r df_train <- df_small_noise |> mutate(value = (value - mean(value)) / sd(value)) @@ -161,7 +161,7 @@ Create sequences combining `TIME_STEPS` contiguous data values from the training data. -```r +``` r TIME_STEPS <- 288 as_dataset <- function(df) { @@ -187,7 +187,7 @@ output of the same shape. In this case, `sequence_length` is 288 and `num_features` is 1. -```r +``` r model <- keras_model_sequential(input_shape = c(TIME_STEPS, 1)) |> layer_conv_1d( filters = 32, kernel_size = 7, padding = "same", @@ -248,7 +248,7 @@ since this is a reconstruction model. -```r +``` r history = model |> fit( x_train, x_train, epochs = 50, @@ -263,13 +263,13 @@ history = model |> fit( ``` ## Epoch 1/50 -## 106/106 - 5s - 51ms/step - loss: 0.1863 - val_loss: 0.0316 +## 106/106 - 7s - 62ms/step - loss: 0.1863 - val_loss: 0.0316 ## Epoch 2/50 ## 106/106 - 0s - 2ms/step - loss: 0.0333 - val_loss: 0.0233 ## Epoch 3/50 ## 106/106 - 0s - 2ms/step - loss: 0.0248 - val_loss: 0.0201 ## Epoch 4/50 -## 106/106 - 0s - 2ms/step - loss: 0.0209 - val_loss: 0.0187 +## 106/106 - 0s - 2ms/step - loss: 0.0209 - val_loss: 0.0186 ## Epoch 5/50 ## 106/106 - 0s - 2ms/step - loss: 0.0179 - val_loss: 0.0146 ## Epoch 6/50 @@ -279,29 +279,29 @@ history = model |> fit( ## Epoch 8/50 ## 106/106 - 0s - 2ms/step - loss: 0.0109 - val_loss: 0.0088 ## Epoch 9/50 -## 106/106 - 0s - 2ms/step - loss: 0.0096 - val_loss: 0.0084 +## 106/106 - 0s - 3ms/step - loss: 0.0096 - val_loss: 0.0084 ## Epoch 10/50 ## 106/106 - 0s - 2ms/step - loss: 0.0086 - val_loss: 0.0069 ## Epoch 11/50 -## 106/106 - 0s - 2ms/step - loss: 0.0078 - val_loss: 0.0061 +## 106/106 - 0s - 2ms/step - loss: 0.0078 - val_loss: 0.0062 ## Epoch 12/50 -## 106/106 - 0s - 2ms/step - loss: 0.0073 - val_loss: 0.0057 +## 106/106 - 0s - 2ms/step - loss: 0.0073 - val_loss: 0.0058 ## Epoch 13/50 -## 106/106 - 0s - 2ms/step - loss: 0.0068 - val_loss: 0.0053 +## 106/106 - 0s - 2ms/step - loss: 0.0067 - val_loss: 0.0054 ## Epoch 14/50 -## 106/106 - 0s - 2ms/step - loss: 0.0064 - val_loss: 0.0050 +## 106/106 - 0s - 2ms/step - loss: 0.0063 - val_loss: 0.0051 ## Epoch 15/50 -## 106/106 - 0s - 2ms/step - loss: 0.0061 - val_loss: 0.0045 +## 106/106 - 0s - 2ms/step - loss: 0.0060 - val_loss: 0.0045 ## Epoch 16/50 ## 106/106 - 0s - 2ms/step - loss: 0.0058 - val_loss: 0.0039 ## Epoch 17/50 -## 106/106 - 0s - 2ms/step - loss: 0.0056 - val_loss: 0.0040 +## 106/106 - 0s - 2ms/step - loss: 0.0055 - val_loss: 0.0041 ## Epoch 18/50 -## 106/106 - 0s - 2ms/step - loss: 0.0053 - val_loss: 0.0035 +## 106/106 - 0s - 2ms/step - loss: 0.0052 - val_loss: 0.0036 ## Epoch 19/50 ## 106/106 - 0s - 2ms/step - loss: 0.0050 - val_loss: 0.0037 ## Epoch 20/50 -## 106/106 - 0s - 2ms/step - loss: 0.0048 - val_loss: 0.0032 +## 106/106 - 0s - 2ms/step - loss: 0.0048 - val_loss: 0.0033 ## Epoch 21/50 ## 106/106 - 0s - 2ms/step - loss: 0.0046 - val_loss: 0.0031 ## Epoch 22/50 @@ -309,33 +309,33 @@ history = model |> fit( ## Epoch 23/50 ## 106/106 - 0s - 2ms/step - loss: 0.0042 - val_loss: 0.0033 ## Epoch 24/50 -## 106/106 - 0s - 2ms/step - loss: 0.0041 - val_loss: 0.0031 +## 106/106 - 0s - 2ms/step - loss: 0.0040 - val_loss: 0.0031 ## Epoch 25/50 -## 106/106 - 0s - 2ms/step - loss: 0.0039 - val_loss: 0.0033 +## 106/106 - 0s - 2ms/step - loss: 0.0038 - val_loss: 0.0032 ## Epoch 26/50 -## 106/106 - 0s - 2ms/step - loss: 0.0037 - val_loss: 0.0031 +## 106/106 - 0s - 2ms/step - loss: 0.0036 - val_loss: 0.0031 ## Epoch 27/50 -## 106/106 - 0s - 2ms/step - loss: 0.0035 - val_loss: 0.0032 +## 106/106 - 0s - 2ms/step - loss: 0.0035 - val_loss: 0.0031 ## Epoch 28/50 -## 106/106 - 0s - 2ms/step - loss: 0.0034 - val_loss: 0.0025 +## 106/106 - 0s - 2ms/step - loss: 0.0033 - val_loss: 0.0025 ## Epoch 29/50 -## 106/106 - 0s - 2ms/step - loss: 0.0033 - val_loss: 0.0026 +## 106/106 - 0s - 2ms/step - loss: 0.0032 - val_loss: 0.0026 ## Epoch 30/50 -## 106/106 - 0s - 2ms/step - loss: 0.0032 - val_loss: 0.0028 +## 106/106 - 0s - 2ms/step - loss: 0.0031 - val_loss: 0.0029 ## Epoch 31/50 ## 106/106 - 0s - 2ms/step - loss: 0.0030 - val_loss: 0.0024 ## Epoch 32/50 -## 106/106 - 0s - 2ms/step - loss: 0.0029 - val_loss: 0.0026 +## 106/106 - 0s - 2ms/step - loss: 0.0029 - val_loss: 0.0025 ## Epoch 33/50 -## 106/106 - 0s - 2ms/step - loss: 0.0028 - val_loss: 0.0026 +## 106/106 - 0s - 2ms/step - loss: 0.0028 - val_loss: 0.0025 ## Epoch 34/50 ## 106/106 - 0s - 2ms/step - loss: 0.0027 - val_loss: 0.0022 ## Epoch 35/50 -## 106/106 - 0s - 2ms/step - loss: 0.0027 - val_loss: 0.0024 +## 106/106 - 0s - 2ms/step - loss: 0.0026 - val_loss: 0.0023 ## Epoch 36/50 -## 106/106 - 0s - 2ms/step - loss: 0.0026 - val_loss: 0.0026 +## 106/106 - 0s - 2ms/step - loss: 0.0026 - val_loss: 0.0025 ## Epoch 37/50 -## 106/106 - 0s - 2ms/step - loss: 0.0025 - val_loss: 0.0026 +## 106/106 - 0s - 2ms/step - loss: 0.0025 - val_loss: 0.0025 ## Epoch 38/50 ## 106/106 - 0s - 2ms/step - loss: 0.0025 - val_loss: 0.0023 ## Epoch 39/50 @@ -345,7 +345,7 @@ history = model |> fit( Let's plot training and validation loss to see how the training went. -```r +``` r plot(history) ``` @@ -366,7 +366,7 @@ value then we can infer that the model is seeing a pattern that it isn't familiar with. We will label this sample as an `anomaly`. -```r +``` r # Get train MAE loss. x_train_pred <- model |> predict(x_train) ``` @@ -375,7 +375,7 @@ x_train_pred <- model |> predict(x_train) ## 118/118 - 0s - 3ms/step ``` -```r +``` r train_mae_loss <- apply(abs(x_train_pred - x_train), 1, mean) hist(train_mae_loss, breaks = 50) @@ -383,14 +383,14 @@ hist(train_mae_loss, breaks = 50) ![plot of chunk unnamed-chunk-11](timeseries_anomaly_detection/unnamed-chunk-11-1.png) -```r +``` r # Get reconstruction loss threshold. threshold <- max(train_mae_loss) cat("Reconstruction error threshold: ", threshold, "\n") ``` ``` -## Reconstruction error threshold: 0.039214 +## Reconstruction error threshold: 0.03930207 ``` @@ -400,7 +400,7 @@ Just for fun, let's see how our model has recontructed the first sample. This is the 288 timesteps from day 1 of our training dataset. -```r +``` r # Checking how the first sequence is learnt plot(NULL, NULL, ylab = 'Value', xlim = c(0, TIME_STEPS), @@ -417,7 +417,7 @@ legend("topleft", lty = 1, ### Prepare test data -```r +``` r df_test <- df_daily_jumpsup |> mutate(value = (value - mean(df_small_noise$value)) / @@ -429,7 +429,7 @@ plot_ts(df_test) ![plot of chunk unnamed-chunk-13](timeseries_anomaly_detection/unnamed-chunk-13-1.png) -```r +``` r # Create sequences from test values. x_test <- as_dataset(df_test) @@ -442,7 +442,7 @@ hist(test_mae_loss, breaks = 50, xlab = "test MAE loss", ylab = "No of samples") ![plot of chunk unnamed-chunk-13](timeseries_anomaly_detection/unnamed-chunk-13-2.png) -```r +``` r # Detect all the samples which are anomalies. anomalies <- test_mae_loss > threshold cat("Number of anomaly samples:", sum(anomalies), "\n") @@ -459,43 +459,41 @@ cat("Indices of anomaly samples:", which(anomalies), "\n", fill = TRUE) ## 4 2014-04-01 00:15:00 -0.746 ## 5 2014-04-01 00:20:00 -0.792 ## 6 2014-04-01 00:25:00 -0.802 -## 118/118 - 0s - 755us/step -## Number of anomaly samples: 509 -## Indices of anomaly samples: 216 218 219 220 221 396 398 507 793 794 795 797 -## 798 799 861 974 975 1658 1659 1944 1945 1946 1947 1950 2004 2008 2012 2016 -## 2020 2022 2024 2026 2028 2036 2038 2040 2042 2044 2045 2046 2048 2050 2052 -## 2053 2054 2056 2057 2058 2060 2061 2062 2064 2065 2066 2068 2069 2070 2072 -## 2073 2074 2076 2077 2078 2080 2081 2082 2083 2084 2085 2086 2088 2089 2090 -## 2092 2093 2094 2096 2097 2098 2100 2101 2102 2104 2105 2106 2108 2109 2110 -## 2112 2113 2114 2116 2117 2118 2120 2121 2122 2124 2126 2129 2141 2521 2522 -## 2523 2525 2546 2698 2700 2702 2703 2704 2705 2706 2707 2708 2709 2710 2711 -## 2712 2713 2714 2715 2716 2717 2718 2719 2720 2721 2722 2723 2724 2725 2726 -## 2727 2728 2729 2730 2731 2732 2733 2734 2735 2736 2737 2738 2739 2740 2741 -## 2742 2743 2744 2745 2746 2747 2748 2749 2750 2751 2752 2753 2754 2755 2756 -## 2757 2758 2759 2760 2761 2762 2763 2764 2765 2766 2767 2768 2769 2770 2771 -## 2772 2773 2774 2775 2776 2777 2778 2779 2780 2781 2782 2783 2784 2785 2786 -## 2787 2788 2789 2790 2791 2792 2793 2794 2795 2796 2797 2798 2799 2800 2801 -## 2802 2803 2804 2805 2806 2807 2808 2809 2810 2811 2812 2813 2814 2815 2816 -## 2817 2818 2819 2820 2821 2822 2823 2824 2825 2826 2827 2828 2829 2830 2831 -## 2832 2833 2834 2835 2836 2837 2838 2839 2840 2841 2842 2843 2844 2845 2846 -## 2847 2848 2849 2850 2851 2852 2853 2854 2855 2856 2857 2858 2859 2860 2861 -## 2862 2863 2864 2865 2866 2867 2868 2869 2870 2871 2872 2873 2874 2875 2876 -## 2877 2878 2879 2880 2881 2882 2883 2884 2885 2886 2887 2888 2889 2890 2891 -## 2892 2893 2894 2895 2896 2897 2898 2899 2900 2901 2902 2903 2904 2905 2906 -## 2907 2908 2909 2910 2911 2912 2913 2914 2915 2916 2917 2918 2919 2920 2921 -## 2922 2923 2924 2925 2926 2927 2928 2929 2930 2931 2932 2933 2934 2935 2936 -## 2937 2938 2939 2940 2941 2942 2943 2944 2945 2946 2947 2948 2949 2950 2951 -## 2952 2953 2954 2955 2956 2957 2958 2959 2960 2961 2962 2963 2964 2965 2966 -## 2967 2968 2969 2970 2971 2972 2973 2974 2975 2976 2977 2978 2979 2980 2981 -## 2982 2983 2984 2985 2986 2987 2988 2989 2990 2991 2992 2993 2994 2995 2996 -## 2997 2998 2999 3000 3001 3002 3003 3004 3005 3006 3007 3008 3009 3010 3011 -## 3012 3013 3014 3015 3016 3017 3018 3019 3020 3021 3022 3023 3024 3025 3026 -## 3027 3028 3029 3030 3031 3032 3033 3034 3035 3036 3037 3038 3039 3040 3041 -## 3042 3043 3044 3045 3046 3047 3048 3049 3050 3051 3052 3053 3054 3055 3056 -## 3057 3058 3059 3060 3061 3062 3063 3064 3065 3066 3067 3068 3069 3070 3071 -## 3072 3073 3074 3075 3076 3077 3078 3079 3080 3081 3082 3083 3084 3085 3086 -## 3087 3088 3089 3090 3091 3092 3093 3094 3095 3096 3097 3098 3099 3100 3101 -## 3102 +## 118/118 - 0s - 763us/step +## Number of anomaly samples: 486 +## Indices of anomaly samples: 216 218 220 396 507 793 795 1659 1945 1946 1947 +## 1949 2013 2016 2017 2021 2025 2029 2033 2037 2041 2045 2046 2049 2052 2053 +## 2054 2056 2057 2058 2060 2061 2062 2064 2065 2066 2068 2069 2070 2072 2073 +## 2074 2076 2077 2078 2080 2081 2082 2084 2085 2086 2088 2089 2090 2092 2093 +## 2094 2096 2097 2098 2100 2101 2102 2105 2108 2109 2112 2113 2117 2121 2124 +## 2126 2129 2141 2145 2153 2521 2522 2523 2525 2538 2542 2546 2550 2698 2700 +## 2702 2703 2704 2705 2706 2707 2708 2709 2710 2711 2712 2713 2714 2715 2716 +## 2717 2718 2719 2720 2721 2722 2723 2724 2725 2726 2727 2728 2729 2730 2731 +## 2732 2733 2734 2735 2736 2737 2738 2739 2740 2741 2742 2743 2744 2745 2746 +## 2747 2748 2749 2750 2751 2752 2753 2754 2755 2756 2757 2758 2759 2760 2761 +## 2762 2763 2764 2765 2766 2767 2768 2769 2770 2771 2772 2773 2774 2775 2776 +## 2777 2778 2779 2780 2781 2782 2783 2784 2785 2786 2787 2788 2789 2790 2791 +## 2792 2793 2794 2795 2796 2797 2798 2799 2800 2801 2802 2803 2804 2805 2806 +## 2807 2808 2809 2810 2811 2812 2813 2814 2815 2816 2817 2818 2819 2820 2821 +## 2822 2823 2824 2825 2826 2827 2828 2829 2830 2831 2832 2833 2834 2835 2836 +## 2837 2838 2839 2840 2841 2842 2843 2844 2845 2846 2847 2848 2849 2850 2851 +## 2852 2853 2854 2855 2856 2857 2858 2859 2860 2861 2862 2863 2864 2865 2866 +## 2867 2868 2869 2870 2871 2872 2873 2874 2875 2876 2877 2878 2879 2880 2881 +## 2882 2883 2884 2885 2886 2887 2888 2889 2890 2891 2892 2893 2894 2895 2896 +## 2897 2898 2899 2900 2901 2902 2903 2904 2905 2906 2907 2908 2909 2910 2911 +## 2912 2913 2914 2915 2916 2917 2918 2919 2920 2921 2922 2923 2924 2925 2926 +## 2927 2928 2929 2930 2931 2932 2933 2934 2935 2936 2937 2938 2939 2940 2941 +## 2942 2943 2944 2945 2946 2947 2948 2949 2950 2951 2952 2953 2954 2955 2956 +## 2957 2958 2959 2960 2961 2962 2963 2964 2965 2966 2967 2968 2969 2970 2971 +## 2972 2973 2974 2975 2976 2977 2978 2979 2980 2981 2982 2983 2984 2985 2986 +## 2987 2988 2989 2990 2991 2992 2993 2994 2995 2996 2997 2998 2999 3000 3001 +## 3002 3003 3004 3005 3006 3007 3008 3009 3010 3011 3012 3013 3014 3015 3016 +## 3017 3018 3019 3020 3021 3022 3023 3024 3025 3026 3027 3028 3029 3030 3031 +## 3032 3033 3034 3035 3036 3037 3038 3039 3040 3041 3042 3043 3044 3045 3046 +## 3047 3048 3049 3050 3051 3052 3053 3054 3055 3056 3057 3058 3059 3060 3061 +## 3062 3063 3064 3065 3066 3067 3068 3069 3070 3071 3072 3073 3074 3075 3076 +## 3077 3078 3079 3080 3081 3082 3083 3084 3085 3086 3087 3088 3089 3090 3091 +## 3092 3093 3094 3095 3096 3097 3098 3099 3100 3101 ``` @@ -525,7 +523,7 @@ All except the initial and the final time_steps-1 data values, will appear in Let's overlay the anomalies on the original test data plot. -```r +``` r is_anomaly <- test_mae_loss > threshold is_anomaly <- is_anomaly & zoo::rollsum(is_anomaly, TIME_STEPS, diff --git a/vignettes/examples/timeseries/timeseries_anomaly_detection/unnamed-chunk-10-1.png b/vignettes/examples/timeseries/timeseries_anomaly_detection/unnamed-chunk-10-1.png index b09a4d2f12c42c3888c575afaec4bd4698e7b55b..2e6ffed7e75307a5c427fee4fc996879a8c98fa8 100644 GIT binary patch literal 17853 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 diff --git a/vignettes/examples/timeseries/timeseries_anomaly_detection/unnamed-chunk-11-1.png b/vignettes/examples/timeseries/timeseries_anomaly_detection/unnamed-chunk-11-1.png index a08eb6338088d6b66c2d210a06744ede43246489..4bfcae3ae3f21fb1eb83f91660bf4d610b1d0ee0 100644 GIT binary patch delta 5965 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 >;p+J43D2|DStvbh2$ZuYBH^!u?D#(?5})cHjH z3#z_sMJ320SGJ;5=2lAeOddeSe&``1;Ik=*;6zKfCvp#9smKi8uf5V>?Abxk_`*wF&w~b^W7m!^TnIgZ_m9aiZZ5`-#;^^L@yoT)<3RAt$pg zVZAOGQy&}TWgZ)S$2DUQdXvcjs{#wviW`-cvOsPL#08EglyXjdSe&?h;z^1(FSn+p z=?7h|Rp zCufK#l7ON(FavRST~7p&hPJiz05g1UaINdxY&G3Ry@8sPj@3F1ca5j2_&1Gf<^`6E zvKa?Fu0E~$>sw~n@Yj74Blf8-Q45E#N~!sRtDTix-h?H5-Pz3-B072rmk z7uLw(c88DYI;j>@7d0^y2lcwPD}xc)b!#uj+%xi+8efZ$1*DoQ-7AMpMncxE*TnqT zj~O7=69V-NQnc$vw2I*(>vGrdQ-4Mf%Z8tqj0~r@8H`dRqjHCy3@$BR19L^F?sn6v zIWCvh)g$mq)rrQIF5(de?`Pa~JI}TX{3!lFnOx}l6PN2iy>FA_d+1!JiD}1<=?AUP z4t7sy%AV$Del`4iG6!YtnH5djR0rHDeN`RI-0|dMv6z-rY=FwbBXALA|LQhfs%5q8%rk8D7P?H;+4F%Zm`ly|vF5W=8h5ybj0ghS@XA9|6RW8QJtOj(yxkG19l&=^l38{YVu2Ijp z_TD%aV)kC4W^~S&Uxfs~g?=U;2+&4u9L?$ja%o{9{?4@eR4)Q{7S5%P4B-0h+mnn2R+r4iw2PaH{js|Ik*_TY9Db|;4Z>w16-5qU2TvXf70s%@aG^Y&nLN87@giFEKM%}qYqWG5`f}Isp zZj2fY(Qc9kpRf22a{C2r$Vj=o@7Q6dQEfYRoXYhE-#sSmUO%_O_}3wWBje+07pez5 z=}Z5|DQlT|6~nH0vt0Vbi4Ds$QXZ7W(G}Zj4*iQ$}soH-kgX zhN7*0xyF{91`4^SKbbZBF#fhq;LwkqDERpdw^x}yw!x!84}Za^>2!Bd(pGs$wV06= z-*C@YN~8sioHS2*?xIc5w6?<2d5XxCeePUdEWgsmja2X`ZVTqo00&s0`)D!!vuYR@ zh<_5Q+$4^QzIbmXeVJ6;7_1p_6jjR$n9Lu_`Qg2*bc`_}@O*QA%8j(1(Gbyc6|1eg zbW$dAK&SBPn@tV%wXcOMsrB3Uhyy%0r@m6R%?EX;Q0gCR6Cgeo}ui_t2TH zV2=&G__cjRD&dmi=mst06CYq=n^;QRT)I=dWsB5oGeFn0s;mVBq@{QCfaimY(PO&b!up znOXB?z71<#Sr_lGo;YWpefGXlZH~JSxwjvhX-7tJvcdECY z*6&L5gKo1|?`g;LeV=fi!)>-2wtFcp^{Fa@solgv-~!W5F3$e^|J@svk4!aR%rs8K zTz-GOzd5HX&C7kcG9^v;Z0q0{wPVhN1ZSCz(_d8-3ev=!g zRYskDY71N)i%#v;?d|^c`p?*JFh|W#SDzkMH8nM*i(L06i)G?S6Z7v!j2}527a9u- z3$vZO1hAvPp@NCBqnTXRU<`KhgS+nYa)rEUDM~w$zw+DJ+xs6>w;+kM2HsuWk9NE8 zlSVI*Hn^>w@%*O)XMtyH~|_hmICo?gF~xY{&n6TLV|h zJJeGA*y(?be)JWN&<+=}n;D<|a+NBKVqw71#f}a^;=+^ND2yb^L2MYO%3amHH{qcHnu>XE7g5q(Vpu4QB49q~#Zb3w|({k2GdptqQq9bqi2kD~m9sjc-I`cY0tiUx? zW1r*Joj3}yW3Tp;wu74OZL6EH37csf?&HOl+Tvmw>?q-fi>d#)A2RcmX2(U}om}fC zJrVNpzbgkb+QwsUxD0&B-3F|4G8BO+_xipX@bBO7vY;WrgBzlD!yP?q8`|IBw=m=3 z=FU(oSy~DVFa-0-Jd&24ZtT02+Op&}a&@%G=d|?2q$lL*e*CFpGf4rg^irj4T5lu+ z@DUy!o~crm?uV%96&N8!=uE2KE(G4Sx?x)AQqPCKO zjhlYHuEbkKYV09#?PmJuk#x4zuE0ARF?u;QcEVBG3{{R^b2StnIpW4!&EA#$%H9Jbg<~9c`A@6B|t=4I#igZ$If;oSd9oUhXs>h&Y`buFW^c{TVZMo{o-3>wPg%HXtNbYE>_E z_`3f%Mt89i@cCn+qN0*U@G_z|EG%ru)JiT%Cyl1iqVK*`>|w7q_`yESo2u}7HTbFH z{0GU53=*O{H*u#tuDR}}R$$=6&nDB*#+DWW0)hr+`<6wSyYcKmcCgC>^b3)0Y_VrK zM)nU5=BjkLMkxkuwW;&@UDsvAZYL1G$w2jL4yGZ;hm5JUtaQG9{gK-5p0c;Jz`!L|Du9 zUb*>3(3P;|2_8&aTieu>3X3LPAy?Sf&7k>qzQKC@;d*u4)c}(C`vxnplADLewrOEA zK2i4j;Ca+kYDX`jCcCzl7B3IahyBrvH8^Xuzd&8VpfAu#zx?@zdeV7qxC>(opt>{R_4GDwao_oE60}F-)*e*`B79RGc{Yf)4|mtb zo->+_-nFT+PUnW+%T4xkHKw9q20R1}?c~93WJ%=D@?9=(Yim37x|0o=|1~Aa)mFA0#QT-kha(GmEwQUpplaHJT5gw=8yAjb*JqUbR$L zSL5N~89&|5MeV}=9S4^j%jTmH_W1)AGm%G+DS9ai0(?;?an8hjkl27L`1JgX22R4p z{*C7$^HxRID@6->MoC%O+1BHExk`OYOG^PD?+)5i+CBxTLlSe;n*ne$75z0mt)Z)1 zKDC#`fENYjPJ)^nvU+X~CK7R3>dP$Xe!Yg}-9Ph4<0K^LF@rmW&>g*H@mm@Q; z@o2Sq4A|deuyYpk*nO*{Gu#nfP!Cs>&I8=$eZTOEmZFPeHd$SrA_DPP+4NH=kn&|LLW8OxXCc$rZS~Y(J;= zTzi(6jp$vvdV2qkVyOEs(- zqb_;^S*e|NGZm^z??~Hq8|X(6Us|2puBz$kGKl^5?E+x3x>~7rZsg!~R2e`aAoZ0; zC?SUS#Kpyhp%M&_YiMe|YWvL|q5fgb&PCeZ$*HEILQU+?o1?ErKRMpgVcUtzR%a-z z1m}1CmGaw4WiUDc$V$6xW*~xENtitNYTnw|XDtjCA9}0i1bzPe2IDYyEosk`ntEzf zyLfbU_h4yh8Ppw|5%>jUqy5H({UVuU20ZkL)F=e5+2|Vpaf~~z^p?L48LNmrT(Gn( zB?5($0@lniHlv}n(Eq1e+3{8=x1{q(|0QQrUgD80M=ZkoRIu9?ek^2~rc^B9(f`Wpe zG!b6-GLdyTK})QvadlOK)KJru`a>*V^zX;R?@>zr*DE@z9QLxShd*+KR)g-2>}xxl z3ks;z*;@eOO-;?c^<5R!`~1drGje1rslA+scAXh;we;)#fW42l=Fn=r>2t8w%<^`?Q_-8mD6I1TED2TmyAHS<<3&X z;e7}S*4Nj!wk{12E!n-q?zJFBOivFdz{Sl0nH2y`YDoGBkN?%-CSk+s37ds(Cw-w= z_|&(m!@6G}?*J&m7!CWFfts3{p<(XrKAyJ0=`d4mz@MHMbvlP2AD4H~`~^rF20@Bs z;-w*pba_5zKbccOR3Yx2`5il(j_~0_nvd{^f-S;(45Vbk`3aj8OWk#TMn*=f3{bG> zhKesI&`3KvIuaPT^u!Wzh3_e(tCR~~o_7Uu2X{%7Uwkp3Q_0KWv>Xm2FybF&cLxhV zj=AK+09ZQbeo>~s>W~`7ccv(WN|HZW4CnE?N?`sstx8oorCT}iRtgboB9_R#abeEL z-|h_P1kFT!0Aa3o;Gcz+o zRQF(L-+aPDfNe13?Yb`)lM2C4cdKAID`oROT-FAYrNn?N5`4cwF;{DR;=(Wb_xJOg zvVl}4ZLkwoJ9i6XtbXM9_Tg!xEzFo^^p=yN57^WqSvP`hS6B!U^sRq`Suc#C!Gdf+ znNXFXD+lrYI5L8f5aOBnBucBAQ4Zf^2rU?#sdboZ;3SZ|; zF_u5R=#cnBxz)_5&a4k0aZaA9&d%k-b6c}I3wG4^ZxkyvQNH~OQctto`}(Y!nkJov zOvG>6fwvUN9i$t)kt@XWM%yVOtBw8-=i6fn$Dz$2vrLOLJ_J2gXjUpCHmv4<){BS> zVRLUUZ(p=(7$Vp^K2Gxo*j_uA@=sDqN0u%oH$!j?oJEKUdCa$O-@v%E8q|O~afGXR z`$ulJVABy;GF7#;0CD<)LN)36B)~f=;F-+LH^%r@mwx?{h3@3}AA^Ozr40r#c>Q}6 zn1#|jKY8+tg)gq=3JNi5<)mvfzo&YRy!3U`4zD0-V`pgeA1E z{m!Lt!?mPUSA#x@A@$FlIZ~*dVh`yDX-!7Fz_X|!&NSc_4v5t?nK4t`;k`-JL)u(4*jYZLATr^H5K(r^CVkHlmQzUkbxS7@pQ(pg)~JDnf|WSF zQ>j5;_UXUK!8LX%NNQ>-ZcJt*5@N&D9y0@j+|}4H2#NIyOFQR#m$zN>KUfK>ja8Vm zFtN-Vh|D+yGNK|ab<4Yr6t~WA6lrmqnl2ZP)*kJQkdbh#8U!u%vE`CDk2Yzd&Gr=n zvm?WLnMX>rMnNi7uFen=5_0V99EzTwohq8JvC0_Bw{=bro~o&-5$_QOY{4dF9dBX+ zX`HzJM<@iVlYa8?Ve8bVo~ixw=g%!Ib6akiAw3KzVfO>?S5M{!%!YN)deBP4Ovsz? zn6#+95uasX(kcH8K`b#1y#WQI5{Z8~cgUOK;#+7)B%miMQ--@tnio9_ejXM=vIJ+S z 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 T6qY{Wc zZ{+6}rl!obEAMWtq8jn=rp4GsGh{#4>3rWf_3I1_t+mC&ed~sU5hEq`ndvcEMKqHK z^l*fK@jDRwrU(y%VTc?>aM&*1qdCQvXE$XneiJUA@dFzdV0)qAo(CZlvnHokt+Rq zisGx;Fgq6sn%lz@u7uoBp^b)!J1tf@D$2BaDK=JWTGABg)TT{Oe>4lng4HGPtmN@{ z_|j^nayY)idF~J_y$=4HSoz|%-yx`Z!H>Q-15oSI`tqnqkDiY~`_q#&3L27D+B7dk zDTbJQ3B#$Qu1-ql8>TwgXfpVmR{~}_d;_14LUVcxPVyI>WvL@K5Yj74OJ#cN_wN3S z8njC#;K0Gc!zFxSwGT**#?Nh8qgK8JyjV0(+X^Fxqr>b);eY83RD~l&4(kCyyy}p-)1;y9IpFVqx8M#jq~+Qz>rCa?G)?Jy-hePUEZwv8v+tE##?{nU(wO1gwlNW_*j|g%nX9p1`t4M zCHa#HlQYs&7OBPnbO6K^itxPnMM+6M!7_Esn8?!?7daJxnb?K(&%vZJh*|mhDH^e1 zWp23kJF&5{qW5j2m~J-{B40RKRL`l)yr^Tg<+fe1=G>D~T|v0}z_;?{a|tccsD@6) z66+#nd`xk1;i3p-U3iwzwZaEl;=9+h$=xTCr3(14fSn)ZPXlY5rD`H%+CBH zJoJQY#FnXO!M!iVk!Pw*@eYt6>@UCgK)e{1#(_eMw#f3hM z8IHWZdOpJBd@&Gp_1=pMz=yAe_#Q2&^VRDp7G@Be=Lek0S-QKgjOLs1>gVfvG7m9Mk1^1cp&Ex`wXyngg45!AOG-R~cClO8iB>w#`^ENm zg^DQB${#me{gk}OJxN%y1-)x2EE&$;Kd>519G8X5>d$k&>{x+ZiQsMF<8ZJ<2z!GOYhDWRdBdZ<3H4I`2?ICS)^|bm7dE$vC#H@6@`rSDN2- zSU*x$yfrO{!K+V|II;zpZhX1Ia`jhHP-ht#H?Lo|#d+ov6BDY3E^i^?3=Ku*#7dtU zxQIpp0`B=JZgjR7zjHHfa(uLldCL`FTV)YXj(4Y^FI}rmgAKaUJ@wyRq2KZFqR7ZV zbubjdUj!|5)^*p-6d}f2a^jswN{t>K*;>_m%V=)oEGgLwbVc&e3L9=+j&n;(snw^T zEGCs)d4=>VPa7_@aaSM-@%hJM$R%|ZN^rR>PD8b|v*v#QnvGvMt_2EF1^I8i*>U30 zhPm@XZF?hrY9(avXlpBL+@ZvMe2m{vp_YwA^0clXv2KHLgn_iXy-zm};~wcaF4gny9Ji>UxuPC$s8I#;h5 z!0EK+>L6{{p04*THan`9Yv9JH%BwU<7YVp+My{S{*E7!_^+O>O%VRX5e>{?s3!`>H zu+=Smi?%yJE5GYecYJKoH@fe^0cKUM{Ct`)bvVC1+q~0#${tlj?*EUc-!E#ZGHgRgS42F-dB zpK8BrYq47Bit4U|CsalA@aB4Gt*Nf^n3)R(%EFDM<2BIx7P_=^tuw@wsIIP<-qL(} zJaNP5{-iY!*!A^vqe;?>gpBH6R|rPHMHhk&g@$mQQ7z}P-r|=rd?8;@B6LfLqfHge zoH6K!c?gg$>o*U^#~88(&9UBaP=Mz`H?2-n!w4YlpREoJFXZ9X-=NFCU`edkK_R3) z^r+xuK_(wIlgqpRH9Kns)UNJ76!$K`CSykl`f9 z$ai>SYa2yhkrcYFSFMM+o|`+A=h9qe1mbkO6xXr>fyh%!gqVm183Y+&#V{nDM@P_|ype!DT?czy&Xm{wk&>!f zBs<(Q)nxSDO8V_q>}YX|s$X6A*tAe{>{LvNrl&BLF=nQsGJ1eFV+UDB3(r^_Lthd~ zuG7OYG%O9e@KGL{Z`Lzsu2gWcEu1KWa!kzo+CjfMb^G;2$7Z|I7Hf?{X*hee5 zZ6}0Ss-B*f5G)7V#8E52WkL5{_yf&~d*>a7k}1eKJ4?L|4hJ&ElIBRRZ#GS|2tO?3 zk#h*-%6COBvwnhp{I;V$;_r=#)%ynzZ(-AtD4YtrtzG44*R~;X3C`*d>)dl@-K4go zm)0%gzxn0wtUpMYbgTG0tta`f&XHCFJb>z<4byt5=WZXjuVDEKX>P z(L4kdr8t_GM8!u#|J>H*&Xd)TA!bpf1zGo9`EmX_KegI}AKH=~302L(LU~1OLJOI7 z+7Ze7Z*>(`J)8g5V}PjPzKFLA4ux|}ud(-lz!$+~Y(XODrD z0sVy4m#8(0ivRPvOD0}Sw2UG<(grj_pksH}Be}h#19)e`AHJAr5fG?9mB+Z#L~W0e zTp%4t5!j-WMc+LnNlQXelFMTwN%&h84fV48&Wc1m@30`Zy%h9Y6dyMDhmN#LkGpOb z>@|$?+LnLW+LkC)#tlqqjmBy*g-L|fWjObt^u>|YDZVgA>$S--((qtDipqzB{s&u! ziLyDCQG*8hBm!Q{0ui!Qa<NX?8YTjlXwAkfx!ZxPdBlY_$E6-5dbkdyKqPos=v6?d@ zGtS)dKzoVs7Q1rpx^3AmO|wR4jo*(u&+G1VO_v#!kv7TBvk^ck zBu+Z8(x_pO+RUY-maA{qxFdrl$MFrGNvI zP=OstOV|6Q5xCI)-SUu$(H9pd=BxPNd-K07AghRDQnv_A^@L4nRm*epT~lMLmnfE3 zRM=Hj?B6_`L(yebdLZ=RVOSznQ3DQ#nM%lk1-%+d0 zOlN3RC1bAIJfqp(7ngHU^!QO|4G|i#mUy|j6=*LAe&mY$#WndBb9gGx8Sf;woRqa+-G;$6Z&G~1$tytlkIAuLEXAp zSV+3Leo+Axp8Ni3;;By#QS-Axc}?jQ$36o!2_i4PjSteoU>PttOWUQ}OaH*!Gi@vph1 zWT@ZTw~G^j9nw(hnPHsfCcQ$cx?$I$6Ndb$%)!PzFrF{%nqDUo-q8E_p&&l2J{1S| z*)U^7WJaSv7W9o)k~zf!a7C|MX$lgUEa!0FX#i+>N)^4H-gQxoHP);I62-;*xDh6L zzOZk7OEpVctMPQTn(IUvgZqkyAZZs7S7cdZ;|0)hKK)*DpC@r5JgQAFG9(L=aMN+) z)n8DOJ2=Q#yID^OExGwMQ0ga8lj(OG5jRfyQL0wY z#;nsL&2bHV4yJSF*1{>bvx_V<-&Q=i*fVeCAMqmkFx{=o@RbsFo2NjX2N)`FXJ;4A zO0Tv<;6=t;c)9;uTv*>Lc{U;;U6j8wmT7Is0$AeV6b9&bSJILCxq!>ci(ZPjV}ij? z&1r-swb4yF()zKC-DjzY1M%8Op-VXeM5~P!a>mu8?4Kskjv{$86}!8yR|fZIUJ#S) z0D7l)S*4UDLgR;`E$1mTT(=>ztg1?piO>InIt|aP&ef4Pz%O?E0u#>XcCQph2LVDX z_bOM7pH$^#{9r6mPp(iAZ+3<+PHfrCK2Y~tqHim(b#k{JU4hOqP`IbZl^pd>?v*uP zY0#b9_(zFdw{ETe4d=e+wYXkU82ZnhKU|qL+wF${6W~dt^PaY+RNQ;FYd%dt2e^-g zB;-NzLfQU7QwX#i4k5avr?I^Ji@=)GFAk*0+S+r0=i4Hy-I|x|*gYQ;l0=s7ZyJMx zJ8GOVMsW_W;(R)2-PvmubwdKKm%Zb^ti3+p&JM(gj`OA%y5^Oa}^CfjcFJgCU?rOh){eOm!#r!PThaP31`4u2K0{KLX%Gr6qnSDvf^ zXSim=2BcMW_x^@E_|Zn}sP$s;d63M00w%>PN44U>;Fqq2VX^ptbrOE-POgs7#YKaKOV1P^z%odmDmu0G{v z`)5YS$nZG_q~Q7m9(-;XmzFit#lqvVNQg1%I%;0@I$3!D-3q`?4s4tPJ&1LlZ%J3z zBhUkn^(;Sgqa;Mz=O(tZXHuRoV#J}sO;T%nqg$;-g*-h~G{}yV5ebCuJwzm{8{*^BFMy3A=nV9H|D@kP)#n(-?U zD=tcAuW3ak)5$)N`Gtm))5z(yI4x5={gnv?Y_6GeE&m^lLh`1zPt{}jrsixAMtXYo zxR1%CgBHV$lMLM-nMgQCr1}hujJgE2kjds}tMwf-g^uBVFatx%?&;48O?B#WOIhbD zP%Yiu9@P5ZjH9t()5kh-+N3hEtg$jN_4AkY0vK?Eg^K>(D8m;-L_dCNNA1 z*fU^4bfy zKtx#Lg$=)%xNTKY_I5lgmC&b<;>7D9l2jp$Iy4iKC{D+ut(;jeTY33mO8kQh($`J4 zL5ImMJ9+Mil`Z#pfrXyOdNIxqJH$M&=j}t3iYa9k^IJuZ70-xAd1pMoBhD3(=Ah5~9Yd z>WRogpPBTlwTx3ZnP27mp^X=TT?n%E##hq#2ewdLvfH&O$pb({7GR@1dLll zA~KhS`xs1jD&rUy@YVH~2?FPkly>vf9_UEh8fS5sOQRFRu}?%7PIOI?DbjXQB8O12 z3GUiBZh=xLX?PfyjO;8s(T1ZK~+U4Wj842i!&Fs;Z*CkMZPEY0*B;y3QG=MT4 zrgR6Sh`<-JH*uio9B2f$;~yLO-*HK>6E;ShtrBu2ew_H5t9;{na=Kw)%YX$E9@>L7wnAYU=@)I@ z97jR~E{n7xlWkvecm3Z}j9@oQarl<0O4OblVQlLt#I)5XMK(4yZ9it>Cs9*njJtth z23xkL%Hf>@VyJi#WkMh1i9Sb$WIFB3>-Dg&w>cN@8(T|pKkJ$T${dw%rj5b|6#Q*s-+AR}$ zC0CA(bF9RvJ;hfhEy{Ghct3fz`vS=xS72CarFr-@a0fHq%7Q6E_{Qj*+yNc2fEoVwPlLQrH zU%*eJUN3n(!m$}@{u&XUBfMv`wt=+woY4H=;x#vGnesom6uI)rcwCl>jBJ^21TL^k zQqfU-0=oS8#iOOf*B;BBC$LV3=!mHnFAP1iEOaq1 zs(7+Mg-m9Sy$mmSx~&cL5(>FtjxY%a9+GGM>tEkLpQK6uneB{?b#l%?8mC^%fZIWh zg~h{naIl}Ga&UQz5p<)V*9CM*u$gD>&!FN0&jsrT{Xj&uIS2YBgwTq@!f8NRK_Hge z>8`U?o5@I_RD@_r9kD1q0cjij(ztZ6_z331{KA!jNK;)+qdKPf75>x&EjVI=g| zqhoiZZ0+0&_-CMO#;Sa4az+4~VnS58B;baGLaC$MbYkT)13|}i0JL(x>BP#*C#evl zAt7)L62|osa{c>s5zs-YN+C8i5@JV9Z>d44?YIX3SzPq??Qs9=ArpKAD$i1Oe$+Y? z!~(EFCRRT5H2?K<@Q62`g2Z727E`%r?a2bTJlZQ6hSW8~ZL`D)?eYLmZ z(l%BBHTO6TUGTHdD2P^;lCX9MdvyXU?&4IA5+}7E6>wm?s0a6>I`wwKGt_DbuHh$n)&d zNSUrFLez(kApl5KzD`8GbQXiR=F%$o`hO0Qh+I-6u=%Y3C%{`J^;1)A-^`_q9|8>&q{t#T;1?LVc# zsBmbIyj$hYjW7aiNnR1Hg`;5s_wb-&U=v;L@I6Q1L;nHyD+wq3eKa^Vg7_f?ofV;U z!CSPT&}C)7D*qfe3^?s`?tb9C+Cb1M0QvhF5f}_sd@#C?%GQA?qws9xoc}vKC+LO6W)a3K91=ctyU$yugHSb6Yyz8c zRUDis4sF0xF#7=iN`H%pOTRdKFFRPpMQKWXqwI>dwtIh@U;N-l{-5~*r_bpp9)S6%<4G2EuUky)tl=4b$dq0BZv7j_0{|vZLooj zS>cMpqlxOjGo&)N)l)r(ogj-E+1!W~@eQEkb^aZ{;rcCTE&(xogZ&2ef9^a()+Cmw z{@ce9M9!@L*a+eWa8SbBf{ovuCXFGzhJ))J=}R90{#)SxiQN5rx&eg5&3e_e$$Mub zY$u0@qW~TDlQCMsW$?HDb@M%HnnMt$EX;Olv%NXn0_HWqSO5bZ%oF79;{DE*jt09d zOV391ZQCr#L476{<(q$~v1&T4~JwIDQ?ek`1q zNF&8?CT5$3On1xPt2BkO)NW^+Kx?c56&@Em{f=WlTQ&55c@7eDt;(6ErlzxvVuf^| zn*`P>V^Hx3*u#DG!E!x(4X2n93v=lJcZsX(DZ=s>pcn^6RbZW-A~6DvSAdgd2uiR45p>{r{Rekoo(T8t zQE`>Wx!?x^Ub^>kbRa^5t8yE&!n`oRPyuXnkv5=70PL>ar~M=Y2SM-Oydj=PuhXk; z_Crn{`Y-p;WU{~v>0MNEiP=h9dXKiS{++s?EGHc#iy%UK6jRCe9B9M8Xgms95uyWK4UD0wT1Mgcf$x-P4oJ8$#_6^wxCngoA=amFd^}Nd8rjJ)onTQ$F&0odP4{Dn>>JE;Be@a z*x7XJsc(FM|JL|+5@BW|?~vheXqDKX4z0x$9wuzKe`IpeX&*h~e-4sfEJ%2t2iVb4w@0=B z5F7~LW2t_l>UQEA7X*pvtW3V12L#U7t&Vh$@s>>D_Ofrq&`AMQ6 zAge22kD%230#f%g)hxF3*D`VU``X>0O?ehyr{e(pZ{Yg}Je^3861qS4AX})I=`ti{ z9BRE0l|SEd>wU%NLTcSGFDN7g1HqtVF@8KtZ*?Ym^N1~lFBzJU+g0Q6j%re4^z!mj zzs2blQYi4~-&}%?Gy{SYFzbP@J1{&Zd67_x036R2F_vLI0re!$Zs^C-V`l6`ybfUo zXu({k7X8vGAjaM7vV`+RJ%A0%NHnsQEFG9c@Vx^KE^FU_jv07K1FstLd9udTs@Z|I~@Gh~rl3w48 z2Lp-AUh*XWJK->M3MzXr<;k%MqQG`>eK_9$?4$7mp+m-S&w;X~iVFN+k1>$8ScCZk zQNS2HP@CJ4ln*|^I8P-4403$I_!RsA>PCVddUEjTuru=uXDS&_&4ImT#J9c+Cyoy6O-Xy#c zmVYC_9nhNYu>Aw&cCbsLjpG1l1(V*Znp3}oo%DYX1;y~yZ#-b`wi5% z)C4{M_gs%z9qAI8$&zU+ZtQdLSZJU=YyswLV5rLX+b;(OYaij2nVHK`uJP%)xmCY| zYJo38U%w<%M@h0vdcjJ;&Giw>sS>5Ju`%Kg(vK5nb|D%6;g2fB(4e*YkQk&+o6tUoJk^d7ale zkK=v3kN06zZ4Y+_m{b3K^bwyVS_QCu)!-7<0qn$c@29jTtc7n@mCN(n2+8xsPnVJ> z6PLz9k9_CZ_lMCY-di65bTfn0!B%r@%pf@O+-r?X8-A-0ZWHouYw^h*UW=0L#J2%Y z^c|Ps*YDpy0n!7A2#8XY-*ar(?Sd@2%%1`LZ{dN#+br+kz?tJ-@O`XqSjFVi6Ha~k;$9;8n5!`a6&^A&pFhpfu^ls@ z%3u%=>>Y2o9R1wx>2n@x+-dX(C6ejI$MVmJnh*MORYr;M7bX8XHmg-I(QCBLUIm)g zjtC+dm-N6Z*Q9A${{0?s(`xjpT0b@eGgd-^wjwVdQ*aFR{5;Qp|HvUg8A88AgP|jr zkZ{>x87Gw+ItjlFb`Q$iR%l`}BhHt|OM1N&DZ{-QwgJ zJIVRI9^Uzb_wVg9!SJ~x|84C5eihWLr3r0|1VY=}u>wL5!>>0AlZlvMl=5XAnp-I3 zd1qVjRVRE&YHu~mV}g#Y)8;G5<;_bH%H-9|?_$84UUde9U1u1z`}HSK>qtqSv7syC zAF{Kv ze_ePf z_pF|D{RaGik!Q?Z6L%|`PLdECo1KemvobHn=fUL{DeH{z(z3G3jgHn_Q5IrgXl-wo zOzdlG zD~Nk7azkH7#{zyHJb2zXp@JICgY9-j;u!CMG>|@5U!UCXcUbpq!K+}YxML7a~c$>tMl>w@28(dUOymh z8`X1N(;*{!YZZo0&J_@Zb>VNQOJYBX4q#0n>cE5c`MeIg4!t^D6n zsEv5vJw012QISXmlA-s|zKkU^J{{rg?ED%I8dh7eQK-P}gLhodhqVq+&=go$dqpir zDPS>=ilf7d)a1W?+t<{D0FPYCf^oWzrNPThAcb)6CyJD>Z)1EsIU=R>`DFpe=bl*C zqP(O3%-#<)1uf0Wswyrnu3$3G`44GQx_hJfy2{GR7#J8j`FirzmHByc6B9VqPVelp z^LYL(yH;}kb!U(VC{9bbWZZ*d4>Kz(IT_jeq@=!|(R06qi z;ye)S#z)zgVH_ezkXd&S!u)u zcI1=I@25xG1Q+|dcQdpuKYy5_`&~~Q8$^9jq%<@JAy5Bcf4{1#id7@|o~h|9mXTuK z;|I{{9W=C{-d+_K5hkXGpJN!*SmU}EAq!$+V&WsW^2qpjULG$tp?<8=($yR5c)qa- zJSKI_u}X+JoW8WQv@l?hqotvt0WQ{BP%+bJJ2NpX+U|+(-Cx;Fjg|xsdVL%3y zv$HcFA0OB{Oe>%2>Z(VK6;#rBi1&bb3HgtPT>6fV+d#lYN5IS3+uvvYaMi2+aywEb zr=;lW=->jUx~S;0FgG_hm7x9VrYQR12G+}XBG?DmGF-WE{x!C=w?AwNKr!K(mirKHYrC3|FemTg-J;~>{lvd64lu*ShHF=m7t!Nra@^h3Occ*Fh&HAb8NnuRJW8%R^i#MGxcE zz0e*CCu^__L!`pP$_dw%K>|WTE8c4~zN!$(bI)pwsI06^O*Q4|4%hks+Y*ER(XH~% zvy%1jjs~xTbdl%;ZUpGk0{P1(KuH&zX7;@Fq^pH?R-5d|I$|&^bViMy-D*uj$V2 z1%xhgHPf0N^^sR_CUq}5-${n3JZR7zwZa-S43-PLX~pcJ=itC7YBZ~zZu$kb(^V#g zrRC+$jt)@gf&Of)u7btYKQdCe;jzh(EyYZ1&&O1&`{gStx52-+D6;+4<8XsyqNV+O z-4B+fn$oMqK{u_ku~)skNNF`MpJ50kxq#gJgL8$e>wLsGQN0Q--NPfgtsQ4kZM4F{ zbvTNTm@v`{N;Q}Fmf>zAb5ZJVZEf{!)(-ZmO5dGV<0+;D%yB;WEu=Xu}q_T=3^OFhG1vP5|r{4e~(-3|~32g1;- zl9IpsYa^iQ))YqKMgbdsj#}0q>`8{zMv$%Ll^3T0vbZJBi1XzTEP-I_d z#Agb`-~`Ux`miKtOJC(ubeFBuI9)CvK^~(4h3>^fbKF z0{MQ@ipBRq1Ld+IGk3uvV;n!fk$Xi4oCcIW7medoOAXGzPhKC;6n?Os?e0;}0 zlbpOPmjUkxkBr>1Scr*e2iE2MUiXis{@nO%PRWCINYSsWQN?@RK@80Upj;038 z?}K-AXWplKLuN+c{MW&OGtjRndEw*#=a(bKaiA2Uo7?ieTt6p=lyz^e2qlBI)AE+9 ziwoDyn<(ag-*OgiPahwwY6IkoXq_%o{G4q>q{fHm#e8i?M$t7i9GW0i%KKMTJ|wD- zH*LM@UcAH|O^g=+b=#S)9hu=J=P@-lF;Um(?&@j+eLbuzw42*1OB%`~uF}%dj(x?b zwY9YmyCMu5z1$QOx={MceKsO&$JqvDjX99)9HZVb_VPNZ?C7vV=PL{9 zNUpUZdEAaU(cLgTO(Q_*sS+C(r>mtk{IcNSh|l@RWI%X`j-G4^BnEo;NU@-j2@BFKheYHEE_vn7CucB_(ZW8TDBoux%HdpEB?gp`s#E9B*}Y-EU+g z32LlK1KSPwU>|0xzPm(-B)oJN6-1=-cAn$p8?9^z;kZ#TdD_a}vhQdw$5 zBBq<3IqzjFJG@E}cI_G;Pb^-Y`4<*Jso=A1piqe8h2PN4jk%cz za4hV$_&I)3M&d<*S+y{5;7MS=55j8c}hPI*ivWlM$ zG4g9?)`40OKQOQ=N5`*kB8QhRmiQ`)j|5^(N@`tY`^%Y5l6&u0g06NsNOUR3v9d5T zKRsugyW{P?@}rYSqN6L&ep=Dl`FLw8XLomNRL3TtFEneyCGhNMCC$~y>qUsV`hA%P zjdfnSSRaN=u2NBn4z&G9GOGF9F>&$toCtS04N}auC^mLx)#0|f!=WO`#=}$UCUi%d z2$TgoJvPQglM;eMLx&P?ZvdW)lsS!aY1#xcTth*jttXDxDb+s8K22IF zNEKvft8P%zAaVie z2_^VlpMF?OP!-y?wXbw^{rqSfyLarf*WdqZe;;<@;6qG=`(1rep0%OH57?lf&6t#w z6b%|K@83_B%zoN!L_upxyTixDg^zq483E;n9#$89{rJX4aYPHW7jAIYIL-O( zVs8Ajy7L6#Hbs{om{9TZx$e6A!&_bbQCJuY3yY%~Ys~pK78X^f8OrxbMxUJMNGZ%F z%iG&VtNi=+o{F?CJQ2$q-8wjcXD@vY;;`knoaC68r|w%Py`%d;g@DsbGgYjow-*%w zMUts$W6x7TgviFmw*3VPGBhe6DUxVxv^G)MiLULx$NI9<0;DuaQKe(Tv#Fz)>04%p zwTS7OS@>P8H3)0leL+&JB2Ftq>yz_h7XZH>)njh6X++qr*$=%J`Ix;-?ER(ptt9`o zwvPw=NT9}_A`6Rvl?)fg(lRJo%rsjv@dkl_lwilLPv$2{lxKE$$uYQST zQcMgDZrNXp5)=gKulE8ruS-jLc7Cd-9L?HQS94qEZ;jd7!UVRbeWWf>^7Qm%Gbo~; zo{=^Y7Zw&~VZi{qL%Qr?zAC;T3;jIi3(}8pS!Z5ruIS-vo8iD${mu5zRyu``{)>{eyka? z+i5P1Y-nik!^iCGUH|@T;WDNJ9?sV*62qLFb|ycEkLKzRHxxx(t<3dEJ)f$ps-8|x zpLtrbR;ly@9>3&y{0#%IqK7t+(_ns9{PW<8l_4{#Fk|*d7EQiMoTL(FjrRfNo-Qi7 zed7iZB`yhDTmSnqt4KSS-$0b*IX)2)^T~rg8M;<(s`ON1UC}r_ZmerU!y+syETU#7 zmGC_g;OEy3Z4DsfbWchWb($&gJlVIze7HSb8!I6Z6-|pGC2gEc8N%qZkBtcY-aF`y z!U)LCkfplM&5sAlhYl7xEwjE!qc9N#A`$icf=Qetk8Pv?itX+TIRz|O$10LDwRdKzJB zYC#az_(zXHzlF9C5XcC5@gj=yHiv*fRc-Bczg_}(5ZU|rO+k(b{Y%I4I&O%_RP~x!vxaFk8uI7RXtJA* z-=O%G=YC$6xvGlFkHtllbmkk%nWa~ZYA8Q^7!u+?_3Dey@z@z;zY%L<+dnYyXnW4- zcl#Cd2PpdbS%fPHpdpmy(KUxw^yQSnEsAwgADT~Jo`*|&Zf5j<1Rz=|m*mZ!J=HI7a3i?#0P zsCgUui|WIXKhF>%Z1f4;4}{T?>Jt7<2fdV3RCjqyzFwC!wS5pvMPcwJ24Q98^_MVi zCd8v?t97M|e-{l&6SbbM)($rjy}9~#Hjm_o`q7cB6R+HGJcQTRckK$@YfinMA)))t zv_F2RaGMYd3*UX8Fgo3&&VB2r%iWY@^Rs8Tp=jY0Q$%t;K4;*?Wa8qLUhMb}4h}-_ zjV+okZLV}~$8`nd47XxvS%j4`BdH6Tp zC*}j+3XA;>y240^@$d>#O;hr1+2ToH(*g9$aUe%8Udm%=yI9A=lnQn1=XsV7t;Lo$Hv=#4p44y7f?r~XFQk5 zk~W{`y88`u(=ls5iO~o~JaIX>Fg7(w(KRsvV^rO<7B@)x%dnQNc7AC-O2EnFeS*7p z7mK(m=3&wL|NVj2r70<`gx#Nvb9l(>%qV^{QYEJ?2#eSDO=|+*>%$V4M=7F5cFH|z z7#J4`?`>vk;}T*J#LfR=K#;#aCbo5DkCT&=$E>N}oL6A7-Xc_sE^B11pL?10`R>f}+4wk-gqdi3CiiO{d|Ia{0*+(m}3(eb!FMJFTsvr%ejW3x+3TeZ9Bkgek~T%yE$;xd?wFfpya zxq%>5g8eHli;Ii$&d&3Ti+4>45i3v6`*vdiQuA-$=bw*gW)377h={D4G+@gxkdgwU3AcjC6xub`DtcN z_=vYv|FzY5sf)d#if@HRr8j+sQa@Vo*-vJRcvbzHZOr}itgetVFHg#t8XYsRNy7C@ zCS64(14pk8V}4$qwTcR{dSbSTz5)@tECbxW*PKMGXo81a$KVv7To%1~`868Wl zs2SSZ6J;e2vJW;;>o-v!_;GTw`RfTo5& zPTIY?JB*|X4GY2qB~XLF`G*`pykH?;yLRoV-8)&Os62y`fQ*I0y#q{qtwong$y58X zw`9SgXeoql_QKU$Ua2kQNp7+i-NqJ38jv%qq3>*dZJqaW$?Z zH8w#(`Uf0ns9y^@5GRY|(2}C#zo<(x+6F^g%jfLbRnL@qGf8!at?c+d+hP;LCNU-Y zYp>(bkT;`xw_Q>uC*K5NMH+JbnY++4EZQ8^gKGrmxIE*z=PHpFJAzbKE8usJ$q`7x2H^ASt*P*kHdQ~r)V}z;xFKcULVu2dHIIRb>28;xk;XX7 z0lsB3IJs0M%wU25B!w>h$NQO&h>Z?l!)zg{Aa4aG%7EQ?>cNiYn|CDWyQ7m{Bl~OM z3B!%(U~79a(W}znD=JO&bz}UB;eFb&N)iS6#wy&{m!EqXu^Gb${GKc-M8xS1PE_8w ze?JHOC;|Ssw{@k3s(N>Cr-)s5bkZb}dwTIV2he7PuC5F@$W)!Y!OHr(_2U}DyB{q(U%A^3O`VP(Z1jzMwbj%6s*xhHwGdnHKqXBi zXFAJt^Jc7;61jI~&Vlv$$;R{N4oywHLz*C*xAgRUb0UdNy$%*sY5uY0fo&kY4v6m> zOCi!k6ck)arWH%u4W1WV_p9b6YJo!`!?CsGq(UTD5g#vi_z)*BMujRc(A~?c*UIwI zqpke|mi~cv^>wf0GC`mD^z?LPY3XUx{oq+{YI06#Ma7oo>i1?Tv9U#kNzT8SrHT0T z^=-KH^`AXcY4$^xUIJZIhhh4PdzsbMWd*NZMzdXUMwcc+m3~$1z#TcJWu!_JEWohv zI)g!)D8H$RLeP;pJiFBR`ohY%Rrqa#5@uVw@bwKks_SnbTPYab`$a2mtIH}%Kfl^d zM}l77*Q;_eqFGF_+ur6^R<1lY!h{~^`}glRcXx_VdGR zckjMQT;JL8hhh;zdBPSwuUP;taH@Er!TvD3Ha$I{fyJ!fVy3hRP^7i&vW1SYNnzo9 zPW@~CCpY$Yt{|Hay94=e9fJ1lk3YM@aco1F=_RHF2&qsFidgC+6B^mWRZ-$dOm}x= zcxhhCb%VUHYSeQ2lb72;#bUQ7IeCT7yZ(W&^z@S;EZD1vmV=Yo%&6sU^MK>B2U^-F zNKSdVx`INnff|j_pgR386oig$csw-CFA#@B>QIY=r_|4=Mi4yG{fO%XLQb})Cy90S zl?8<%VyRp6txuhtOrJc-ZxlBi>*)!TB^ti98vAD@4Pc1Izvn0|*8A294;Zr2Tc*3a zAO7q&4PKlJDH?rVATG6WN{%Wl}_>UdOc`{$Af%&C@m8xkj4Z zY>Bh;oe!}#uI92GWv2|1Ca2KOe-n)ERT$;?x;6t0 z`|l}YF6zO3TQHs;dpAq*g`ZzMr-5yn*qXLsJ{9@l53#z3PYEJ@Cg@8e@Sp88;v-{c z#}%lcFZ(z|hMh~zz~I9dYX~mou^Z>ZdS5{Vx3=L6`q=BEi&)#TU`N2_L?T*^2CX!O? zCoUW+Y=O=xVOpBYT9L=jC28idp-)c|QC%$&X~j$)ly6gCXz{6Dl};i%ywg@h#8_4J z?Z}7LFWS{rR!g6QA=fMdKj>%<3yH)b`AUG#PWlRxHcVXke;pG<(_XD;Ok3LABuE#v zCdw;tC%s6Iq*5Fmvvs~B($s`#mE_#Dx0K7!vi~_$!^u6Cd^?;=A?u4H6_qMDtco^c z=Z8kyFRv~!CZV8pL`EJA3{<y@I#4ND(V?2_I%~g z{4m4IR~*PSwZ9%Vwx}&HCn___hyY>2i57bHg>gcKgMgrzR$`P!v|9a_goFfWfD@5p zM$=IccPM!r`9(z$1YuD<^F|9;AI^w+da|YZ4qrtD|NM+=dd3bX(0Lwt`rvcb_pi4? zH<_L6?Nh~*u<@pH3f7mGSvaLKw65VRJb3T`@EjC+cJ@_&(3!R~2#3WK{QkXJpKpLe z8Jk)juYf(ZWRuN6;&W5e4>Z&TVq%Dtya|nfz*j<=-l_5+Kv@gT1U^=sHGOj{&+Lgy zddIVZ+^M48225;obQGt&{PD^l24Za;Ane*SJm%-$ii)fXIZ!&Eix71bUVO#`2Rtq= z?&NeQGnOf108w*rXexIO3dKUowzj&5t@Q^7D?*6FX$SC6HcJh?|JAg zRx88si7tSBYF5xfEEaxzy{MT>KUj>tEik`Px-cs~lBIaJ#}^MlI&yRI$qTb?uW2Tv zU+mvV)4)Pr#l`u$S1S}&9{~67z)f%T8fJTEI~syHl#j4bsa=8NlIYN~z9?N=UQ;P8}w=!UY4<;B`+=aZz`CBv{nL@2(|7m@!L`eAf+B| zZWxH7VmAQa+1bn#6z|3rxHTI`d-~6}k^H79$LM0Z@18=|7)UV|a<02#bO3a+g zS4m;t*qBCT&5l^L`{-D%thnb)=!^ zL}Zqt|JQF@y_C$vVbSqpnhXr3+`WUJU*5WX&L%KAG{gf4k>G_BO$w)}=~l^BdDCBA zhpoXHb|UQ6r(O^-w;u!~AH*eb0zdg2yO^8Lug5doa>_I)<>Opbb%7w}=Z#+IU65IA z#Fwbc!R)X;u(iJKHcg1jlGgL)`xIJ0&-d~*(pQUpCL<6R*68A{zM$}{(R zR%OEK-EGTOR5U+!(?zHLTe{=GJO6hOTn7>MXvx2Mg@sT~Mdk1?jyB@@-egJ07gJOJ z?^6&9b05Q^+nlbg%+9tPJerGpoL{Vdx)c}i(QZmCJ!pAhx3SW-UfqO_E)AmF5VOYj zUd9zb0^;MNK0K~0cU~#~C~K6ocf1n+_pkrjM(MpWDP3JxIo0vT{^1N+I&rV1;kT3u zt2FW(^YXS5m5;9^-6`j^1K>!Tj^C=IPuzi-3M;he{FKh+4#XUsW?GgbC?9>54zC{U zRVnx|e&|Nc1LFTllKxG$g?K)|>17dKSY5qFM&@>~Y$Qvj&BJnL`jzSCPbmC#q{Mq+ zHNws9e{seyO~e@c8CU|`euc0)GBX3INoEU~iIugqw3L*TlE}AUGMJc{L@yjYJ!|Xh z>uYL&%2D4V?C9ut_3BlV2}gJLLr4>uG}(ueZxCLvpZ-+de)UUjZAUXD*TAxiue$np ziSdLsO8LEh%UiW3+dR_P9}BaymvWNmP1yi5m6U9rk-y=8VUm#gx0ESXi5YOpw(-MT z?$V{z31(t)`wq@fm`UGTX@ZN<}s=}^N-zj^#_O%Hghhel3qDll)^@a8I z@!TeL&Wj4LvxUsQ6<$*Kh-79)3d0Pq12F)8$HluO>;d`UKmWr0$KU(^`f}-}cUVY# z{1}idDagnUcA8R?lex&lMg37Kf6wn7Q&Lj?j*`*FMn^q}uTka@&eww?KzgEnJvBO4 z!{iXD4!hBt}dk;9vP(!J1Uq@me6WD|d z!9+UrmqbNu1`Hq%{y)9!eVYI#xt`ve4K|NJ1@At`_ziJVTnsx|%nSAVS-@}LxI3%O zjyo-M^1@|?yK~uPmr(3_QRG;epe1&owY~i)5PLl6ai!Twb=XNEKMneX8r=;EPJh^6 z&gL5b=R==-zww+%2KxrlC9^UZgibEGmjACWA1U|a;NY~sAmHcay;orw29aiuJHHp! z)|74dJbzodN~B3X>U}djtmUc5OlM_f1q)b=HoAKe2OU-B*j9m=c;=I{ zEF5C(3o)*f#V9QK@dkE5TD>XRd3i5;EEN=MV2_&Vv z@Tc){At51(H>Fl^hNnvS7C@jQX~dC$UHN0feX8EtIJH!-YQXIgX##eK zkL)WNZI&R+>V`58WvD8x1}2+)McH?wzBoFtuS78@s_Yhsf*>UnKGblnHKvTr4R#v5 zF5&YBDvkB59c+xlkvs-a??9Cinu^g)mHIf~YM0(C{{hT9$myrOZA;326t!#Xz`hm5 zz@zfT0-TS*{(j~U!qkLG1Nv>_@sLmtG^Oa|+>td{o_Ft(+2zhqYE9Z|52na56RRii zN`sUs3rk49YNLjC2UctL$b-hx)h(HNp&YHAU3j5v6BNunMl4NR|tK)j=+MT#(# z>8*;#_Vn7uMxW)aax0keoMLjA7Z4%gArFUG9QRw5e?n2{EVKWe80Fclp%Wzwi_Gxw z@Q{#BfGFXKhW6O#vNB$Xw*Eao#lpk{xHy*oZJ8CsH15yQkHV~IeyqwTV3}493<{c} zCW9<4>_;Wf`UC|3AK5omu$t z!v%_gjFT6ZmJ0Fmt_D3LlDR;=WL5vCXR9W0@$rJN_aGS)0^g8r(cRGzvj<~q)6~=yp?|9qN%-}cIpxIgJqn$ZA z37=<%h7(YvqQ-s#6@lsa3k3*)A($Nd z*eLV2t%Bdk!B>DPRh1PLK$bk*o>8@O^!L92YaB(${%)NO}Bl5E>-hYP_Ee^fO zK8DR%ALpJulm4M!g@YC>;h=;5bmsA_`|QD+?PU8y`{%9uwXV89M(mz*|C1QqFCtKp zz>+|FgfS$$@-i8la?*Er;HF0_!uCy!-E_P}_ORioOgd??T5NkqLL6;4n9FCOFNN)o zz&Eg`oft?+N>Vrj;0N<3|NjsFU#`JN_A^ZRsM-C6c3eis#!1p2%c?n=vWGTzIL%U-^zCa+muBrQc_eL?q}~1T3I@nZ|� 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
    Z{q%4??isu&9^-#gS#<5C!Yo^uuB=-3es?nX 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 diff --git a/vignettes/examples/timeseries/timeseries_anomaly_detection/unnamed-chunk-14-1.png b/vignettes/examples/timeseries/timeseries_anomaly_detection/unnamed-chunk-14-1.png index c8572f66c853a17a005406c9229427b07e24b0cd..61609bdd6248bbc13613fcc48c860cf03c73fc43 100644 GIT binary patch literal 30517 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 literal 30523 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 diff --git a/vignettes/examples/timeseries/timeseries_classification_from_scratch.Rmd b/vignettes/examples/timeseries/timeseries_classification_from_scratch.Rmd index a9e99330b..81356545d 100644 --- a/vignettes/examples/timeseries/timeseries_classification_from_scratch.Rmd +++ b/vignettes/examples/timeseries/timeseries_classification_from_scratch.Rmd @@ -22,7 +22,7 @@ CSV timeseries files on disk. We demonstrate the workflow on the FordA dataset f ## Setup -```r +``` r library(keras3) use_backend("jax") ``` @@ -48,7 +48,7 @@ In this file, the first column corresponds to the label. -```r +``` r get_data <- function(path) { if(path |> startsWith("https://")) path <- get_file(origin = path) # cache file locally @@ -91,7 +91,7 @@ str(keras3:::named_list( Here we visualize one timeseries example for each class in the dataset. -```r +``` r plot(NULL, main = "Timeseries Data", xlab = "Timepoints", ylab = "Values", xlim = c(1, ncol(x_test)), @@ -123,7 +123,7 @@ This will allow us to construct a model that is easily applicable to multivariat series. -```r +``` r dim(x_train) <- c(dim(x_train), 1) dim(x_test) <- c(dim(x_test), 1) ``` @@ -133,7 +133,7 @@ Finally, in order to use `sparse_categorical_crossentropy`, we will have to coun the number of classes beforehand. -```r +``` r num_classes <- length(unique(y_train)) ``` @@ -142,7 +142,7 @@ Now we shuffle the training set because we will be using the `validation_split` later when training. -```r +``` r c(x_train, y_train) %<-% listarrays::shuffle_rows(x_train, y_train) # idx <- sample.int(nrow(x_train)) # x_train %<>% .[idx,, ,drop = FALSE] @@ -154,7 +154,7 @@ Standardize the labels to positive integers. The expected labels will then be 0 and 1. -```r +``` r y_train[y_train == -1L] <- 0L y_test[y_test == -1L] <- 0L ``` @@ -170,7 +170,7 @@ The following hyperparameters (kernel_size, filters, the usage of BatchNorm) wer via random search using [KerasTuner](https://github.com/keras-team/keras-tuner). -```r +``` r make_model <- function(input_shape) { inputs <- keras_input(input_shape) @@ -199,7 +199,7 @@ model <- make_model(input_shape = dim(x_train)[-1]) ``` -```r +``` r model ``` @@ -241,7 +241,7 @@ model ##  Non-trainable params: 384 (1.50 KB) ``` -```r +``` r plot(model, show_shapes = TRUE) ``` @@ -255,7 +255,7 @@ plot(model, show_shapes = TRUE) ## Train the model -```r +``` r epochs <- 500 batch_size <- 32 @@ -292,473 +292,693 @@ history <- model |> fit( ``` ## Epoch 1/500 -## 90/90 - 2s - 26ms/step - loss: 0.5577 - sparse_categorical_accuracy: 0.7066 - val_loss: 0.8512 - val_sparse_categorical_accuracy: 0.4896 - learning_rate: 0.0010 +## 90/90 - 2s - 24ms/step - loss: 0.5557 - sparse_categorical_accuracy: 0.7073 - val_loss: 0.8517 - val_sparse_categorical_accuracy: 0.4896 - learning_rate: 0.0010 ## Epoch 2/500 -## 90/90 - 1s - 7ms/step - loss: 0.4871 - sparse_categorical_accuracy: 0.7649 - val_loss: 0.9151 - val_sparse_categorical_accuracy: 0.4896 - learning_rate: 0.0010 +## 90/90 - 1s - 6ms/step - loss: 0.4850 - sparse_categorical_accuracy: 0.7611 - val_loss: 0.9464 - val_sparse_categorical_accuracy: 0.4896 - learning_rate: 0.0010 ## Epoch 3/500 -## 90/90 - 0s - 2ms/step - loss: 0.4678 - sparse_categorical_accuracy: 0.7663 - val_loss: 0.7265 - val_sparse_categorical_accuracy: 0.4910 - learning_rate: 0.0010 +## 90/90 - 0s - 2ms/step - loss: 0.4713 - sparse_categorical_accuracy: 0.7705 - val_loss: 0.7593 - val_sparse_categorical_accuracy: 0.4896 - learning_rate: 0.0010 ## Epoch 4/500 -## 90/90 - 0s - 2ms/step - loss: 0.4174 - sparse_categorical_accuracy: 0.7941 - val_loss: 0.6591 - val_sparse_categorical_accuracy: 0.5534 - learning_rate: 0.0010 +## 90/90 - 0s - 2ms/step - loss: 0.4239 - sparse_categorical_accuracy: 0.7885 - val_loss: 0.6721 - val_sparse_categorical_accuracy: 0.5021 - learning_rate: 0.0010 ## Epoch 5/500 -## 90/90 - 0s - 2ms/step - loss: 0.4289 - sparse_categorical_accuracy: 0.7826 - val_loss: 0.5279 - val_sparse_categorical_accuracy: 0.6741 - learning_rate: 0.0010 +## 90/90 - 0s - 2ms/step - loss: 0.4218 - sparse_categorical_accuracy: 0.7885 - val_loss: 0.5647 - val_sparse_categorical_accuracy: 0.7198 - learning_rate: 0.0010 ## Epoch 6/500 -## 90/90 - 0s - 2ms/step - loss: 0.4058 - sparse_categorical_accuracy: 0.8035 - val_loss: 0.4469 - val_sparse_categorical_accuracy: 0.8086 - learning_rate: 0.0010 +## 90/90 - 0s - 2ms/step - loss: 0.4060 - sparse_categorical_accuracy: 0.8028 - val_loss: 0.4563 - val_sparse_categorical_accuracy: 0.8141 - learning_rate: 0.0010 ## Epoch 7/500 -## 90/90 - 0s - 2ms/step - loss: 0.4005 - sparse_categorical_accuracy: 0.8042 - val_loss: 0.4278 - val_sparse_categorical_accuracy: 0.7448 - learning_rate: 0.0010 +## 90/90 - 0s - 2ms/step - loss: 0.4032 - sparse_categorical_accuracy: 0.8017 - val_loss: 0.4209 - val_sparse_categorical_accuracy: 0.7892 - learning_rate: 0.0010 ## Epoch 8/500 -## 90/90 - 0s - 2ms/step - loss: 0.3904 - sparse_categorical_accuracy: 0.8049 - val_loss: 0.3824 - val_sparse_categorical_accuracy: 0.8128 - learning_rate: 0.0010 +## 90/90 - 0s - 2ms/step - loss: 0.3920 - sparse_categorical_accuracy: 0.8003 - val_loss: 0.3938 - val_sparse_categorical_accuracy: 0.8239 - learning_rate: 0.0010 ## Epoch 9/500 -## 90/90 - 0s - 1ms/step - loss: 0.3830 - sparse_categorical_accuracy: 0.8188 - val_loss: 0.4006 - val_sparse_categorical_accuracy: 0.8100 - learning_rate: 0.0010 +## 90/90 - 0s - 2ms/step - loss: 0.3892 - sparse_categorical_accuracy: 0.8135 - val_loss: 0.3849 - val_sparse_categorical_accuracy: 0.8225 - learning_rate: 0.0010 ## Epoch 10/500 -## 90/90 - 0s - 1ms/step - loss: 0.3845 - sparse_categorical_accuracy: 0.8080 - val_loss: 0.4014 - val_sparse_categorical_accuracy: 0.8114 - learning_rate: 0.0010 +## 90/90 - 0s - 2ms/step - loss: 0.3874 - sparse_categorical_accuracy: 0.8021 - val_loss: 0.4934 - val_sparse_categorical_accuracy: 0.7503 - learning_rate: 0.0010 ## Epoch 11/500 -## 90/90 - 0s - 2ms/step - loss: 0.3804 - sparse_categorical_accuracy: 0.8167 - val_loss: 0.3738 - val_sparse_categorical_accuracy: 0.8017 - learning_rate: 0.0010 +## 90/90 - 0s - 1ms/step - loss: 0.3798 - sparse_categorical_accuracy: 0.8149 - val_loss: 0.5693 - val_sparse_categorical_accuracy: 0.6990 - learning_rate: 0.0010 ## Epoch 12/500 -## 90/90 - 0s - 1ms/step - loss: 0.3695 - sparse_categorical_accuracy: 0.8226 - val_loss: 0.4010 - val_sparse_categorical_accuracy: 0.7989 - learning_rate: 0.0010 +## 90/90 - 0s - 1ms/step - loss: 0.3671 - sparse_categorical_accuracy: 0.8215 - val_loss: 0.3998 - val_sparse_categorical_accuracy: 0.8086 - learning_rate: 0.0010 ## Epoch 13/500 -## 90/90 - 0s - 1ms/step - loss: 0.3598 - sparse_categorical_accuracy: 0.8313 - val_loss: 0.3742 - val_sparse_categorical_accuracy: 0.8128 - learning_rate: 0.0010 +## 90/90 - 0s - 1ms/step - loss: 0.3555 - sparse_categorical_accuracy: 0.8389 - val_loss: 0.4145 - val_sparse_categorical_accuracy: 0.8031 - learning_rate: 0.0010 ## Epoch 14/500 -## 90/90 - 0s - 1ms/step - loss: 0.3604 - sparse_categorical_accuracy: 0.8250 - val_loss: 0.3839 - val_sparse_categorical_accuracy: 0.8225 - learning_rate: 0.0010 +## 90/90 - 0s - 1ms/step - loss: 0.3628 - sparse_categorical_accuracy: 0.8253 - val_loss: 0.3886 - val_sparse_categorical_accuracy: 0.8211 - learning_rate: 0.0010 ## Epoch 15/500 -## 90/90 - 0s - 1ms/step - loss: 0.3436 - sparse_categorical_accuracy: 0.8417 - val_loss: 0.3815 - val_sparse_categorical_accuracy: 0.8225 - learning_rate: 0.0010 +## 90/90 - 0s - 1ms/step - loss: 0.3433 - sparse_categorical_accuracy: 0.8406 - val_loss: 0.7763 - val_sparse_categorical_accuracy: 0.6019 - learning_rate: 0.0010 ## Epoch 16/500 -## 90/90 - 0s - 2ms/step - loss: 0.3441 - sparse_categorical_accuracy: 0.8444 - val_loss: 0.3387 - val_sparse_categorical_accuracy: 0.8433 - learning_rate: 0.0010 +## 90/90 - 0s - 2ms/step - loss: 0.3455 - sparse_categorical_accuracy: 0.8434 - val_loss: 0.3537 - val_sparse_categorical_accuracy: 0.8419 - learning_rate: 0.0010 ## Epoch 17/500 -## 90/90 - 0s - 2ms/step - loss: 0.3327 - sparse_categorical_accuracy: 0.8427 - val_loss: 0.3360 - val_sparse_categorical_accuracy: 0.8433 - learning_rate: 0.0010 +## 90/90 - 0s - 1ms/step - loss: 0.3336 - sparse_categorical_accuracy: 0.8462 - val_loss: 0.5375 - val_sparse_categorical_accuracy: 0.7074 - learning_rate: 0.0010 ## Epoch 18/500 -## 90/90 - 0s - 1ms/step - loss: 0.3296 - sparse_categorical_accuracy: 0.8493 - val_loss: 0.5619 - val_sparse_categorical_accuracy: 0.7074 - learning_rate: 0.0010 +## 90/90 - 0s - 1ms/step - loss: 0.3263 - sparse_categorical_accuracy: 0.8503 - val_loss: 0.4134 - val_sparse_categorical_accuracy: 0.7892 - learning_rate: 0.0010 ## Epoch 19/500 -## 90/90 - 0s - 1ms/step - loss: 0.3222 - sparse_categorical_accuracy: 0.8608 - val_loss: 0.3951 - val_sparse_categorical_accuracy: 0.8128 - learning_rate: 0.0010 +## 90/90 - 0s - 2ms/step - loss: 0.3195 - sparse_categorical_accuracy: 0.8601 - val_loss: 0.3432 - val_sparse_categorical_accuracy: 0.8433 - learning_rate: 0.0010 ## Epoch 20/500 -## 90/90 - 0s - 1ms/step - loss: 0.3195 - sparse_categorical_accuracy: 0.8590 - val_loss: 0.5172 - val_sparse_categorical_accuracy: 0.7226 - learning_rate: 0.0010 +## 90/90 - 0s - 1ms/step - loss: 0.3136 - sparse_categorical_accuracy: 0.8674 - val_loss: 0.9287 - val_sparse_categorical_accuracy: 0.5950 - learning_rate: 0.0010 ## Epoch 21/500 -## 90/90 - 0s - 2ms/step - loss: 0.3003 - sparse_categorical_accuracy: 0.8698 - val_loss: 0.3359 - val_sparse_categorical_accuracy: 0.8405 - learning_rate: 0.0010 +## 90/90 - 0s - 1ms/step - loss: 0.3001 - sparse_categorical_accuracy: 0.8691 - val_loss: 0.3926 - val_sparse_categorical_accuracy: 0.7795 - learning_rate: 0.0010 ## Epoch 22/500 -## 90/90 - 0s - 2ms/step - loss: 0.3012 - sparse_categorical_accuracy: 0.8740 - val_loss: 0.3339 - val_sparse_categorical_accuracy: 0.8447 - learning_rate: 0.0010 +## 90/90 - 0s - 2ms/step - loss: 0.2984 - sparse_categorical_accuracy: 0.8719 - val_loss: 0.3023 - val_sparse_categorical_accuracy: 0.8655 - learning_rate: 0.0010 ## Epoch 23/500 -## 90/90 - 0s - 1ms/step - loss: 0.2901 - sparse_categorical_accuracy: 0.8799 - val_loss: 0.3859 - val_sparse_categorical_accuracy: 0.7920 - learning_rate: 0.0010 +## 90/90 - 0s - 1ms/step - loss: 0.2930 - sparse_categorical_accuracy: 0.8767 - val_loss: 0.3501 - val_sparse_categorical_accuracy: 0.8086 - learning_rate: 0.0010 ## Epoch 24/500 -## 90/90 - 0s - 2ms/step - loss: 0.2898 - sparse_categorical_accuracy: 0.8788 - val_loss: 0.2806 - val_sparse_categorical_accuracy: 0.8863 - learning_rate: 0.0010 +## 90/90 - 0s - 1ms/step - loss: 0.2861 - sparse_categorical_accuracy: 0.8799 - val_loss: 0.9187 - val_sparse_categorical_accuracy: 0.5992 - learning_rate: 0.0010 ## Epoch 25/500 -## 90/90 - 0s - 1ms/step - loss: 0.2831 - sparse_categorical_accuracy: 0.8785 - val_loss: 0.3124 - val_sparse_categorical_accuracy: 0.8585 - learning_rate: 0.0010 +## 90/90 - 0s - 1ms/step - loss: 0.2843 - sparse_categorical_accuracy: 0.8816 - val_loss: 0.3731 - val_sparse_categorical_accuracy: 0.8363 - learning_rate: 0.0010 ## Epoch 26/500 -## 90/90 - 0s - 1ms/step - loss: 0.3130 - sparse_categorical_accuracy: 0.8580 - val_loss: 0.3423 - val_sparse_categorical_accuracy: 0.8377 - learning_rate: 0.0010 +## 90/90 - 0s - 1ms/step - loss: 0.3182 - sparse_categorical_accuracy: 0.8569 - val_loss: 0.5553 - val_sparse_categorical_accuracy: 0.7115 - learning_rate: 0.0010 ## Epoch 27/500 -## 90/90 - 0s - 1ms/step - loss: 0.2741 - sparse_categorical_accuracy: 0.8910 - val_loss: 0.2908 - val_sparse_categorical_accuracy: 0.8835 - learning_rate: 0.0010 +## 90/90 - 0s - 1ms/step - loss: 0.2732 - sparse_categorical_accuracy: 0.8875 - val_loss: 0.3950 - val_sparse_categorical_accuracy: 0.7628 - learning_rate: 0.0010 ## Epoch 28/500 -## 90/90 - 0s - 1ms/step - loss: 0.2855 - sparse_categorical_accuracy: 0.8837 - val_loss: 0.5778 - val_sparse_categorical_accuracy: 0.7323 - learning_rate: 0.0010 +## 90/90 - 0s - 1ms/step - loss: 0.2943 - sparse_categorical_accuracy: 0.8705 - val_loss: 0.8138 - val_sparse_categorical_accuracy: 0.7254 - learning_rate: 0.0010 ## Epoch 29/500 -## 90/90 - 0s - 1ms/step - loss: 0.2671 - sparse_categorical_accuracy: 0.8809 - val_loss: 0.4736 - val_sparse_categorical_accuracy: 0.7628 - learning_rate: 0.0010 +## 90/90 - 0s - 1ms/step - loss: 0.2772 - sparse_categorical_accuracy: 0.8781 - val_loss: 0.3712 - val_sparse_categorical_accuracy: 0.8405 - learning_rate: 0.0010 ## Epoch 30/500 -## 90/90 - 0s - 1ms/step - loss: 0.2720 - sparse_categorical_accuracy: 0.8833 - val_loss: 0.4564 - val_sparse_categorical_accuracy: 0.7767 - learning_rate: 0.0010 +## 90/90 - 0s - 1ms/step - loss: 0.2714 - sparse_categorical_accuracy: 0.8833 - val_loss: 0.4209 - val_sparse_categorical_accuracy: 0.7975 - learning_rate: 0.0010 ## Epoch 31/500 -## 90/90 - 0s - 1ms/step - loss: 0.2724 - sparse_categorical_accuracy: 0.8882 - val_loss: 0.2784 - val_sparse_categorical_accuracy: 0.8918 - learning_rate: 0.0010 +## 90/90 - 0s - 2ms/step - loss: 0.2720 - sparse_categorical_accuracy: 0.8854 - val_loss: 1.9298 - val_sparse_categorical_accuracy: 0.5104 - learning_rate: 0.0010 ## Epoch 32/500 -## 90/90 - 0s - 1ms/step - loss: 0.2709 - sparse_categorical_accuracy: 0.8830 - val_loss: 0.3442 - val_sparse_categorical_accuracy: 0.8280 - learning_rate: 0.0010 +## 90/90 - 0s - 2ms/step - loss: 0.2699 - sparse_categorical_accuracy: 0.8833 - val_loss: 0.3155 - val_sparse_categorical_accuracy: 0.8516 - learning_rate: 0.0010 ## Epoch 33/500 -## 90/90 - 0s - 1ms/step - loss: 0.2571 - sparse_categorical_accuracy: 0.8986 - val_loss: 0.3730 - val_sparse_categorical_accuracy: 0.7864 - learning_rate: 0.0010 +## 90/90 - 0s - 2ms/step - loss: 0.2586 - sparse_categorical_accuracy: 0.8951 - val_loss: 0.3628 - val_sparse_categorical_accuracy: 0.7947 - learning_rate: 0.0010 ## Epoch 34/500 -## 90/90 - 0s - 1ms/step - loss: 0.2449 - sparse_categorical_accuracy: 0.9003 - val_loss: 0.2799 - val_sparse_categorical_accuracy: 0.8877 - learning_rate: 0.0010 +## 90/90 - 0s - 1ms/step - loss: 0.2490 - sparse_categorical_accuracy: 0.9003 - val_loss: 0.5844 - val_sparse_categorical_accuracy: 0.7309 - learning_rate: 0.0010 ## Epoch 35/500 -## 90/90 - 0s - 1ms/step - loss: 0.2698 - sparse_categorical_accuracy: 0.8861 - val_loss: 0.4860 - val_sparse_categorical_accuracy: 0.7420 - learning_rate: 0.0010 +## 90/90 - 0s - 1ms/step - loss: 0.2627 - sparse_categorical_accuracy: 0.8938 - val_loss: 0.3480 - val_sparse_categorical_accuracy: 0.8419 - learning_rate: 0.0010 ## Epoch 36/500 -## 90/90 - 0s - 1ms/step - loss: 0.2539 - sparse_categorical_accuracy: 0.8944 - val_loss: 0.2572 - val_sparse_categorical_accuracy: 0.8974 - learning_rate: 0.0010 +## 90/90 - 0s - 1ms/step - loss: 0.2558 - sparse_categorical_accuracy: 0.8948 - val_loss: 0.3793 - val_sparse_categorical_accuracy: 0.8128 - learning_rate: 0.0010 ## Epoch 37/500 -## 90/90 - 0s - 1ms/step - loss: 0.2495 - sparse_categorical_accuracy: 0.8962 - val_loss: 0.2735 - val_sparse_categorical_accuracy: 0.8724 - learning_rate: 0.0010 +## 90/90 - 0s - 1ms/step - loss: 0.2515 - sparse_categorical_accuracy: 0.8958 - val_loss: 0.4828 - val_sparse_categorical_accuracy: 0.7503 - learning_rate: 0.0010 ## Epoch 38/500 -## 90/90 - 0s - 1ms/step - loss: 0.2474 - sparse_categorical_accuracy: 0.9000 - val_loss: 0.3009 - val_sparse_categorical_accuracy: 0.8641 - learning_rate: 0.0010 +## 90/90 - 0s - 2ms/step - loss: 0.2541 - sparse_categorical_accuracy: 0.8986 - val_loss: 0.2950 - val_sparse_categorical_accuracy: 0.8669 - learning_rate: 0.0010 ## Epoch 39/500 -## 90/90 - 0s - 1ms/step - loss: 0.2492 - sparse_categorical_accuracy: 0.8976 - val_loss: 1.0276 - val_sparse_categorical_accuracy: 0.6283 - learning_rate: 0.0010 +## 90/90 - 0s - 1ms/step - loss: 0.2505 - sparse_categorical_accuracy: 0.8976 - val_loss: 0.7151 - val_sparse_categorical_accuracy: 0.7087 - learning_rate: 0.0010 ## Epoch 40/500 -## 90/90 - 0s - 1ms/step - loss: 0.2477 - sparse_categorical_accuracy: 0.8896 - val_loss: 0.4444 - val_sparse_categorical_accuracy: 0.8086 - learning_rate: 0.0010 +## 90/90 - 0s - 1ms/step - loss: 0.2490 - sparse_categorical_accuracy: 0.8979 - val_loss: 0.3170 - val_sparse_categorical_accuracy: 0.8627 - learning_rate: 0.0010 ## Epoch 41/500 -## 90/90 - 0s - 1ms/step - loss: 0.2315 - sparse_categorical_accuracy: 0.9069 - val_loss: 0.4963 - val_sparse_categorical_accuracy: 0.7573 - learning_rate: 0.0010 +## 90/90 - 0s - 2ms/step - loss: 0.2325 - sparse_categorical_accuracy: 0.9062 - val_loss: 0.2560 - val_sparse_categorical_accuracy: 0.8904 - learning_rate: 0.0010 ## Epoch 42/500 -## 90/90 - 0s - 1ms/step - loss: 0.2279 - sparse_categorical_accuracy: 0.9101 - val_loss: 0.2943 - val_sparse_categorical_accuracy: 0.8849 - learning_rate: 0.0010 +## 90/90 - 0s - 1ms/step - loss: 0.2312 - sparse_categorical_accuracy: 0.9076 - val_loss: 0.3396 - val_sparse_categorical_accuracy: 0.8405 - learning_rate: 0.0010 ## Epoch 43/500 -## 90/90 - 0s - 1ms/step - loss: 0.2365 - sparse_categorical_accuracy: 0.8983 - val_loss: 0.6205 - val_sparse_categorical_accuracy: 0.7226 - learning_rate: 0.0010 +## 90/90 - 0s - 1ms/step - loss: 0.2402 - sparse_categorical_accuracy: 0.8976 - val_loss: 0.3650 - val_sparse_categorical_accuracy: 0.8294 - learning_rate: 0.0010 ## Epoch 44/500 -## 90/90 - 0s - 1ms/step - loss: 0.2314 - sparse_categorical_accuracy: 0.9080 - val_loss: 0.3348 - val_sparse_categorical_accuracy: 0.8419 - learning_rate: 0.0010 +## 90/90 - 0s - 1ms/step - loss: 0.2342 - sparse_categorical_accuracy: 0.9038 - val_loss: 1.0563 - val_sparse_categorical_accuracy: 0.6172 - learning_rate: 0.0010 ## Epoch 45/500 -## 90/90 - 0s - 1ms/step - loss: 0.2301 - sparse_categorical_accuracy: 0.9094 - val_loss: 0.4539 - val_sparse_categorical_accuracy: 0.7753 - learning_rate: 0.0010 +## 90/90 - 0s - 1ms/step - loss: 0.2320 - sparse_categorical_accuracy: 0.9080 - val_loss: 0.2506 - val_sparse_categorical_accuracy: 0.8932 - learning_rate: 0.0010 ## Epoch 46/500 -## 90/90 - 0s - 1ms/step - loss: 0.2265 - sparse_categorical_accuracy: 0.9090 - val_loss: 0.2660 - val_sparse_categorical_accuracy: 0.8974 - learning_rate: 0.0010 +## 90/90 - 0s - 1ms/step - loss: 0.2317 - sparse_categorical_accuracy: 0.9035 - val_loss: 0.4473 - val_sparse_categorical_accuracy: 0.7920 - learning_rate: 0.0010 ## Epoch 47/500 -## 90/90 - 0s - 1ms/step - loss: 0.2065 - sparse_categorical_accuracy: 0.9188 - val_loss: 0.2680 - val_sparse_categorical_accuracy: 0.8932 - learning_rate: 0.0010 +## 90/90 - 0s - 1ms/step - loss: 0.2164 - sparse_categorical_accuracy: 0.9125 - val_loss: 0.6324 - val_sparse_categorical_accuracy: 0.7240 - learning_rate: 0.0010 ## Epoch 48/500 -## 90/90 - 0s - 2ms/step - loss: 0.2107 - sparse_categorical_accuracy: 0.9139 - val_loss: 0.2204 - val_sparse_categorical_accuracy: 0.9126 - learning_rate: 0.0010 +## 90/90 - 0s - 2ms/step - loss: 0.2186 - sparse_categorical_accuracy: 0.9122 - val_loss: 0.2525 - val_sparse_categorical_accuracy: 0.9001 - learning_rate: 0.0010 ## Epoch 49/500 -## 90/90 - 0s - 1ms/step - loss: 0.2009 - sparse_categorical_accuracy: 0.9174 - val_loss: 0.3135 - val_sparse_categorical_accuracy: 0.8336 - learning_rate: 0.0010 +## 90/90 - 0s - 2ms/step - loss: 0.2119 - sparse_categorical_accuracy: 0.9118 - val_loss: 0.2401 - val_sparse_categorical_accuracy: 0.9015 - learning_rate: 0.0010 ## Epoch 50/500 -## 90/90 - 0s - 1ms/step - loss: 0.2138 - sparse_categorical_accuracy: 0.9160 - val_loss: 0.4732 - val_sparse_categorical_accuracy: 0.7587 - learning_rate: 0.0010 +## 90/90 - 0s - 1ms/step - loss: 0.2134 - sparse_categorical_accuracy: 0.9191 - val_loss: 0.2410 - val_sparse_categorical_accuracy: 0.8988 - learning_rate: 0.0010 ## Epoch 51/500 -## 90/90 - 0s - 1ms/step - loss: 0.1992 - sparse_categorical_accuracy: 0.9201 - val_loss: 0.6327 - val_sparse_categorical_accuracy: 0.7365 - learning_rate: 0.0010 +## 90/90 - 0s - 2ms/step - loss: 0.2120 - sparse_categorical_accuracy: 0.9174 - val_loss: 0.6803 - val_sparse_categorical_accuracy: 0.6935 - learning_rate: 0.0010 ## Epoch 52/500 -## 90/90 - 0s - 1ms/step - loss: 0.1888 - sparse_categorical_accuracy: 0.9267 - val_loss: 0.2356 - val_sparse_categorical_accuracy: 0.8932 - learning_rate: 0.0010 +## 90/90 - 0s - 2ms/step - loss: 0.2023 - sparse_categorical_accuracy: 0.9205 - val_loss: 0.2938 - val_sparse_categorical_accuracy: 0.8779 - learning_rate: 0.0010 ## Epoch 53/500 -## 90/90 - 0s - 1ms/step - loss: 0.1837 - sparse_categorical_accuracy: 0.9278 - val_loss: 0.2637 - val_sparse_categorical_accuracy: 0.8877 - learning_rate: 0.0010 +## 90/90 - 0s - 2ms/step - loss: 0.1980 - sparse_categorical_accuracy: 0.9243 - val_loss: 0.5380 - val_sparse_categorical_accuracy: 0.7531 - learning_rate: 0.0010 ## Epoch 54/500 -## 90/90 - 0s - 2ms/step - loss: 0.1758 - sparse_categorical_accuracy: 0.9354 - val_loss: 0.2062 - val_sparse_categorical_accuracy: 0.9126 - learning_rate: 0.0010 +## 90/90 - 0s - 2ms/step - loss: 0.1883 - sparse_categorical_accuracy: 0.9271 - val_loss: 0.2272 - val_sparse_categorical_accuracy: 0.9071 - learning_rate: 0.0010 ## Epoch 55/500 -## 90/90 - 0s - 1ms/step - loss: 0.1668 - sparse_categorical_accuracy: 0.9438 - val_loss: 0.6011 - val_sparse_categorical_accuracy: 0.7559 - learning_rate: 0.0010 +## 90/90 - 0s - 2ms/step - loss: 0.1761 - sparse_categorical_accuracy: 0.9385 - val_loss: 0.2707 - val_sparse_categorical_accuracy: 0.8821 - learning_rate: 0.0010 ## Epoch 56/500 -## 90/90 - 0s - 1ms/step - loss: 0.1580 - sparse_categorical_accuracy: 0.9476 - val_loss: 0.4532 - val_sparse_categorical_accuracy: 0.7587 - learning_rate: 0.0010 +## 90/90 - 0s - 1ms/step - loss: 0.1683 - sparse_categorical_accuracy: 0.9417 - val_loss: 0.2584 - val_sparse_categorical_accuracy: 0.9015 - learning_rate: 0.0010 ## Epoch 57/500 -## 90/90 - 0s - 1ms/step - loss: 0.1518 - sparse_categorical_accuracy: 0.9521 - val_loss: 1.1827 - val_sparse_categorical_accuracy: 0.5492 - learning_rate: 0.0010 +## 90/90 - 0s - 1ms/step - loss: 0.1581 - sparse_categorical_accuracy: 0.9490 - val_loss: 1.4305 - val_sparse_categorical_accuracy: 0.7184 - learning_rate: 0.0010 ## Epoch 58/500 -## 90/90 - 0s - 2ms/step - loss: 0.1449 - sparse_categorical_accuracy: 0.9528 - val_loss: 0.1922 - val_sparse_categorical_accuracy: 0.9168 - learning_rate: 0.0010 +## 90/90 - 0s - 1ms/step - loss: 0.1518 - sparse_categorical_accuracy: 0.9497 - val_loss: 0.7991 - val_sparse_categorical_accuracy: 0.7531 - learning_rate: 0.0010 ## Epoch 59/500 -## 90/90 - 0s - 1ms/step - loss: 0.1520 - sparse_categorical_accuracy: 0.9476 - val_loss: 2.0179 - val_sparse_categorical_accuracy: 0.6089 - learning_rate: 0.0010 +## 90/90 - 0s - 1ms/step - loss: 0.1529 - sparse_categorical_accuracy: 0.9479 - val_loss: 0.3389 - val_sparse_categorical_accuracy: 0.8724 - learning_rate: 0.0010 ## Epoch 60/500 -## 90/90 - 0s - 1ms/step - loss: 0.1457 - sparse_categorical_accuracy: 0.9503 - val_loss: 0.2761 - val_sparse_categorical_accuracy: 0.8946 - learning_rate: 0.0010 +## 90/90 - 0s - 1ms/step - loss: 0.1784 - sparse_categorical_accuracy: 0.9368 - val_loss: 0.2534 - val_sparse_categorical_accuracy: 0.8974 - learning_rate: 0.0010 ## Epoch 61/500 -## 90/90 - 0s - 1ms/step - loss: 0.1280 - sparse_categorical_accuracy: 0.9580 - val_loss: 1.6068 - val_sparse_categorical_accuracy: 0.6796 - learning_rate: 0.0010 +## 90/90 - 0s - 1ms/step - loss: 0.1335 - sparse_categorical_accuracy: 0.9566 - val_loss: 0.2323 - val_sparse_categorical_accuracy: 0.9098 - learning_rate: 0.0010 ## Epoch 62/500 -## 90/90 - 0s - 1ms/step - loss: 0.1408 - sparse_categorical_accuracy: 0.9510 - val_loss: 0.9512 - val_sparse_categorical_accuracy: 0.7129 - learning_rate: 0.0010 +## 90/90 - 0s - 1ms/step - loss: 0.1401 - sparse_categorical_accuracy: 0.9531 - val_loss: 0.3259 - val_sparse_categorical_accuracy: 0.8696 - learning_rate: 0.0010 ## Epoch 63/500 -## 90/90 - 0s - 1ms/step - loss: 0.1381 - sparse_categorical_accuracy: 0.9514 - val_loss: 1.2871 - val_sparse_categorical_accuracy: 0.6976 - learning_rate: 0.0010 +## 90/90 - 0s - 1ms/step - loss: 0.1404 - sparse_categorical_accuracy: 0.9521 - val_loss: 0.2970 - val_sparse_categorical_accuracy: 0.8627 - learning_rate: 0.0010 ## Epoch 64/500 -## 90/90 - 0s - 1ms/step - loss: 0.1280 - sparse_categorical_accuracy: 0.9569 - val_loss: 0.3003 - val_sparse_categorical_accuracy: 0.8724 - learning_rate: 0.0010 +## 90/90 - 0s - 1ms/step - loss: 0.1375 - sparse_categorical_accuracy: 0.9559 - val_loss: 0.3416 - val_sparse_categorical_accuracy: 0.8183 - learning_rate: 0.0010 ## Epoch 65/500 -## 90/90 - 0s - 1ms/step - loss: 0.1206 - sparse_categorical_accuracy: 0.9618 - val_loss: 0.4581 - val_sparse_categorical_accuracy: 0.8086 - learning_rate: 0.0010 +## 90/90 - 0s - 1ms/step - loss: 0.1303 - sparse_categorical_accuracy: 0.9583 - val_loss: 0.2586 - val_sparse_categorical_accuracy: 0.8766 - learning_rate: 0.0010 ## Epoch 66/500 -## 90/90 - 0s - 1ms/step - loss: 0.1148 - sparse_categorical_accuracy: 0.9628 - val_loss: 0.3863 - val_sparse_categorical_accuracy: 0.8266 - learning_rate: 0.0010 +## 90/90 - 0s - 1ms/step - loss: 0.1199 - sparse_categorical_accuracy: 0.9608 - val_loss: 1.2218 - val_sparse_categorical_accuracy: 0.7337 - learning_rate: 0.0010 ## Epoch 67/500 -## 90/90 - 0s - 1ms/step - loss: 0.1068 - sparse_categorical_accuracy: 0.9663 - val_loss: 1.2923 - val_sparse_categorical_accuracy: 0.6852 - learning_rate: 0.0010 +## 90/90 - 0s - 2ms/step - loss: 0.1186 - sparse_categorical_accuracy: 0.9615 - val_loss: 0.1464 - val_sparse_categorical_accuracy: 0.9431 - learning_rate: 0.0010 ## Epoch 68/500 -## 90/90 - 0s - 1ms/step - loss: 0.1159 - sparse_categorical_accuracy: 0.9615 - val_loss: 0.2969 - val_sparse_categorical_accuracy: 0.8558 - learning_rate: 0.0010 +## 90/90 - 0s - 2ms/step - loss: 0.1176 - sparse_categorical_accuracy: 0.9632 - val_loss: 0.1451 - val_sparse_categorical_accuracy: 0.9431 - learning_rate: 0.0010 ## Epoch 69/500 -## 90/90 - 0s - 1ms/step - loss: 0.1228 - sparse_categorical_accuracy: 0.9580 - val_loss: 0.2251 - val_sparse_categorical_accuracy: 0.9071 - learning_rate: 0.0010 +## 90/90 - 0s - 2ms/step - loss: 0.1295 - sparse_categorical_accuracy: 0.9583 - val_loss: 1.7723 - val_sparse_categorical_accuracy: 0.5395 - learning_rate: 0.0010 ## Epoch 70/500 -## 90/90 - 0s - 2ms/step - loss: 0.1138 - sparse_categorical_accuracy: 0.9622 - val_loss: 0.1805 - val_sparse_categorical_accuracy: 0.9251 - learning_rate: 0.0010 +## 90/90 - 0s - 2ms/step - loss: 0.1232 - sparse_categorical_accuracy: 0.9587 - val_loss: 0.1802 - val_sparse_categorical_accuracy: 0.9237 - learning_rate: 0.0010 ## Epoch 71/500 -## 90/90 - 0s - 2ms/step - loss: 0.1101 - sparse_categorical_accuracy: 0.9618 - val_loss: 0.1439 - val_sparse_categorical_accuracy: 0.9487 - learning_rate: 0.0010 +## 90/90 - 0s - 1ms/step - loss: 0.1202 - sparse_categorical_accuracy: 0.9573 - val_loss: 0.1932 - val_sparse_categorical_accuracy: 0.9085 - learning_rate: 0.0010 ## Epoch 72/500 -## 90/90 - 0s - 2ms/step - loss: 0.1133 - sparse_categorical_accuracy: 0.9628 - val_loss: 0.1390 - val_sparse_categorical_accuracy: 0.9459 - learning_rate: 0.0010 +## 90/90 - 0s - 1ms/step - loss: 0.1124 - sparse_categorical_accuracy: 0.9660 - val_loss: 0.4178 - val_sparse_categorical_accuracy: 0.8003 - learning_rate: 0.0010 ## Epoch 73/500 -## 90/90 - 0s - 1ms/step - loss: 0.1042 - sparse_categorical_accuracy: 0.9698 - val_loss: 0.1421 - val_sparse_categorical_accuracy: 0.9445 - learning_rate: 0.0010 +## 90/90 - 0s - 1ms/step - loss: 0.1068 - sparse_categorical_accuracy: 0.9663 - val_loss: 0.1517 - val_sparse_categorical_accuracy: 0.9473 - learning_rate: 0.0010 ## Epoch 74/500 -## 90/90 - 0s - 1ms/step - loss: 0.1098 - sparse_categorical_accuracy: 0.9604 - val_loss: 2.0644 - val_sparse_categorical_accuracy: 0.6685 - learning_rate: 0.0010 +## 90/90 - 0s - 1ms/step - loss: 0.1085 - sparse_categorical_accuracy: 0.9639 - val_loss: 0.2126 - val_sparse_categorical_accuracy: 0.9223 - learning_rate: 0.0010 ## Epoch 75/500 -## 90/90 - 0s - 1ms/step - loss: 0.1419 - sparse_categorical_accuracy: 0.9486 - val_loss: 0.4101 - val_sparse_categorical_accuracy: 0.8336 - learning_rate: 0.0010 +## 90/90 - 0s - 1ms/step - loss: 0.1263 - sparse_categorical_accuracy: 0.9580 - val_loss: 0.1689 - val_sparse_categorical_accuracy: 0.9390 - learning_rate: 0.0010 ## Epoch 76/500 -## 90/90 - 0s - 1ms/step - loss: 0.1230 - sparse_categorical_accuracy: 0.9569 - val_loss: 0.3055 - val_sparse_categorical_accuracy: 0.8946 - learning_rate: 0.0010 +## 90/90 - 0s - 1ms/step - loss: 0.1169 - sparse_categorical_accuracy: 0.9597 - val_loss: 0.2955 - val_sparse_categorical_accuracy: 0.8460 - learning_rate: 0.0010 ## Epoch 77/500 -## 90/90 - 0s - 1ms/step - loss: 0.1028 - sparse_categorical_accuracy: 0.9656 - val_loss: 0.1704 - val_sparse_categorical_accuracy: 0.9265 - learning_rate: 0.0010 +## 90/90 - 0s - 1ms/step - loss: 0.1089 - sparse_categorical_accuracy: 0.9622 - val_loss: 0.6333 - val_sparse_categorical_accuracy: 0.6241 - learning_rate: 0.0010 ## Epoch 78/500 -## 90/90 - 0s - 1ms/step - loss: 0.1003 - sparse_categorical_accuracy: 0.9674 - val_loss: 0.3304 - val_sparse_categorical_accuracy: 0.8682 - learning_rate: 0.0010 +## 90/90 - 0s - 2ms/step - loss: 0.1017 - sparse_categorical_accuracy: 0.9688 - val_loss: 0.1416 - val_sparse_categorical_accuracy: 0.9459 - learning_rate: 0.0010 ## Epoch 79/500 -## 90/90 - 0s - 1ms/step - loss: 0.1019 - sparse_categorical_accuracy: 0.9691 - val_loss: 0.5429 - val_sparse_categorical_accuracy: 0.7822 - learning_rate: 0.0010 +## 90/90 - 0s - 2ms/step - loss: 0.1099 - sparse_categorical_accuracy: 0.9642 - val_loss: 0.3434 - val_sparse_categorical_accuracy: 0.8544 - learning_rate: 0.0010 ## Epoch 80/500 -## 90/90 - 0s - 1ms/step - loss: 0.1037 - sparse_categorical_accuracy: 0.9670 - val_loss: 2.0288 - val_sparse_categorical_accuracy: 0.6976 - learning_rate: 0.0010 +## 90/90 - 0s - 2ms/step - loss: 0.1046 - sparse_categorical_accuracy: 0.9653 - val_loss: 0.4430 - val_sparse_categorical_accuracy: 0.8280 - learning_rate: 0.0010 ## Epoch 81/500 -## 90/90 - 0s - 1ms/step - loss: 0.1030 - sparse_categorical_accuracy: 0.9667 - val_loss: 3.3225 - val_sparse_categorical_accuracy: 0.5492 - learning_rate: 0.0010 +## 90/90 - 0s - 1ms/step - loss: 0.1098 - sparse_categorical_accuracy: 0.9622 - val_loss: 0.1632 - val_sparse_categorical_accuracy: 0.9362 - learning_rate: 0.0010 ## Epoch 82/500 -## 90/90 - 0s - 2ms/step - loss: 0.0947 - sparse_categorical_accuracy: 0.9708 - val_loss: 0.1449 - val_sparse_categorical_accuracy: 0.9390 - learning_rate: 0.0010 +## 90/90 - 0s - 1ms/step - loss: 0.1021 - sparse_categorical_accuracy: 0.9670 - val_loss: 0.3984 - val_sparse_categorical_accuracy: 0.7906 - learning_rate: 0.0010 ## Epoch 83/500 -## 90/90 - 0s - 2ms/step - loss: 0.1060 - sparse_categorical_accuracy: 0.9639 - val_loss: 0.2491 - val_sparse_categorical_accuracy: 0.9015 - learning_rate: 0.0010 +## 90/90 - 0s - 1ms/step - loss: 0.1086 - sparse_categorical_accuracy: 0.9642 - val_loss: 0.1976 - val_sparse_categorical_accuracy: 0.9085 - learning_rate: 0.0010 ## Epoch 84/500 -## 90/90 - 0s - 2ms/step - loss: 0.0958 - sparse_categorical_accuracy: 0.9656 - val_loss: 0.1281 - val_sparse_categorical_accuracy: 0.9404 - learning_rate: 0.0010 +## 90/90 - 0s - 1ms/step - loss: 0.1026 - sparse_categorical_accuracy: 0.9642 - val_loss: 0.2123 - val_sparse_categorical_accuracy: 0.9251 - learning_rate: 0.0010 ## Epoch 85/500 -## 90/90 - 0s - 1ms/step - loss: 0.0993 - sparse_categorical_accuracy: 0.9674 - val_loss: 0.1956 - val_sparse_categorical_accuracy: 0.9168 - learning_rate: 0.0010 +## 90/90 - 0s - 1ms/step - loss: 0.1032 - sparse_categorical_accuracy: 0.9632 - val_loss: 0.3491 - val_sparse_categorical_accuracy: 0.8613 - learning_rate: 0.0010 ## Epoch 86/500 -## 90/90 - 0s - 1ms/step - loss: 0.1003 - sparse_categorical_accuracy: 0.9604 - val_loss: 0.4167 - val_sparse_categorical_accuracy: 0.8239 - learning_rate: 0.0010 +## 90/90 - 0s - 1ms/step - loss: 0.1136 - sparse_categorical_accuracy: 0.9576 - val_loss: 0.1498 - val_sparse_categorical_accuracy: 0.9362 - learning_rate: 0.0010 ## Epoch 87/500 -## 90/90 - 0s - 1ms/step - loss: 0.1099 - sparse_categorical_accuracy: 0.9604 - val_loss: 0.1557 - val_sparse_categorical_accuracy: 0.9390 - learning_rate: 0.0010 +## 90/90 - 0s - 2ms/step - loss: 0.1107 - sparse_categorical_accuracy: 0.9608 - val_loss: 0.1406 - val_sparse_categorical_accuracy: 0.9501 - learning_rate: 0.0010 ## Epoch 88/500 -## 90/90 - 0s - 1ms/step - loss: 0.1002 - sparse_categorical_accuracy: 0.9656 - val_loss: 0.1204 - val_sparse_categorical_accuracy: 0.9542 - learning_rate: 0.0010 +## 90/90 - 0s - 1ms/step - loss: 0.0995 - sparse_categorical_accuracy: 0.9677 - val_loss: 0.6864 - val_sparse_categorical_accuracy: 0.7656 - learning_rate: 0.0010 ## Epoch 89/500 -## 90/90 - 0s - 2ms/step - loss: 0.0969 - sparse_categorical_accuracy: 0.9663 - val_loss: 0.1194 - val_sparse_categorical_accuracy: 0.9542 - learning_rate: 0.0010 +## 90/90 - 0s - 1ms/step - loss: 0.1013 - sparse_categorical_accuracy: 0.9656 - val_loss: 0.8218 - val_sparse_categorical_accuracy: 0.7476 - learning_rate: 0.0010 ## Epoch 90/500 -## 90/90 - 0s - 1ms/step - loss: 0.0937 - sparse_categorical_accuracy: 0.9691 - val_loss: 0.1397 - val_sparse_categorical_accuracy: 0.9431 - learning_rate: 0.0010 +## 90/90 - 0s - 1ms/step - loss: 0.1002 - sparse_categorical_accuracy: 0.9670 - val_loss: 0.2009 - val_sparse_categorical_accuracy: 0.9209 - learning_rate: 0.0010 ## Epoch 91/500 -## 90/90 - 0s - 1ms/step - loss: 0.1024 - sparse_categorical_accuracy: 0.9660 - val_loss: 2.1705 - val_sparse_categorical_accuracy: 0.6671 - learning_rate: 0.0010 +## 90/90 - 0s - 1ms/step - loss: 0.1010 - sparse_categorical_accuracy: 0.9674 - val_loss: 0.2869 - val_sparse_categorical_accuracy: 0.8849 - learning_rate: 0.0010 ## Epoch 92/500 -## 90/90 - 0s - 2ms/step - loss: 0.0928 - sparse_categorical_accuracy: 0.9733 - val_loss: 0.7758 - val_sparse_categorical_accuracy: 0.7559 - learning_rate: 0.0010 +## 90/90 - 0s - 1ms/step - loss: 0.1012 - sparse_categorical_accuracy: 0.9688 - val_loss: 0.5128 - val_sparse_categorical_accuracy: 0.7434 - learning_rate: 0.0010 ## Epoch 93/500 -## 90/90 - 0s - 1ms/step - loss: 0.0905 - sparse_categorical_accuracy: 0.9708 - val_loss: 0.2143 - val_sparse_categorical_accuracy: 0.9140 - learning_rate: 0.0010 +## 90/90 - 0s - 1ms/step - loss: 0.1009 - sparse_categorical_accuracy: 0.9660 - val_loss: 0.5212 - val_sparse_categorical_accuracy: 0.7753 - learning_rate: 0.0010 ## Epoch 94/500 -## 90/90 - 0s - 1ms/step - loss: 0.0919 - sparse_categorical_accuracy: 0.9708 - val_loss: 0.1413 - val_sparse_categorical_accuracy: 0.9445 - learning_rate: 0.0010 +## 90/90 - 0s - 1ms/step - loss: 0.1016 - sparse_categorical_accuracy: 0.9663 - val_loss: 0.3146 - val_sparse_categorical_accuracy: 0.8682 - learning_rate: 0.0010 ## Epoch 95/500 -## 90/90 - 0s - 1ms/step - loss: 0.0884 - sparse_categorical_accuracy: 0.9677 - val_loss: 0.1715 - val_sparse_categorical_accuracy: 0.9362 - learning_rate: 0.0010 +## 90/90 - 0s - 1ms/step - loss: 0.0975 - sparse_categorical_accuracy: 0.9663 - val_loss: 0.1750 - val_sparse_categorical_accuracy: 0.9376 - learning_rate: 0.0010 ## Epoch 96/500 -## 90/90 - 0s - 1ms/step - loss: 0.1015 - sparse_categorical_accuracy: 0.9653 - val_loss: 0.3827 - val_sparse_categorical_accuracy: 0.8669 - learning_rate: 0.0010 +## 90/90 - 0s - 1ms/step - loss: 0.1121 - sparse_categorical_accuracy: 0.9583 - val_loss: 0.2399 - val_sparse_categorical_accuracy: 0.9112 - learning_rate: 0.0010 ## Epoch 97/500 -## 90/90 - 0s - 1ms/step - loss: 0.0945 - sparse_categorical_accuracy: 0.9663 - val_loss: 0.1286 - val_sparse_categorical_accuracy: 0.9542 - learning_rate: 0.0010 +## 90/90 - 0s - 1ms/step - loss: 0.1000 - sparse_categorical_accuracy: 0.9670 - val_loss: 0.5611 - val_sparse_categorical_accuracy: 0.7101 - learning_rate: 0.0010 ## Epoch 98/500 -## 90/90 - 0s - 1ms/step - loss: 0.0924 - sparse_categorical_accuracy: 0.9698 - val_loss: 0.2279 - val_sparse_categorical_accuracy: 0.9126 - learning_rate: 0.0010 +## 90/90 - 0s - 1ms/step - loss: 0.0949 - sparse_categorical_accuracy: 0.9663 - val_loss: 0.1864 - val_sparse_categorical_accuracy: 0.9279 - learning_rate: 0.0010 ## Epoch 99/500 -## 90/90 - 0s - 1ms/step - loss: 0.0951 - sparse_categorical_accuracy: 0.9656 - val_loss: 0.1800 - val_sparse_categorical_accuracy: 0.9348 - learning_rate: 0.0010 +## 90/90 - 0s - 2ms/step - loss: 0.0925 - sparse_categorical_accuracy: 0.9667 - val_loss: 0.1228 - val_sparse_categorical_accuracy: 0.9431 - learning_rate: 0.0010 ## Epoch 100/500 -## 90/90 - 0s - 1ms/step - loss: 0.0864 - sparse_categorical_accuracy: 0.9729 - val_loss: 0.2424 - val_sparse_categorical_accuracy: 0.9085 - learning_rate: 0.0010 +## 90/90 - 0s - 1ms/step - loss: 0.0922 - sparse_categorical_accuracy: 0.9691 - val_loss: 1.9448 - val_sparse_categorical_accuracy: 0.7115 - learning_rate: 0.0010 ## Epoch 101/500 -## 90/90 - 0s - 1ms/step - loss: 0.0830 - sparse_categorical_accuracy: 0.9719 - val_loss: 0.1904 - val_sparse_categorical_accuracy: 0.9251 - learning_rate: 0.0010 +## 90/90 - 0s - 1ms/step - loss: 0.0887 - sparse_categorical_accuracy: 0.9733 - val_loss: 0.2127 - val_sparse_categorical_accuracy: 0.9071 - learning_rate: 0.0010 ## Epoch 102/500 -## 90/90 - 0s - 1ms/step - loss: 0.0973 - sparse_categorical_accuracy: 0.9670 - val_loss: 0.1916 - val_sparse_categorical_accuracy: 0.9182 - learning_rate: 0.0010 +## 90/90 - 0s - 1ms/step - loss: 0.0999 - sparse_categorical_accuracy: 0.9660 - val_loss: 0.1903 - val_sparse_categorical_accuracy: 0.9154 - learning_rate: 0.0010 ## Epoch 103/500 -## 90/90 - 0s - 1ms/step - loss: 0.0883 - sparse_categorical_accuracy: 0.9719 - val_loss: 0.1190 - val_sparse_categorical_accuracy: 0.9515 - learning_rate: 0.0010 +## 90/90 - 0s - 1ms/step - loss: 0.0929 - sparse_categorical_accuracy: 0.9698 - val_loss: 0.2647 - val_sparse_categorical_accuracy: 0.8988 - learning_rate: 0.0010 ## Epoch 104/500 -## 90/90 - 0s - 1ms/step - loss: 0.0936 - sparse_categorical_accuracy: 0.9677 - val_loss: 0.2695 - val_sparse_categorical_accuracy: 0.8932 - learning_rate: 0.0010 +## 90/90 - 0s - 1ms/step - loss: 0.1008 - sparse_categorical_accuracy: 0.9642 - val_loss: 1.1019 - val_sparse_categorical_accuracy: 0.6019 - learning_rate: 0.0010 ## Epoch 105/500 -## 90/90 - 0s - 1ms/step - loss: 0.0905 - sparse_categorical_accuracy: 0.9684 - val_loss: 0.1941 - val_sparse_categorical_accuracy: 0.9182 - learning_rate: 0.0010 +## 90/90 - 0s - 1ms/step - loss: 0.0969 - sparse_categorical_accuracy: 0.9681 - val_loss: 1.1464 - val_sparse_categorical_accuracy: 0.5645 - learning_rate: 0.0010 ## Epoch 106/500 -## 90/90 - 0s - 1ms/step - loss: 0.0885 - sparse_categorical_accuracy: 0.9674 - val_loss: 0.5663 - val_sparse_categorical_accuracy: 0.8322 - learning_rate: 0.0010 +## 90/90 - 0s - 2ms/step - loss: 0.0924 - sparse_categorical_accuracy: 0.9670 - val_loss: 0.2535 - val_sparse_categorical_accuracy: 0.9085 - learning_rate: 0.0010 ## Epoch 107/500 -## 90/90 - 0s - 1ms/step - loss: 0.0891 - sparse_categorical_accuracy: 0.9674 - val_loss: 0.6871 - val_sparse_categorical_accuracy: 0.7490 - learning_rate: 0.0010 +## 90/90 - 0s - 2ms/step - loss: 0.0930 - sparse_categorical_accuracy: 0.9677 - val_loss: 1.5288 - val_sparse_categorical_accuracy: 0.5118 - learning_rate: 0.0010 ## Epoch 108/500 -## 90/90 - 0s - 1ms/step - loss: 0.0890 - sparse_categorical_accuracy: 0.9701 - val_loss: 0.7344 - val_sparse_categorical_accuracy: 0.8031 - learning_rate: 0.0010 +## 90/90 - 0s - 1ms/step - loss: 0.0893 - sparse_categorical_accuracy: 0.9701 - val_loss: 0.1496 - val_sparse_categorical_accuracy: 0.9404 - learning_rate: 0.0010 ## Epoch 109/500 -## 90/90 - 0s - 1ms/step - loss: 0.0894 - sparse_categorical_accuracy: 0.9701 - val_loss: 0.3726 - val_sparse_categorical_accuracy: 0.8682 - learning_rate: 0.0010 +## 90/90 - 0s - 1ms/step - loss: 0.0891 - sparse_categorical_accuracy: 0.9712 - val_loss: 0.2799 - val_sparse_categorical_accuracy: 0.8835 - learning_rate: 0.0010 ## Epoch 110/500 -## 90/90 - 0s - 1ms/step - loss: 0.0963 - sparse_categorical_accuracy: 0.9660 - val_loss: 0.6424 - val_sparse_categorical_accuracy: 0.7961 - learning_rate: 0.0010 +## 90/90 - 0s - 1ms/step - loss: 0.0963 - sparse_categorical_accuracy: 0.9677 - val_loss: 0.4827 - val_sparse_categorical_accuracy: 0.8155 - learning_rate: 0.0010 ## Epoch 111/500 -## 90/90 - 0s - 1ms/step - loss: 0.0819 - sparse_categorical_accuracy: 0.9733 - val_loss: 0.8653 - val_sparse_categorical_accuracy: 0.7642 - learning_rate: 0.0010 +## 90/90 - 0s - 2ms/step - loss: 0.0841 - sparse_categorical_accuracy: 0.9701 - val_loss: 0.1203 - val_sparse_categorical_accuracy: 0.9501 - learning_rate: 0.0010 ## Epoch 112/500 -## 90/90 - 0s - 1ms/step - loss: 0.0852 - sparse_categorical_accuracy: 0.9691 - val_loss: 1.0738 - val_sparse_categorical_accuracy: 0.7393 - learning_rate: 0.0010 +## 90/90 - 0s - 1ms/step - loss: 0.0861 - sparse_categorical_accuracy: 0.9719 - val_loss: 0.5081 - val_sparse_categorical_accuracy: 0.7559 - learning_rate: 0.0010 ## Epoch 113/500 -## 90/90 - 0s - 1ms/step - loss: 0.0828 - sparse_categorical_accuracy: 0.9722 - val_loss: 0.1299 - val_sparse_categorical_accuracy: 0.9473 - learning_rate: 0.0010 +## 90/90 - 0s - 1ms/step - loss: 0.0831 - sparse_categorical_accuracy: 0.9729 - val_loss: 1.2423 - val_sparse_categorical_accuracy: 0.5687 - learning_rate: 0.0010 ## Epoch 114/500 -## 90/90 - 0s - 1ms/step - loss: 0.1042 - sparse_categorical_accuracy: 0.9649 - val_loss: 0.2819 - val_sparse_categorical_accuracy: 0.8932 - learning_rate: 0.0010 +## 90/90 - 0s - 1ms/step - loss: 0.1094 - sparse_categorical_accuracy: 0.9653 - val_loss: 0.3459 - val_sparse_categorical_accuracy: 0.8252 - learning_rate: 0.0010 ## Epoch 115/500 -## 90/90 - 0s - 1ms/step - loss: 0.0780 - sparse_categorical_accuracy: 0.9726 - val_loss: 0.2349 - val_sparse_categorical_accuracy: 0.9001 - learning_rate: 0.0010 +## 90/90 - 0s - 1ms/step - loss: 0.0886 - sparse_categorical_accuracy: 0.9691 - val_loss: 0.7117 - val_sparse_categorical_accuracy: 0.7226 - learning_rate: 0.0010 ## Epoch 116/500 -## 90/90 - 0s - 1ms/step - loss: 0.0850 - sparse_categorical_accuracy: 0.9743 - val_loss: 0.9277 - val_sparse_categorical_accuracy: 0.7406 - learning_rate: 0.0010 +## 90/90 - 0s - 1ms/step - loss: 0.0989 - sparse_categorical_accuracy: 0.9698 - val_loss: 0.1669 - val_sparse_categorical_accuracy: 0.9334 - learning_rate: 0.0010 ## Epoch 117/500 -## 90/90 - 0s - 1ms/step - loss: 0.0813 - sparse_categorical_accuracy: 0.9708 - val_loss: 0.7052 - val_sparse_categorical_accuracy: 0.7836 - learning_rate: 0.0010 +## 90/90 - 0s - 1ms/step - loss: 0.0891 - sparse_categorical_accuracy: 0.9705 - val_loss: 0.2413 - val_sparse_categorical_accuracy: 0.9154 - learning_rate: 0.0010 ## Epoch 118/500 -## 90/90 - 0s - 1ms/step - loss: 0.0838 - sparse_categorical_accuracy: 0.9701 - val_loss: 0.1543 - val_sparse_categorical_accuracy: 0.9307 - learning_rate: 0.0010 +## 90/90 - 0s - 1ms/step - loss: 0.0902 - sparse_categorical_accuracy: 0.9691 - val_loss: 0.7796 - val_sparse_categorical_accuracy: 0.6741 - learning_rate: 0.0010 ## Epoch 119/500 -## 90/90 - 0s - 2ms/step - loss: 0.0817 - sparse_categorical_accuracy: 0.9722 - val_loss: 0.1127 - val_sparse_categorical_accuracy: 0.9542 - learning_rate: 0.0010 +## 90/90 - 0s - 1ms/step - loss: 0.0877 - sparse_categorical_accuracy: 0.9691 - val_loss: 0.1806 - val_sparse_categorical_accuracy: 0.9168 - learning_rate: 0.0010 ## Epoch 120/500 -## 90/90 - 0s - 1ms/step - loss: 0.0846 - sparse_categorical_accuracy: 0.9715 - val_loss: 0.1209 - val_sparse_categorical_accuracy: 0.9542 - learning_rate: 0.0010 +## 90/90 - 0s - 2ms/step - loss: 0.0880 - sparse_categorical_accuracy: 0.9688 - val_loss: 0.1146 - val_sparse_categorical_accuracy: 0.9598 - learning_rate: 0.0010 ## Epoch 121/500 -## 90/90 - 0s - 1ms/step - loss: 0.0817 - sparse_categorical_accuracy: 0.9740 - val_loss: 0.1134 - val_sparse_categorical_accuracy: 0.9556 - learning_rate: 0.0010 +## 90/90 - 0s - 1ms/step - loss: 0.0896 - sparse_categorical_accuracy: 0.9726 - val_loss: 0.1279 - val_sparse_categorical_accuracy: 0.9528 - learning_rate: 0.0010 ## Epoch 122/500 -## 90/90 - 0s - 1ms/step - loss: 0.0872 - sparse_categorical_accuracy: 0.9691 - val_loss: 0.6854 - val_sparse_categorical_accuracy: 0.7892 - learning_rate: 0.0010 +## 90/90 - 0s - 1ms/step - loss: 0.0883 - sparse_categorical_accuracy: 0.9701 - val_loss: 0.3067 - val_sparse_categorical_accuracy: 0.8918 - learning_rate: 0.0010 ## Epoch 123/500 -## 90/90 - 0s - 1ms/step - loss: 0.0795 - sparse_categorical_accuracy: 0.9743 - val_loss: 0.8494 - val_sparse_categorical_accuracy: 0.7448 - learning_rate: 0.0010 +## 90/90 - 0s - 2ms/step - loss: 0.0855 - sparse_categorical_accuracy: 0.9722 - val_loss: 0.1060 - val_sparse_categorical_accuracy: 0.9667 - learning_rate: 0.0010 ## Epoch 124/500 -## 90/90 - 0s - 1ms/step - loss: 0.0965 - sparse_categorical_accuracy: 0.9632 - val_loss: 0.2033 - val_sparse_categorical_accuracy: 0.9140 - learning_rate: 0.0010 +## 90/90 - 0s - 1ms/step - loss: 0.0917 - sparse_categorical_accuracy: 0.9663 - val_loss: 0.2169 - val_sparse_categorical_accuracy: 0.9112 - learning_rate: 0.0010 ## Epoch 125/500 -## 90/90 - 0s - 1ms/step - loss: 0.0866 - sparse_categorical_accuracy: 0.9715 - val_loss: 0.3366 - val_sparse_categorical_accuracy: 0.8724 - learning_rate: 0.0010 +## 90/90 - 0s - 1ms/step - loss: 0.0976 - sparse_categorical_accuracy: 0.9642 - val_loss: 0.1407 - val_sparse_categorical_accuracy: 0.9459 - learning_rate: 0.0010 ## Epoch 126/500 -## 90/90 - 0s - 1ms/step - loss: 0.0792 - sparse_categorical_accuracy: 0.9747 - val_loss: 1.1318 - val_sparse_categorical_accuracy: 0.7462 - learning_rate: 0.0010 +## 90/90 - 0s - 1ms/step - loss: 0.0866 - sparse_categorical_accuracy: 0.9722 - val_loss: 1.4019 - val_sparse_categorical_accuracy: 0.7295 - learning_rate: 0.0010 ## Epoch 127/500 -## 90/90 - 0s - 1ms/step - loss: 0.0810 - sparse_categorical_accuracy: 0.9760 - val_loss: 0.1230 - val_sparse_categorical_accuracy: 0.9584 - learning_rate: 0.0010 +## 90/90 - 0s - 1ms/step - loss: 0.0877 - sparse_categorical_accuracy: 0.9747 - val_loss: 0.2518 - val_sparse_categorical_accuracy: 0.8918 - learning_rate: 0.0010 ## Epoch 128/500 -## 90/90 - 0s - 1ms/step - loss: 0.0839 - sparse_categorical_accuracy: 0.9698 - val_loss: 0.1734 - val_sparse_categorical_accuracy: 0.9279 - learning_rate: 0.0010 +## 90/90 - 0s - 1ms/step - loss: 0.0942 - sparse_categorical_accuracy: 0.9677 - val_loss: 0.1465 - val_sparse_categorical_accuracy: 0.9445 - learning_rate: 0.0010 ## Epoch 129/500 -## 90/90 - 0s - 1ms/step - loss: 0.0845 - sparse_categorical_accuracy: 0.9719 - val_loss: 0.2233 - val_sparse_categorical_accuracy: 0.9154 - learning_rate: 0.0010 +## 90/90 - 0s - 1ms/step - loss: 0.0904 - sparse_categorical_accuracy: 0.9712 - val_loss: 0.1546 - val_sparse_categorical_accuracy: 0.9445 - learning_rate: 0.0010 ## Epoch 130/500 -## 90/90 - 0s - 1ms/step - loss: 0.0906 - sparse_categorical_accuracy: 0.9694 - val_loss: 1.4223 - val_sparse_categorical_accuracy: 0.6963 - learning_rate: 0.0010 +## 90/90 - 0s - 1ms/step - loss: 0.0953 - sparse_categorical_accuracy: 0.9705 - val_loss: 0.1201 - val_sparse_categorical_accuracy: 0.9584 - learning_rate: 0.0010 ## Epoch 131/500 -## 90/90 - 0s - 1ms/step - loss: 0.0774 - sparse_categorical_accuracy: 0.9743 - val_loss: 2.8725 - val_sparse_categorical_accuracy: 0.7018 - learning_rate: 0.0010 +## 90/90 - 0s - 1ms/step - loss: 0.0846 - sparse_categorical_accuracy: 0.9712 - val_loss: 0.1980 - val_sparse_categorical_accuracy: 0.9293 - learning_rate: 0.0010 ## Epoch 132/500 -## 90/90 - 0s - 1ms/step - loss: 0.0748 - sparse_categorical_accuracy: 0.9757 - val_loss: 0.8038 - val_sparse_categorical_accuracy: 0.7781 - learning_rate: 0.0010 +## 90/90 - 0s - 1ms/step - loss: 0.0812 - sparse_categorical_accuracy: 0.9760 - val_loss: 0.4080 - val_sparse_categorical_accuracy: 0.8599 - learning_rate: 0.0010 ## Epoch 133/500 -## 90/90 - 0s - 1ms/step - loss: 0.0739 - sparse_categorical_accuracy: 0.9726 - val_loss: 0.5711 - val_sparse_categorical_accuracy: 0.7809 - learning_rate: 0.0010 +## 90/90 - 0s - 1ms/step - loss: 0.0785 - sparse_categorical_accuracy: 0.9733 - val_loss: 0.3284 - val_sparse_categorical_accuracy: 0.8835 - learning_rate: 0.0010 ## Epoch 134/500 -## 90/90 - 0s - 1ms/step - loss: 0.0780 - sparse_categorical_accuracy: 0.9722 - val_loss: 0.2510 - val_sparse_categorical_accuracy: 0.8918 - learning_rate: 0.0010 +## 90/90 - 0s - 1ms/step - loss: 0.0885 - sparse_categorical_accuracy: 0.9719 - val_loss: 0.5050 - val_sparse_categorical_accuracy: 0.8419 - learning_rate: 0.0010 ## Epoch 135/500 -## 90/90 - 0s - 1ms/step - loss: 0.0801 - sparse_categorical_accuracy: 0.9722 - val_loss: 0.4907 - val_sparse_categorical_accuracy: 0.8585 - learning_rate: 0.0010 +## 90/90 - 0s - 1ms/step - loss: 0.0859 - sparse_categorical_accuracy: 0.9726 - val_loss: 0.4296 - val_sparse_categorical_accuracy: 0.8141 - learning_rate: 0.0010 ## Epoch 136/500 -## 90/90 - 0s - 1ms/step - loss: 0.0819 - sparse_categorical_accuracy: 0.9670 - val_loss: 0.1151 - val_sparse_categorical_accuracy: 0.9556 - learning_rate: 0.0010 +## 90/90 - 0s - 1ms/step - loss: 0.0885 - sparse_categorical_accuracy: 0.9670 - val_loss: 0.1295 - val_sparse_categorical_accuracy: 0.9515 - learning_rate: 0.0010 ## Epoch 137/500 -## 90/90 - 0s - 1ms/step - loss: 0.0840 - sparse_categorical_accuracy: 0.9715 - val_loss: 1.2419 - val_sparse_categorical_accuracy: 0.7240 - learning_rate: 0.0010 +## 90/90 - 0s - 1ms/step - loss: 0.0892 - sparse_categorical_accuracy: 0.9712 - val_loss: 0.4052 - val_sparse_categorical_accuracy: 0.8031 - learning_rate: 0.0010 ## Epoch 138/500 -## 90/90 - 0s - 1ms/step - loss: 0.0774 - sparse_categorical_accuracy: 0.9743 - val_loss: 0.6905 - val_sparse_categorical_accuracy: 0.7864 - learning_rate: 0.0010 +## 90/90 - 0s - 1ms/step - loss: 0.0835 - sparse_categorical_accuracy: 0.9719 - val_loss: 0.1160 - val_sparse_categorical_accuracy: 0.9653 - learning_rate: 0.0010 ## Epoch 139/500 -## 90/90 - 0s - 1ms/step - loss: 0.0852 - sparse_categorical_accuracy: 0.9691 - val_loss: 0.1253 - val_sparse_categorical_accuracy: 0.9542 - learning_rate: 0.0010 +## 90/90 - 0s - 1ms/step - loss: 0.0877 - sparse_categorical_accuracy: 0.9708 - val_loss: 3.0631 - val_sparse_categorical_accuracy: 0.7032 - learning_rate: 0.0010 ## Epoch 140/500 -## 90/90 - 1s - 6ms/step - loss: 0.0666 - sparse_categorical_accuracy: 0.9785 - val_loss: 0.2353 - val_sparse_categorical_accuracy: 0.9140 - learning_rate: 5.0000e-04 +## 90/90 - 0s - 1ms/step - loss: 0.0867 - sparse_categorical_accuracy: 0.9719 - val_loss: 1.3638 - val_sparse_categorical_accuracy: 0.7143 - learning_rate: 0.0010 ## Epoch 141/500 -## 90/90 - 0s - 1ms/step - loss: 0.0657 - sparse_categorical_accuracy: 0.9771 - val_loss: 0.1275 - val_sparse_categorical_accuracy: 0.9584 - learning_rate: 5.0000e-04 +## 90/90 - 0s - 1ms/step - loss: 0.0857 - sparse_categorical_accuracy: 0.9715 - val_loss: 0.2599 - val_sparse_categorical_accuracy: 0.9015 - learning_rate: 0.0010 ## Epoch 142/500 -## 90/90 - 0s - 1ms/step - loss: 0.0635 - sparse_categorical_accuracy: 0.9788 - val_loss: 0.2696 - val_sparse_categorical_accuracy: 0.9029 - learning_rate: 5.0000e-04 +## 90/90 - 0s - 1ms/step - loss: 0.0771 - sparse_categorical_accuracy: 0.9764 - val_loss: 0.2860 - val_sparse_categorical_accuracy: 0.8988 - learning_rate: 0.0010 ## Epoch 143/500 -## 90/90 - 0s - 1ms/step - loss: 0.0688 - sparse_categorical_accuracy: 0.9767 - val_loss: 0.1737 - val_sparse_categorical_accuracy: 0.9293 - learning_rate: 5.0000e-04 +## 90/90 - 0s - 1ms/step - loss: 0.0835 - sparse_categorical_accuracy: 0.9694 - val_loss: 0.1252 - val_sparse_categorical_accuracy: 0.9639 - learning_rate: 0.0010 ## Epoch 144/500 -## 90/90 - 0s - 1ms/step - loss: 0.0615 - sparse_categorical_accuracy: 0.9826 - val_loss: 0.2506 - val_sparse_categorical_accuracy: 0.8946 - learning_rate: 5.0000e-04 +## 90/90 - 1s - 7ms/step - loss: 0.0674 - sparse_categorical_accuracy: 0.9809 - val_loss: 0.1234 - val_sparse_categorical_accuracy: 0.9528 - learning_rate: 5.0000e-04 ## Epoch 145/500 -## 90/90 - 0s - 1ms/step - loss: 0.0629 - sparse_categorical_accuracy: 0.9802 - val_loss: 0.1486 - val_sparse_categorical_accuracy: 0.9362 - learning_rate: 5.0000e-04 +## 90/90 - 0s - 1ms/step - loss: 0.0680 - sparse_categorical_accuracy: 0.9771 - val_loss: 0.1147 - val_sparse_categorical_accuracy: 0.9570 - learning_rate: 5.0000e-04 ## Epoch 146/500 -## 90/90 - 0s - 1ms/step - loss: 0.0656 - sparse_categorical_accuracy: 0.9771 - val_loss: 0.1651 - val_sparse_categorical_accuracy: 0.9307 - learning_rate: 5.0000e-04 +## 90/90 - 0s - 2ms/step - loss: 0.0702 - sparse_categorical_accuracy: 0.9781 - val_loss: 0.1042 - val_sparse_categorical_accuracy: 0.9626 - learning_rate: 5.0000e-04 ## Epoch 147/500 -## 90/90 - 0s - 1ms/step - loss: 0.0677 - sparse_categorical_accuracy: 0.9774 - val_loss: 0.1034 - val_sparse_categorical_accuracy: 0.9667 - learning_rate: 5.0000e-04 +## 90/90 - 0s - 1ms/step - loss: 0.0742 - sparse_categorical_accuracy: 0.9757 - val_loss: 0.1511 - val_sparse_categorical_accuracy: 0.9501 - learning_rate: 5.0000e-04 ## Epoch 148/500 -## 90/90 - 0s - 1ms/step - loss: 0.0762 - sparse_categorical_accuracy: 0.9726 - val_loss: 0.1455 - val_sparse_categorical_accuracy: 0.9417 - learning_rate: 5.0000e-04 +## 90/90 - 0s - 1ms/step - loss: 0.0801 - sparse_categorical_accuracy: 0.9708 - val_loss: 0.1219 - val_sparse_categorical_accuracy: 0.9626 - learning_rate: 5.0000e-04 ## Epoch 149/500 -## 90/90 - 0s - 1ms/step - loss: 0.0657 - sparse_categorical_accuracy: 0.9774 - val_loss: 0.1037 - val_sparse_categorical_accuracy: 0.9542 - learning_rate: 5.0000e-04 +## 90/90 - 0s - 2ms/step - loss: 0.0725 - sparse_categorical_accuracy: 0.9767 - val_loss: 0.1028 - val_sparse_categorical_accuracy: 0.9639 - learning_rate: 5.0000e-04 ## Epoch 150/500 -## 90/90 - 0s - 1ms/step - loss: 0.0686 - sparse_categorical_accuracy: 0.9753 - val_loss: 0.1306 - val_sparse_categorical_accuracy: 0.9584 - learning_rate: 5.0000e-04 +## 90/90 - 0s - 1ms/step - loss: 0.0738 - sparse_categorical_accuracy: 0.9733 - val_loss: 0.2021 - val_sparse_categorical_accuracy: 0.9334 - learning_rate: 5.0000e-04 ## Epoch 151/500 -## 90/90 - 0s - 1ms/step - loss: 0.0667 - sparse_categorical_accuracy: 0.9771 - val_loss: 0.1227 - val_sparse_categorical_accuracy: 0.9515 - learning_rate: 5.0000e-04 +## 90/90 - 0s - 1ms/step - loss: 0.0707 - sparse_categorical_accuracy: 0.9750 - val_loss: 0.1358 - val_sparse_categorical_accuracy: 0.9376 - learning_rate: 5.0000e-04 ## Epoch 152/500 -## 90/90 - 0s - 1ms/step - loss: 0.0677 - sparse_categorical_accuracy: 0.9757 - val_loss: 0.1041 - val_sparse_categorical_accuracy: 0.9626 - learning_rate: 5.0000e-04 +## 90/90 - 0s - 1ms/step - loss: 0.0727 - sparse_categorical_accuracy: 0.9740 - val_loss: 0.1989 - val_sparse_categorical_accuracy: 0.9098 - learning_rate: 5.0000e-04 ## Epoch 153/500 -## 90/90 - 0s - 1ms/step - loss: 0.0638 - sparse_categorical_accuracy: 0.9802 - val_loss: 0.1837 - val_sparse_categorical_accuracy: 0.9307 - learning_rate: 5.0000e-04 +## 90/90 - 0s - 1ms/step - loss: 0.0671 - sparse_categorical_accuracy: 0.9778 - val_loss: 0.1250 - val_sparse_categorical_accuracy: 0.9639 - learning_rate: 5.0000e-04 ## Epoch 154/500 -## 90/90 - 0s - 1ms/step - loss: 0.0608 - sparse_categorical_accuracy: 0.9806 - val_loss: 0.1237 - val_sparse_categorical_accuracy: 0.9570 - learning_rate: 5.0000e-04 +## 90/90 - 0s - 1ms/step - loss: 0.0687 - sparse_categorical_accuracy: 0.9781 - val_loss: 0.1973 - val_sparse_categorical_accuracy: 0.9237 - learning_rate: 5.0000e-04 ## Epoch 155/500 -## 90/90 - 0s - 1ms/step - loss: 0.0662 - sparse_categorical_accuracy: 0.9806 - val_loss: 0.1192 - val_sparse_categorical_accuracy: 0.9515 - learning_rate: 5.0000e-04 +## 90/90 - 0s - 1ms/step - loss: 0.0697 - sparse_categorical_accuracy: 0.9774 - val_loss: 0.1190 - val_sparse_categorical_accuracy: 0.9515 - learning_rate: 5.0000e-04 ## Epoch 156/500 -## 90/90 - 0s - 1ms/step - loss: 0.0672 - sparse_categorical_accuracy: 0.9781 - val_loss: 0.1262 - val_sparse_categorical_accuracy: 0.9473 - learning_rate: 5.0000e-04 +## 90/90 - 0s - 1ms/step - loss: 0.0731 - sparse_categorical_accuracy: 0.9750 - val_loss: 0.1409 - val_sparse_categorical_accuracy: 0.9556 - learning_rate: 5.0000e-04 ## Epoch 157/500 -## 90/90 - 0s - 1ms/step - loss: 0.0634 - sparse_categorical_accuracy: 0.9760 - val_loss: 0.1035 - val_sparse_categorical_accuracy: 0.9556 - learning_rate: 5.0000e-04 +## 90/90 - 0s - 1ms/step - loss: 0.0719 - sparse_categorical_accuracy: 0.9740 - val_loss: 0.4024 - val_sparse_categorical_accuracy: 0.8655 - learning_rate: 5.0000e-04 ## Epoch 158/500 -## 90/90 - 0s - 1ms/step - loss: 0.0657 - sparse_categorical_accuracy: 0.9785 - val_loss: 0.2735 - val_sparse_categorical_accuracy: 0.8988 - learning_rate: 5.0000e-04 +## 90/90 - 0s - 1ms/step - loss: 0.0722 - sparse_categorical_accuracy: 0.9750 - val_loss: 0.3254 - val_sparse_categorical_accuracy: 0.8821 - learning_rate: 5.0000e-04 ## Epoch 159/500 -## 90/90 - 0s - 1ms/step - loss: 0.0685 - sparse_categorical_accuracy: 0.9750 - val_loss: 0.2094 - val_sparse_categorical_accuracy: 0.9168 - learning_rate: 5.0000e-04 +## 90/90 - 0s - 1ms/step - loss: 0.0706 - sparse_categorical_accuracy: 0.9760 - val_loss: 0.2014 - val_sparse_categorical_accuracy: 0.9265 - learning_rate: 5.0000e-04 ## Epoch 160/500 -## 90/90 - 0s - 1ms/step - loss: 0.0712 - sparse_categorical_accuracy: 0.9733 - val_loss: 0.1137 - val_sparse_categorical_accuracy: 0.9459 - learning_rate: 5.0000e-04 +## 90/90 - 0s - 1ms/step - loss: 0.0707 - sparse_categorical_accuracy: 0.9753 - val_loss: 0.1128 - val_sparse_categorical_accuracy: 0.9612 - learning_rate: 5.0000e-04 ## Epoch 161/500 -## 90/90 - 0s - 1ms/step - loss: 0.0675 - sparse_categorical_accuracy: 0.9760 - val_loss: 0.1544 - val_sparse_categorical_accuracy: 0.9320 - learning_rate: 5.0000e-04 +## 90/90 - 0s - 1ms/step - loss: 0.0727 - sparse_categorical_accuracy: 0.9767 - val_loss: 0.1118 - val_sparse_categorical_accuracy: 0.9584 - learning_rate: 5.0000e-04 ## Epoch 162/500 -## 90/90 - 0s - 1ms/step - loss: 0.0610 - sparse_categorical_accuracy: 0.9785 - val_loss: 0.1070 - val_sparse_categorical_accuracy: 0.9639 - learning_rate: 5.0000e-04 +## 90/90 - 0s - 1ms/step - loss: 0.0660 - sparse_categorical_accuracy: 0.9767 - val_loss: 0.2972 - val_sparse_categorical_accuracy: 0.8960 - learning_rate: 5.0000e-04 ## Epoch 163/500 -## 90/90 - 0s - 1ms/step - loss: 0.0572 - sparse_categorical_accuracy: 0.9816 - val_loss: 0.1382 - val_sparse_categorical_accuracy: 0.9473 - learning_rate: 5.0000e-04 +## 90/90 - 0s - 1ms/step - loss: 0.0619 - sparse_categorical_accuracy: 0.9795 - val_loss: 0.1079 - val_sparse_categorical_accuracy: 0.9598 - learning_rate: 5.0000e-04 ## Epoch 164/500 -## 90/90 - 0s - 1ms/step - loss: 0.0617 - sparse_categorical_accuracy: 0.9813 - val_loss: 0.1737 - val_sparse_categorical_accuracy: 0.9265 - learning_rate: 5.0000e-04 +## 90/90 - 0s - 1ms/step - loss: 0.0670 - sparse_categorical_accuracy: 0.9774 - val_loss: 0.2169 - val_sparse_categorical_accuracy: 0.9168 - learning_rate: 5.0000e-04 ## Epoch 165/500 -## 90/90 - 0s - 1ms/step - loss: 0.0660 - sparse_categorical_accuracy: 0.9750 - val_loss: 0.1737 - val_sparse_categorical_accuracy: 0.9404 - learning_rate: 5.0000e-04 +## 90/90 - 0s - 1ms/step - loss: 0.0690 - sparse_categorical_accuracy: 0.9757 - val_loss: 0.2980 - val_sparse_categorical_accuracy: 0.9015 - learning_rate: 5.0000e-04 ## Epoch 166/500 -## 90/90 - 0s - 1ms/step - loss: 0.0632 - sparse_categorical_accuracy: 0.9781 - val_loss: 0.1408 - val_sparse_categorical_accuracy: 0.9501 - learning_rate: 5.0000e-04 +## 90/90 - 0s - 1ms/step - loss: 0.0650 - sparse_categorical_accuracy: 0.9785 - val_loss: 0.1257 - val_sparse_categorical_accuracy: 0.9473 - learning_rate: 5.0000e-04 ## Epoch 167/500 -## 90/90 - 0s - 1ms/step - loss: 0.0620 - sparse_categorical_accuracy: 0.9788 - val_loss: 0.2021 - val_sparse_categorical_accuracy: 0.9223 - learning_rate: 5.0000e-04 +## 90/90 - 0s - 1ms/step - loss: 0.0656 - sparse_categorical_accuracy: 0.9788 - val_loss: 0.1451 - val_sparse_categorical_accuracy: 0.9445 - learning_rate: 5.0000e-04 ## Epoch 168/500 -## 90/90 - 0s - 1ms/step - loss: 0.0669 - sparse_categorical_accuracy: 0.9771 - val_loss: 0.1003 - val_sparse_categorical_accuracy: 0.9598 - learning_rate: 2.5000e-04 +## 90/90 - 0s - 1ms/step - loss: 0.0750 - sparse_categorical_accuracy: 0.9736 - val_loss: 0.3402 - val_sparse_categorical_accuracy: 0.8350 - learning_rate: 5.0000e-04 ## Epoch 169/500 -## 90/90 - 0s - 2ms/step - loss: 0.0578 - sparse_categorical_accuracy: 0.9809 - val_loss: 0.0992 - val_sparse_categorical_accuracy: 0.9681 - learning_rate: 2.5000e-04 +## 90/90 - 0s - 1ms/step - loss: 0.0664 - sparse_categorical_accuracy: 0.9785 - val_loss: 0.1295 - val_sparse_categorical_accuracy: 0.9459 - learning_rate: 5.0000e-04 ## Epoch 170/500 -## 90/90 - 0s - 1ms/step - loss: 0.0562 - sparse_categorical_accuracy: 0.9819 - val_loss: 0.0970 - val_sparse_categorical_accuracy: 0.9695 - learning_rate: 2.5000e-04 +## 90/90 - 0s - 2ms/step - loss: 0.0635 - sparse_categorical_accuracy: 0.9816 - val_loss: 0.0992 - val_sparse_categorical_accuracy: 0.9612 - learning_rate: 2.5000e-04 ## Epoch 171/500 -## 90/90 - 0s - 1ms/step - loss: 0.0535 - sparse_categorical_accuracy: 0.9819 - val_loss: 0.1347 - val_sparse_categorical_accuracy: 0.9584 - learning_rate: 2.5000e-04 +## 90/90 - 0s - 1ms/step - loss: 0.0593 - sparse_categorical_accuracy: 0.9816 - val_loss: 0.1230 - val_sparse_categorical_accuracy: 0.9626 - learning_rate: 2.5000e-04 ## Epoch 172/500 -## 90/90 - 0s - 1ms/step - loss: 0.0558 - sparse_categorical_accuracy: 0.9816 - val_loss: 0.0975 - val_sparse_categorical_accuracy: 0.9626 - learning_rate: 2.5000e-04 +## 90/90 - 0s - 1ms/step - loss: 0.0591 - sparse_categorical_accuracy: 0.9799 - val_loss: 0.1079 - val_sparse_categorical_accuracy: 0.9695 - learning_rate: 2.5000e-04 ## Epoch 173/500 -## 90/90 - 0s - 1ms/step - loss: 0.0536 - sparse_categorical_accuracy: 0.9819 - val_loss: 0.1328 - val_sparse_categorical_accuracy: 0.9584 - learning_rate: 2.5000e-04 +## 90/90 - 0s - 1ms/step - loss: 0.0593 - sparse_categorical_accuracy: 0.9816 - val_loss: 0.1073 - val_sparse_categorical_accuracy: 0.9584 - learning_rate: 2.5000e-04 ## Epoch 174/500 -## 90/90 - 0s - 1ms/step - loss: 0.0550 - sparse_categorical_accuracy: 0.9819 - val_loss: 0.1243 - val_sparse_categorical_accuracy: 0.9501 - learning_rate: 2.5000e-04 +## 90/90 - 0s - 2ms/step - loss: 0.0605 - sparse_categorical_accuracy: 0.9819 - val_loss: 0.0979 - val_sparse_categorical_accuracy: 0.9639 - learning_rate: 2.5000e-04 ## Epoch 175/500 -## 90/90 - 0s - 1ms/step - loss: 0.0583 - sparse_categorical_accuracy: 0.9813 - val_loss: 0.1018 - val_sparse_categorical_accuracy: 0.9556 - learning_rate: 2.5000e-04 +## 90/90 - 0s - 1ms/step - loss: 0.0616 - sparse_categorical_accuracy: 0.9802 - val_loss: 0.2084 - val_sparse_categorical_accuracy: 0.9223 - learning_rate: 2.5000e-04 ## Epoch 176/500 -## 90/90 - 0s - 1ms/step - loss: 0.0548 - sparse_categorical_accuracy: 0.9795 - val_loss: 0.1016 - val_sparse_categorical_accuracy: 0.9584 - learning_rate: 2.5000e-04 +## 90/90 - 0s - 1ms/step - loss: 0.0584 - sparse_categorical_accuracy: 0.9795 - val_loss: 0.0993 - val_sparse_categorical_accuracy: 0.9667 - learning_rate: 2.5000e-04 ## Epoch 177/500 -## 90/90 - 0s - 1ms/step - loss: 0.0541 - sparse_categorical_accuracy: 0.9837 - val_loss: 0.1646 - val_sparse_categorical_accuracy: 0.9320 - learning_rate: 2.5000e-04 +## 90/90 - 0s - 1ms/step - loss: 0.0582 - sparse_categorical_accuracy: 0.9823 - val_loss: 0.1498 - val_sparse_categorical_accuracy: 0.9487 - learning_rate: 2.5000e-04 ## Epoch 178/500 -## 90/90 - 0s - 1ms/step - loss: 0.0522 - sparse_categorical_accuracy: 0.9851 - val_loss: 0.1151 - val_sparse_categorical_accuracy: 0.9515 - learning_rate: 2.5000e-04 +## 90/90 - 0s - 1ms/step - loss: 0.0566 - sparse_categorical_accuracy: 0.9806 - val_loss: 0.1165 - val_sparse_categorical_accuracy: 0.9528 - learning_rate: 2.5000e-04 ## Epoch 179/500 -## 90/90 - 0s - 1ms/step - loss: 0.0538 - sparse_categorical_accuracy: 0.9806 - val_loss: 0.1049 - val_sparse_categorical_accuracy: 0.9639 - learning_rate: 2.5000e-04 +## 90/90 - 0s - 2ms/step - loss: 0.0566 - sparse_categorical_accuracy: 0.9806 - val_loss: 0.1714 - val_sparse_categorical_accuracy: 0.9293 - learning_rate: 2.5000e-04 ## Epoch 180/500 -## 90/90 - 0s - 1ms/step - loss: 0.0531 - sparse_categorical_accuracy: 0.9830 - val_loss: 0.1178 - val_sparse_categorical_accuracy: 0.9639 - learning_rate: 2.5000e-04 +## 90/90 - 0s - 2ms/step - loss: 0.0563 - sparse_categorical_accuracy: 0.9833 - val_loss: 0.1042 - val_sparse_categorical_accuracy: 0.9598 - learning_rate: 2.5000e-04 ## Epoch 181/500 -## 90/90 - 0s - 1ms/step - loss: 0.0562 - sparse_categorical_accuracy: 0.9844 - val_loss: 0.1024 - val_sparse_categorical_accuracy: 0.9598 - learning_rate: 2.5000e-04 +## 90/90 - 0s - 2ms/step - loss: 0.0609 - sparse_categorical_accuracy: 0.9806 - val_loss: 0.2017 - val_sparse_categorical_accuracy: 0.9209 - learning_rate: 2.5000e-04 ## Epoch 182/500 -## 90/90 - 0s - 1ms/step - loss: 0.0525 - sparse_categorical_accuracy: 0.9833 - val_loss: 0.1600 - val_sparse_categorical_accuracy: 0.9376 - learning_rate: 2.5000e-04 +## 90/90 - 0s - 1ms/step - loss: 0.0559 - sparse_categorical_accuracy: 0.9833 - val_loss: 0.1059 - val_sparse_categorical_accuracy: 0.9653 - learning_rate: 2.5000e-04 ## Epoch 183/500 -## 90/90 - 0s - 1ms/step - loss: 0.0554 - sparse_categorical_accuracy: 0.9816 - val_loss: 0.1395 - val_sparse_categorical_accuracy: 0.9501 - learning_rate: 2.5000e-04 +## 90/90 - 0s - 1ms/step - loss: 0.0597 - sparse_categorical_accuracy: 0.9802 - val_loss: 0.1279 - val_sparse_categorical_accuracy: 0.9445 - learning_rate: 2.5000e-04 ## Epoch 184/500 -## 90/90 - 0s - 1ms/step - loss: 0.0514 - sparse_categorical_accuracy: 0.9844 - val_loss: 0.1340 - val_sparse_categorical_accuracy: 0.9459 - learning_rate: 2.5000e-04 +## 90/90 - 0s - 1ms/step - loss: 0.0553 - sparse_categorical_accuracy: 0.9816 - val_loss: 0.1036 - val_sparse_categorical_accuracy: 0.9667 - learning_rate: 2.5000e-04 ## Epoch 185/500 -## 90/90 - 0s - 1ms/step - loss: 0.0531 - sparse_categorical_accuracy: 0.9823 - val_loss: 0.1383 - val_sparse_categorical_accuracy: 0.9473 - learning_rate: 2.5000e-04 +## 90/90 - 0s - 1ms/step - loss: 0.0570 - sparse_categorical_accuracy: 0.9809 - val_loss: 0.1022 - val_sparse_categorical_accuracy: 0.9681 - learning_rate: 2.5000e-04 ## Epoch 186/500 -## 90/90 - 0s - 1ms/step - loss: 0.0574 - sparse_categorical_accuracy: 0.9823 - val_loss: 0.1325 - val_sparse_categorical_accuracy: 0.9515 - learning_rate: 2.5000e-04 +## 90/90 - 0s - 1ms/step - loss: 0.0633 - sparse_categorical_accuracy: 0.9781 - val_loss: 0.1086 - val_sparse_categorical_accuracy: 0.9584 - learning_rate: 2.5000e-04 ## Epoch 187/500 -## 90/90 - 0s - 1ms/step - loss: 0.0532 - sparse_categorical_accuracy: 0.9819 - val_loss: 0.1442 - val_sparse_categorical_accuracy: 0.9487 - learning_rate: 2.5000e-04 +## 90/90 - 0s - 2ms/step - loss: 0.0576 - sparse_categorical_accuracy: 0.9833 - val_loss: 0.0969 - val_sparse_categorical_accuracy: 0.9681 - learning_rate: 2.5000e-04 ## Epoch 188/500 -## 90/90 - 0s - 1ms/step - loss: 0.0533 - sparse_categorical_accuracy: 0.9840 - val_loss: 0.1016 - val_sparse_categorical_accuracy: 0.9681 - learning_rate: 2.5000e-04 +## 90/90 - 0s - 1ms/step - loss: 0.0567 - sparse_categorical_accuracy: 0.9840 - val_loss: 0.1043 - val_sparse_categorical_accuracy: 0.9612 - learning_rate: 2.5000e-04 ## Epoch 189/500 -## 90/90 - 0s - 1ms/step - loss: 0.0493 - sparse_categorical_accuracy: 0.9861 - val_loss: 0.1639 - val_sparse_categorical_accuracy: 0.9445 - learning_rate: 2.5000e-04 +## 90/90 - 0s - 1ms/step - loss: 0.0546 - sparse_categorical_accuracy: 0.9854 - val_loss: 0.1734 - val_sparse_categorical_accuracy: 0.9362 - learning_rate: 2.5000e-04 ## Epoch 190/500 -## 90/90 - 0s - 1ms/step - loss: 0.0583 - sparse_categorical_accuracy: 0.9802 - val_loss: 0.3468 - val_sparse_categorical_accuracy: 0.8863 - learning_rate: 2.5000e-04 +## 90/90 - 0s - 1ms/step - loss: 0.0639 - sparse_categorical_accuracy: 0.9799 - val_loss: 0.2847 - val_sparse_categorical_accuracy: 0.9015 - learning_rate: 2.5000e-04 ## Epoch 191/500 -## 90/90 - 0s - 1ms/step - loss: 0.0496 - sparse_categorical_accuracy: 0.9819 - val_loss: 0.1010 - val_sparse_categorical_accuracy: 0.9709 - learning_rate: 1.2500e-04 +## 90/90 - 0s - 1ms/step - loss: 0.0551 - sparse_categorical_accuracy: 0.9799 - val_loss: 0.4059 - val_sparse_categorical_accuracy: 0.8682 - learning_rate: 2.5000e-04 ## Epoch 192/500 -## 90/90 - 0s - 1ms/step - loss: 0.0536 - sparse_categorical_accuracy: 0.9819 - val_loss: 0.1100 - val_sparse_categorical_accuracy: 0.9695 - learning_rate: 1.2500e-04 +## 90/90 - 0s - 1ms/step - loss: 0.0613 - sparse_categorical_accuracy: 0.9802 - val_loss: 0.3821 - val_sparse_categorical_accuracy: 0.8724 - learning_rate: 2.5000e-04 ## Epoch 193/500 -## 90/90 - 0s - 1ms/step - loss: 0.0497 - sparse_categorical_accuracy: 0.9851 - val_loss: 0.1388 - val_sparse_categorical_accuracy: 0.9528 - learning_rate: 1.2500e-04 +## 90/90 - 0s - 1ms/step - loss: 0.0559 - sparse_categorical_accuracy: 0.9833 - val_loss: 0.1028 - val_sparse_categorical_accuracy: 0.9667 - learning_rate: 2.5000e-04 ## Epoch 194/500 -## 90/90 - 0s - 1ms/step - loss: 0.0490 - sparse_categorical_accuracy: 0.9826 - val_loss: 0.0983 - val_sparse_categorical_accuracy: 0.9695 - learning_rate: 1.2500e-04 +## 90/90 - 0s - 1ms/step - loss: 0.0553 - sparse_categorical_accuracy: 0.9806 - val_loss: 0.1008 - val_sparse_categorical_accuracy: 0.9612 - learning_rate: 2.5000e-04 ## Epoch 195/500 -## 90/90 - 0s - 1ms/step - loss: 0.0499 - sparse_categorical_accuracy: 0.9858 - val_loss: 0.1001 - val_sparse_categorical_accuracy: 0.9709 - learning_rate: 1.2500e-04 +## 90/90 - 0s - 1ms/step - loss: 0.0557 - sparse_categorical_accuracy: 0.9830 - val_loss: 0.0996 - val_sparse_categorical_accuracy: 0.9653 - learning_rate: 2.5000e-04 ## Epoch 196/500 -## 90/90 - 0s - 1ms/step - loss: 0.0517 - sparse_categorical_accuracy: 0.9823 - val_loss: 0.1001 - val_sparse_categorical_accuracy: 0.9612 - learning_rate: 1.2500e-04 +## 90/90 - 0s - 1ms/step - loss: 0.0581 - sparse_categorical_accuracy: 0.9778 - val_loss: 0.1143 - val_sparse_categorical_accuracy: 0.9542 - learning_rate: 2.5000e-04 ## Epoch 197/500 -## 90/90 - 0s - 1ms/step - loss: 0.0489 - sparse_categorical_accuracy: 0.9840 - val_loss: 0.0987 - val_sparse_categorical_accuracy: 0.9695 - learning_rate: 1.2500e-04 +## 90/90 - 0s - 1ms/step - loss: 0.0544 - sparse_categorical_accuracy: 0.9830 - val_loss: 0.1027 - val_sparse_categorical_accuracy: 0.9709 - learning_rate: 2.5000e-04 ## Epoch 198/500 -## 90/90 - 0s - 1ms/step - loss: 0.0472 - sparse_categorical_accuracy: 0.9889 - val_loss: 0.1672 - val_sparse_categorical_accuracy: 0.9362 - learning_rate: 1.2500e-04 +## 90/90 - 0s - 1ms/step - loss: 0.0533 - sparse_categorical_accuracy: 0.9861 - val_loss: 0.1310 - val_sparse_categorical_accuracy: 0.9598 - learning_rate: 2.5000e-04 ## Epoch 199/500 -## 90/90 - 0s - 1ms/step - loss: 0.0508 - sparse_categorical_accuracy: 0.9826 - val_loss: 0.0990 - val_sparse_categorical_accuracy: 0.9709 - learning_rate: 1.2500e-04 +## 90/90 - 0s - 1ms/step - loss: 0.0578 - sparse_categorical_accuracy: 0.9795 - val_loss: 0.1236 - val_sparse_categorical_accuracy: 0.9515 - learning_rate: 2.5000e-04 ## Epoch 200/500 -## 90/90 - 0s - 1ms/step - loss: 0.0497 - sparse_categorical_accuracy: 0.9851 - val_loss: 0.1290 - val_sparse_categorical_accuracy: 0.9584 - learning_rate: 1.2500e-04 +## 90/90 - 0s - 1ms/step - loss: 0.0582 - sparse_categorical_accuracy: 0.9813 - val_loss: 0.0987 - val_sparse_categorical_accuracy: 0.9626 - learning_rate: 2.5000e-04 ## Epoch 201/500 -## 90/90 - 0s - 1ms/step - loss: 0.0480 - sparse_categorical_accuracy: 0.9844 - val_loss: 0.1390 - val_sparse_categorical_accuracy: 0.9542 - learning_rate: 1.2500e-04 +## 90/90 - 0s - 1ms/step - loss: 0.0551 - sparse_categorical_accuracy: 0.9830 - val_loss: 0.1327 - val_sparse_categorical_accuracy: 0.9612 - learning_rate: 2.5000e-04 ## Epoch 202/500 -## 90/90 - 0s - 1ms/step - loss: 0.0477 - sparse_categorical_accuracy: 0.9872 - val_loss: 0.1194 - val_sparse_categorical_accuracy: 0.9612 - learning_rate: 1.2500e-04 +## 90/90 - 0s - 1ms/step - loss: 0.0543 - sparse_categorical_accuracy: 0.9823 - val_loss: 0.2115 - val_sparse_categorical_accuracy: 0.9140 - learning_rate: 2.5000e-04 ## Epoch 203/500 -## 90/90 - 0s - 1ms/step - loss: 0.0508 - sparse_categorical_accuracy: 0.9851 - val_loss: 0.1078 - val_sparse_categorical_accuracy: 0.9653 - learning_rate: 1.2500e-04 +## 90/90 - 0s - 1ms/step - loss: 0.0553 - sparse_categorical_accuracy: 0.9830 - val_loss: 0.2015 - val_sparse_categorical_accuracy: 0.9223 - learning_rate: 2.5000e-04 ## Epoch 204/500 -## 90/90 - 0s - 1ms/step - loss: 0.0449 - sparse_categorical_accuracy: 0.9875 - val_loss: 0.1227 - val_sparse_categorical_accuracy: 0.9612 - learning_rate: 1.2500e-04 +## 90/90 - 0s - 1ms/step - loss: 0.0508 - sparse_categorical_accuracy: 0.9840 - val_loss: 0.1078 - val_sparse_categorical_accuracy: 0.9695 - learning_rate: 2.5000e-04 ## Epoch 205/500 -## 90/90 - 0s - 1ms/step - loss: 0.0487 - sparse_categorical_accuracy: 0.9833 - val_loss: 0.1194 - val_sparse_categorical_accuracy: 0.9626 - learning_rate: 1.2500e-04 +## 90/90 - 0s - 1ms/step - loss: 0.0542 - sparse_categorical_accuracy: 0.9830 - val_loss: 0.0996 - val_sparse_categorical_accuracy: 0.9612 - learning_rate: 2.5000e-04 ## Epoch 206/500 -## 90/90 - 0s - 1ms/step - loss: 0.0491 - sparse_categorical_accuracy: 0.9840 - val_loss: 0.1540 - val_sparse_categorical_accuracy: 0.9431 - learning_rate: 1.2500e-04 +## 90/90 - 0s - 1ms/step - loss: 0.0559 - sparse_categorical_accuracy: 0.9806 - val_loss: 0.1172 - val_sparse_categorical_accuracy: 0.9528 - learning_rate: 2.5000e-04 ## Epoch 207/500 -## 90/90 - 0s - 1ms/step - loss: 0.0529 - sparse_categorical_accuracy: 0.9823 - val_loss: 0.1023 - val_sparse_categorical_accuracy: 0.9667 - learning_rate: 1.2500e-04 +## 90/90 - 0s - 2ms/step - loss: 0.0570 - sparse_categorical_accuracy: 0.9819 - val_loss: 0.0987 - val_sparse_categorical_accuracy: 0.9542 - learning_rate: 2.5000e-04 ## Epoch 208/500 -## 90/90 - 0s - 1ms/step - loss: 0.0488 - sparse_categorical_accuracy: 0.9851 - val_loss: 0.1295 - val_sparse_categorical_accuracy: 0.9612 - learning_rate: 1.2500e-04 +## 90/90 - 0s - 2ms/step - loss: 0.0521 - sparse_categorical_accuracy: 0.9840 - val_loss: 0.1000 - val_sparse_categorical_accuracy: 0.9653 - learning_rate: 1.2500e-04 ## Epoch 209/500 -## 90/90 - 0s - 1ms/step - loss: 0.0455 - sparse_categorical_accuracy: 0.9844 - val_loss: 0.1169 - val_sparse_categorical_accuracy: 0.9667 - learning_rate: 1.2500e-04 +## 90/90 - 0s - 1ms/step - loss: 0.0497 - sparse_categorical_accuracy: 0.9823 - val_loss: 0.1286 - val_sparse_categorical_accuracy: 0.9584 - learning_rate: 1.2500e-04 ## Epoch 210/500 -## 90/90 - 0s - 1ms/step - loss: 0.0489 - sparse_categorical_accuracy: 0.9851 - val_loss: 0.0976 - val_sparse_categorical_accuracy: 0.9626 - learning_rate: 1.2500e-04 +## 90/90 - 0s - 1ms/step - loss: 0.0541 - sparse_categorical_accuracy: 0.9816 - val_loss: 0.1028 - val_sparse_categorical_accuracy: 0.9695 - learning_rate: 1.2500e-04 ## Epoch 211/500 -## 90/90 - 0s - 1ms/step - loss: 0.0475 - sparse_categorical_accuracy: 0.9861 - val_loss: 0.1001 - val_sparse_categorical_accuracy: 0.9695 - learning_rate: 1.0000e-04 +## 90/90 - 0s - 1ms/step - loss: 0.0509 - sparse_categorical_accuracy: 0.9844 - val_loss: 0.0993 - val_sparse_categorical_accuracy: 0.9695 - learning_rate: 1.2500e-04 ## Epoch 212/500 -## 90/90 - 0s - 1ms/step - loss: 0.0474 - sparse_categorical_accuracy: 0.9878 - val_loss: 0.0986 - val_sparse_categorical_accuracy: 0.9695 - learning_rate: 1.0000e-04 +## 90/90 - 0s - 1ms/step - loss: 0.0503 - sparse_categorical_accuracy: 0.9854 - val_loss: 0.0987 - val_sparse_categorical_accuracy: 0.9709 - learning_rate: 1.2500e-04 ## Epoch 213/500 -## 90/90 - 0s - 1ms/step - loss: 0.0483 - sparse_categorical_accuracy: 0.9851 - val_loss: 0.0997 - val_sparse_categorical_accuracy: 0.9584 - learning_rate: 1.0000e-04 +## 90/90 - 0s - 2ms/step - loss: 0.0534 - sparse_categorical_accuracy: 0.9837 - val_loss: 0.0968 - val_sparse_categorical_accuracy: 0.9612 - learning_rate: 1.2500e-04 ## Epoch 214/500 -## 90/90 - 0s - 1ms/step - loss: 0.0490 - sparse_categorical_accuracy: 0.9851 - val_loss: 0.1029 - val_sparse_categorical_accuracy: 0.9695 - learning_rate: 1.0000e-04 +## 90/90 - 0s - 1ms/step - loss: 0.0532 - sparse_categorical_accuracy: 0.9844 - val_loss: 0.1078 - val_sparse_categorical_accuracy: 0.9681 - learning_rate: 1.2500e-04 ## Epoch 215/500 -## 90/90 - 0s - 1ms/step - loss: 0.0464 - sparse_categorical_accuracy: 0.9858 - val_loss: 0.1445 - val_sparse_categorical_accuracy: 0.9473 - learning_rate: 1.0000e-04 +## 90/90 - 0s - 1ms/step - loss: 0.0488 - sparse_categorical_accuracy: 0.9851 - val_loss: 0.1013 - val_sparse_categorical_accuracy: 0.9709 - learning_rate: 1.2500e-04 ## Epoch 216/500 -## 90/90 - 0s - 1ms/step - loss: 0.0456 - sparse_categorical_accuracy: 0.9858 - val_loss: 0.1137 - val_sparse_categorical_accuracy: 0.9681 - learning_rate: 1.0000e-04 +## 90/90 - 0s - 1ms/step - loss: 0.0497 - sparse_categorical_accuracy: 0.9851 - val_loss: 0.1244 - val_sparse_categorical_accuracy: 0.9570 - learning_rate: 1.2500e-04 ## Epoch 217/500 -## 90/90 - 0s - 1ms/step - loss: 0.0463 - sparse_categorical_accuracy: 0.9844 - val_loss: 0.1345 - val_sparse_categorical_accuracy: 0.9612 - learning_rate: 1.0000e-04 +## 90/90 - 0s - 2ms/step - loss: 0.0495 - sparse_categorical_accuracy: 0.9847 - val_loss: 0.1141 - val_sparse_categorical_accuracy: 0.9639 - learning_rate: 1.2500e-04 ## Epoch 218/500 -## 90/90 - 0s - 1ms/step - loss: 0.0501 - sparse_categorical_accuracy: 0.9830 - val_loss: 0.0979 - val_sparse_categorical_accuracy: 0.9653 - learning_rate: 1.0000e-04 +## 90/90 - 0s - 2ms/step - loss: 0.0547 - sparse_categorical_accuracy: 0.9819 - val_loss: 0.0976 - val_sparse_categorical_accuracy: 0.9626 - learning_rate: 1.2500e-04 ## Epoch 219/500 -## 90/90 - 0s - 1ms/step - loss: 0.0445 - sparse_categorical_accuracy: 0.9858 - val_loss: 0.1149 - val_sparse_categorical_accuracy: 0.9667 - learning_rate: 1.0000e-04 +## 90/90 - 0s - 2ms/step - loss: 0.0480 - sparse_categorical_accuracy: 0.9868 - val_loss: 0.1387 - val_sparse_categorical_accuracy: 0.9556 - learning_rate: 1.2500e-04 ## Epoch 220/500 -## 90/90 - 0s - 1ms/step - loss: 0.0463 - sparse_categorical_accuracy: 0.9872 - val_loss: 0.1003 - val_sparse_categorical_accuracy: 0.9612 - learning_rate: 1.0000e-04 -## Epoch 220: early stopping +## 90/90 - 0s - 1ms/step - loss: 0.0497 - sparse_categorical_accuracy: 0.9854 - val_loss: 0.1161 - val_sparse_categorical_accuracy: 0.9612 - learning_rate: 1.2500e-04 +## Epoch 221/500 +## 90/90 - 0s - 1ms/step - loss: 0.0516 - sparse_categorical_accuracy: 0.9813 - val_loss: 0.1338 - val_sparse_categorical_accuracy: 0.9542 - learning_rate: 1.2500e-04 +## Epoch 222/500 +## 90/90 - 0s - 1ms/step - loss: 0.0525 - sparse_categorical_accuracy: 0.9806 - val_loss: 0.0995 - val_sparse_categorical_accuracy: 0.9695 - learning_rate: 1.2500e-04 +## Epoch 223/500 +## 90/90 - 0s - 1ms/step - loss: 0.0504 - sparse_categorical_accuracy: 0.9823 - val_loss: 0.0979 - val_sparse_categorical_accuracy: 0.9570 - learning_rate: 1.2500e-04 +## Epoch 224/500 +## 90/90 - 0s - 1ms/step - loss: 0.0471 - sparse_categorical_accuracy: 0.9851 - val_loss: 0.0994 - val_sparse_categorical_accuracy: 0.9584 - learning_rate: 1.2500e-04 +## Epoch 225/500 +## 90/90 - 0s - 1ms/step - loss: 0.0536 - sparse_categorical_accuracy: 0.9837 - val_loss: 0.1145 - val_sparse_categorical_accuracy: 0.9667 - learning_rate: 1.2500e-04 +## Epoch 226/500 +## 90/90 - 0s - 1ms/step - loss: 0.0487 - sparse_categorical_accuracy: 0.9840 - val_loss: 0.1047 - val_sparse_categorical_accuracy: 0.9736 - learning_rate: 1.2500e-04 +## Epoch 227/500 +## 90/90 - 0s - 1ms/step - loss: 0.0529 - sparse_categorical_accuracy: 0.9813 - val_loss: 0.1087 - val_sparse_categorical_accuracy: 0.9542 - learning_rate: 1.2500e-04 +## Epoch 228/500 +## 90/90 - 0s - 1ms/step - loss: 0.0477 - sparse_categorical_accuracy: 0.9882 - val_loss: 0.0992 - val_sparse_categorical_accuracy: 0.9612 - learning_rate: 1.2500e-04 +## Epoch 229/500 +## 90/90 - 0s - 1ms/step - loss: 0.0499 - sparse_categorical_accuracy: 0.9854 - val_loss: 0.1064 - val_sparse_categorical_accuracy: 0.9681 - learning_rate: 1.2500e-04 +## Epoch 230/500 +## 90/90 - 0s - 2ms/step - loss: 0.0476 - sparse_categorical_accuracy: 0.9844 - val_loss: 0.0967 - val_sparse_categorical_accuracy: 0.9626 - learning_rate: 1.2500e-04 +## Epoch 231/500 +## 90/90 - 0s - 1ms/step - loss: 0.0527 - sparse_categorical_accuracy: 0.9816 - val_loss: 0.1730 - val_sparse_categorical_accuracy: 0.9390 - learning_rate: 1.2500e-04 +## Epoch 232/500 +## 90/90 - 0s - 1ms/step - loss: 0.0496 - sparse_categorical_accuracy: 0.9844 - val_loss: 0.1109 - val_sparse_categorical_accuracy: 0.9639 - learning_rate: 1.2500e-04 +## Epoch 233/500 +## 90/90 - 0s - 2ms/step - loss: 0.0483 - sparse_categorical_accuracy: 0.9840 - val_loss: 0.0963 - val_sparse_categorical_accuracy: 0.9612 - learning_rate: 1.2500e-04 +## Epoch 234/500 +## 90/90 - 0s - 1ms/step - loss: 0.0493 - sparse_categorical_accuracy: 0.9844 - val_loss: 0.1158 - val_sparse_categorical_accuracy: 0.9653 - learning_rate: 1.2500e-04 +## Epoch 235/500 +## 90/90 - 0s - 1ms/step - loss: 0.0493 - sparse_categorical_accuracy: 0.9837 - val_loss: 0.1057 - val_sparse_categorical_accuracy: 0.9667 - learning_rate: 1.2500e-04 +## Epoch 236/500 +## 90/90 - 0s - 1ms/step - loss: 0.0502 - sparse_categorical_accuracy: 0.9837 - val_loss: 0.0982 - val_sparse_categorical_accuracy: 0.9570 - learning_rate: 1.2500e-04 +## Epoch 237/500 +## 90/90 - 0s - 1ms/step - loss: 0.0501 - sparse_categorical_accuracy: 0.9819 - val_loss: 0.0992 - val_sparse_categorical_accuracy: 0.9695 - learning_rate: 1.2500e-04 +## Epoch 238/500 +## 90/90 - 0s - 1ms/step - loss: 0.0487 - sparse_categorical_accuracy: 0.9872 - val_loss: 0.1031 - val_sparse_categorical_accuracy: 0.9556 - learning_rate: 1.2500e-04 +## Epoch 239/500 +## 90/90 - 0s - 1ms/step - loss: 0.0491 - sparse_categorical_accuracy: 0.9844 - val_loss: 0.1139 - val_sparse_categorical_accuracy: 0.9515 - learning_rate: 1.2500e-04 +## Epoch 240/500 +## 90/90 - 0s - 2ms/step - loss: 0.0478 - sparse_categorical_accuracy: 0.9844 - val_loss: 0.0990 - val_sparse_categorical_accuracy: 0.9626 - learning_rate: 1.2500e-04 +## Epoch 241/500 +## 90/90 - 0s - 2ms/step - loss: 0.0498 - sparse_categorical_accuracy: 0.9830 - val_loss: 0.0994 - val_sparse_categorical_accuracy: 0.9570 - learning_rate: 1.2500e-04 +## Epoch 242/500 +## 90/90 - 0s - 2ms/step - loss: 0.0490 - sparse_categorical_accuracy: 0.9851 - val_loss: 0.1118 - val_sparse_categorical_accuracy: 0.9681 - learning_rate: 1.2500e-04 +## Epoch 243/500 +## 90/90 - 0s - 2ms/step - loss: 0.0523 - sparse_categorical_accuracy: 0.9823 - val_loss: 0.1052 - val_sparse_categorical_accuracy: 0.9653 - learning_rate: 1.2500e-04 +## Epoch 244/500 +## 90/90 - 0s - 2ms/step - loss: 0.0527 - sparse_categorical_accuracy: 0.9806 - val_loss: 0.1055 - val_sparse_categorical_accuracy: 0.9695 - learning_rate: 1.2500e-04 +## Epoch 245/500 +## 90/90 - 0s - 2ms/step - loss: 0.0476 - sparse_categorical_accuracy: 0.9865 - val_loss: 0.1045 - val_sparse_categorical_accuracy: 0.9542 - learning_rate: 1.2500e-04 +## Epoch 246/500 +## 90/90 - 0s - 1ms/step - loss: 0.0518 - sparse_categorical_accuracy: 0.9823 - val_loss: 0.1214 - val_sparse_categorical_accuracy: 0.9501 - learning_rate: 1.2500e-04 +## Epoch 247/500 +## 90/90 - 0s - 1ms/step - loss: 0.0457 - sparse_categorical_accuracy: 0.9875 - val_loss: 0.0964 - val_sparse_categorical_accuracy: 0.9653 - learning_rate: 1.2500e-04 +## Epoch 248/500 +## 90/90 - 0s - 1ms/step - loss: 0.0450 - sparse_categorical_accuracy: 0.9885 - val_loss: 0.1161 - val_sparse_categorical_accuracy: 0.9584 - learning_rate: 1.2500e-04 +## Epoch 249/500 +## 90/90 - 0s - 1ms/step - loss: 0.0492 - sparse_categorical_accuracy: 0.9875 - val_loss: 0.1282 - val_sparse_categorical_accuracy: 0.9570 - learning_rate: 1.2500e-04 +## Epoch 250/500 +## 90/90 - 0s - 2ms/step - loss: 0.0510 - sparse_categorical_accuracy: 0.9826 - val_loss: 0.0972 - val_sparse_categorical_accuracy: 0.9612 - learning_rate: 1.2500e-04 +## Epoch 251/500 +## 90/90 - 0s - 1ms/step - loss: 0.0506 - sparse_categorical_accuracy: 0.9833 - val_loss: 0.0986 - val_sparse_categorical_accuracy: 0.9653 - learning_rate: 1.2500e-04 +## Epoch 252/500 +## 90/90 - 0s - 2ms/step - loss: 0.0503 - sparse_categorical_accuracy: 0.9847 - val_loss: 0.1075 - val_sparse_categorical_accuracy: 0.9653 - learning_rate: 1.2500e-04 +## Epoch 253/500 +## 90/90 - 0s - 2ms/step - loss: 0.0507 - sparse_categorical_accuracy: 0.9837 - val_loss: 0.0999 - val_sparse_categorical_accuracy: 0.9612 - learning_rate: 1.2500e-04 +## Epoch 254/500 +## 90/90 - 0s - 2ms/step - loss: 0.0478 - sparse_categorical_accuracy: 0.9858 - val_loss: 0.0971 - val_sparse_categorical_accuracy: 0.9736 - learning_rate: 1.0000e-04 +## Epoch 255/500 +## 90/90 - 0s - 2ms/step - loss: 0.0464 - sparse_categorical_accuracy: 0.9844 - val_loss: 0.0954 - val_sparse_categorical_accuracy: 0.9653 - learning_rate: 1.0000e-04 +## Epoch 256/500 +## 90/90 - 0s - 2ms/step - loss: 0.0476 - sparse_categorical_accuracy: 0.9865 - val_loss: 0.0954 - val_sparse_categorical_accuracy: 0.9653 - learning_rate: 1.0000e-04 +## Epoch 257/500 +## 90/90 - 0s - 1ms/step - loss: 0.0472 - sparse_categorical_accuracy: 0.9875 - val_loss: 0.1047 - val_sparse_categorical_accuracy: 0.9736 - learning_rate: 1.0000e-04 +## Epoch 258/500 +## 90/90 - 0s - 1ms/step - loss: 0.0448 - sparse_categorical_accuracy: 0.9872 - val_loss: 0.1099 - val_sparse_categorical_accuracy: 0.9695 - learning_rate: 1.0000e-04 +## Epoch 259/500 +## 90/90 - 0s - 1ms/step - loss: 0.0447 - sparse_categorical_accuracy: 0.9868 - val_loss: 0.1245 - val_sparse_categorical_accuracy: 0.9570 - learning_rate: 1.0000e-04 +## Epoch 260/500 +## 90/90 - 0s - 1ms/step - loss: 0.0454 - sparse_categorical_accuracy: 0.9865 - val_loss: 0.1113 - val_sparse_categorical_accuracy: 0.9584 - learning_rate: 1.0000e-04 +## Epoch 261/500 +## 90/90 - 0s - 1ms/step - loss: 0.0488 - sparse_categorical_accuracy: 0.9840 - val_loss: 0.1697 - val_sparse_categorical_accuracy: 0.9404 - learning_rate: 1.0000e-04 +## Epoch 262/500 +## 90/90 - 0s - 1ms/step - loss: 0.0450 - sparse_categorical_accuracy: 0.9878 - val_loss: 0.0987 - val_sparse_categorical_accuracy: 0.9653 - learning_rate: 1.0000e-04 +## Epoch 263/500 +## 90/90 - 0s - 1ms/step - loss: 0.0439 - sparse_categorical_accuracy: 0.9875 - val_loss: 0.0975 - val_sparse_categorical_accuracy: 0.9695 - learning_rate: 1.0000e-04 +## Epoch 264/500 +## 90/90 - 0s - 1ms/step - loss: 0.0498 - sparse_categorical_accuracy: 0.9840 - val_loss: 0.1111 - val_sparse_categorical_accuracy: 0.9653 - learning_rate: 1.0000e-04 +## Epoch 265/500 +## 90/90 - 0s - 1ms/step - loss: 0.0523 - sparse_categorical_accuracy: 0.9809 - val_loss: 0.0983 - val_sparse_categorical_accuracy: 0.9695 - learning_rate: 1.0000e-04 +## Epoch 266/500 +## 90/90 - 0s - 1ms/step - loss: 0.0459 - sparse_categorical_accuracy: 0.9865 - val_loss: 0.0997 - val_sparse_categorical_accuracy: 0.9709 - learning_rate: 1.0000e-04 +## Epoch 267/500 +## 90/90 - 0s - 1ms/step - loss: 0.0462 - sparse_categorical_accuracy: 0.9868 - val_loss: 0.1002 - val_sparse_categorical_accuracy: 0.9709 - learning_rate: 1.0000e-04 +## Epoch 268/500 +## 90/90 - 0s - 1ms/step - loss: 0.0438 - sparse_categorical_accuracy: 0.9882 - val_loss: 0.1058 - val_sparse_categorical_accuracy: 0.9681 - learning_rate: 1.0000e-04 +## Epoch 269/500 +## 90/90 - 0s - 2ms/step - loss: 0.0491 - sparse_categorical_accuracy: 0.9872 - val_loss: 0.1289 - val_sparse_categorical_accuracy: 0.9556 - learning_rate: 1.0000e-04 +## Epoch 270/500 +## 90/90 - 0s - 2ms/step - loss: 0.0430 - sparse_categorical_accuracy: 0.9889 - val_loss: 0.1078 - val_sparse_categorical_accuracy: 0.9556 - learning_rate: 1.0000e-04 +## Epoch 271/500 +## 90/90 - 0s - 1ms/step - loss: 0.0454 - sparse_categorical_accuracy: 0.9875 - val_loss: 0.1096 - val_sparse_categorical_accuracy: 0.9681 - learning_rate: 1.0000e-04 +## Epoch 272/500 +## 90/90 - 0s - 1ms/step - loss: 0.0455 - sparse_categorical_accuracy: 0.9854 - val_loss: 0.1262 - val_sparse_categorical_accuracy: 0.9570 - learning_rate: 1.0000e-04 +## Epoch 273/500 +## 90/90 - 0s - 1ms/step - loss: 0.0469 - sparse_categorical_accuracy: 0.9844 - val_loss: 0.1129 - val_sparse_categorical_accuracy: 0.9626 - learning_rate: 1.0000e-04 +## Epoch 274/500 +## 90/90 - 0s - 1ms/step - loss: 0.0429 - sparse_categorical_accuracy: 0.9896 - val_loss: 0.1119 - val_sparse_categorical_accuracy: 0.9653 - learning_rate: 1.0000e-04 +## Epoch 275/500 +## 90/90 - 0s - 1ms/step - loss: 0.0430 - sparse_categorical_accuracy: 0.9865 - val_loss: 0.1392 - val_sparse_categorical_accuracy: 0.9542 - learning_rate: 1.0000e-04 +## Epoch 276/500 +## 90/90 - 0s - 1ms/step - loss: 0.0463 - sparse_categorical_accuracy: 0.9837 - val_loss: 0.0976 - val_sparse_categorical_accuracy: 0.9709 - learning_rate: 1.0000e-04 +## Epoch 277/500 +## 90/90 - 0s - 1ms/step - loss: 0.0457 - sparse_categorical_accuracy: 0.9878 - val_loss: 0.1036 - val_sparse_categorical_accuracy: 0.9695 - learning_rate: 1.0000e-04 +## Epoch 278/500 +## 90/90 - 0s - 1ms/step - loss: 0.0465 - sparse_categorical_accuracy: 0.9851 - val_loss: 0.1205 - val_sparse_categorical_accuracy: 0.9612 - learning_rate: 1.0000e-04 +## Epoch 279/500 +## 90/90 - 0s - 1ms/step - loss: 0.0473 - sparse_categorical_accuracy: 0.9858 - val_loss: 0.0958 - val_sparse_categorical_accuracy: 0.9695 - learning_rate: 1.0000e-04 +## Epoch 280/500 +## 90/90 - 0s - 2ms/step - loss: 0.0459 - sparse_categorical_accuracy: 0.9844 - val_loss: 0.0947 - val_sparse_categorical_accuracy: 0.9653 - learning_rate: 1.0000e-04 +## Epoch 281/500 +## 90/90 - 0s - 1ms/step - loss: 0.0438 - sparse_categorical_accuracy: 0.9861 - val_loss: 0.1216 - val_sparse_categorical_accuracy: 0.9598 - learning_rate: 1.0000e-04 +## Epoch 282/500 +## 90/90 - 0s - 1ms/step - loss: 0.0419 - sparse_categorical_accuracy: 0.9878 - val_loss: 0.1008 - val_sparse_categorical_accuracy: 0.9695 - learning_rate: 1.0000e-04 +## Epoch 283/500 +## 90/90 - 0s - 1ms/step - loss: 0.0481 - sparse_categorical_accuracy: 0.9854 - val_loss: 0.1129 - val_sparse_categorical_accuracy: 0.9612 - learning_rate: 1.0000e-04 +## Epoch 284/500 +## 90/90 - 0s - 1ms/step - loss: 0.0480 - sparse_categorical_accuracy: 0.9847 - val_loss: 0.1418 - val_sparse_categorical_accuracy: 0.9542 - learning_rate: 1.0000e-04 +## Epoch 285/500 +## 90/90 - 0s - 1ms/step - loss: 0.0467 - sparse_categorical_accuracy: 0.9844 - val_loss: 0.1058 - val_sparse_categorical_accuracy: 0.9709 - learning_rate: 1.0000e-04 +## Epoch 286/500 +## 90/90 - 0s - 1ms/step - loss: 0.0449 - sparse_categorical_accuracy: 0.9837 - val_loss: 0.1039 - val_sparse_categorical_accuracy: 0.9723 - learning_rate: 1.0000e-04 +## Epoch 287/500 +## 90/90 - 0s - 1ms/step - loss: 0.0450 - sparse_categorical_accuracy: 0.9872 - val_loss: 0.1015 - val_sparse_categorical_accuracy: 0.9695 - learning_rate: 1.0000e-04 +## Epoch 288/500 +## 90/90 - 0s - 2ms/step - loss: 0.0447 - sparse_categorical_accuracy: 0.9865 - val_loss: 0.1156 - val_sparse_categorical_accuracy: 0.9612 - learning_rate: 1.0000e-04 +## Epoch 289/500 +## 90/90 - 0s - 1ms/step - loss: 0.0460 - sparse_categorical_accuracy: 0.9844 - val_loss: 0.1000 - val_sparse_categorical_accuracy: 0.9681 - learning_rate: 1.0000e-04 +## Epoch 290/500 +## 90/90 - 0s - 1ms/step - loss: 0.0482 - sparse_categorical_accuracy: 0.9865 - val_loss: 0.0967 - val_sparse_categorical_accuracy: 0.9653 - learning_rate: 1.0000e-04 +## Epoch 291/500 +## 90/90 - 0s - 1ms/step - loss: 0.0433 - sparse_categorical_accuracy: 0.9882 - val_loss: 0.1002 - val_sparse_categorical_accuracy: 0.9570 - learning_rate: 1.0000e-04 +## Epoch 292/500 +## 90/90 - 0s - 1ms/step - loss: 0.0506 - sparse_categorical_accuracy: 0.9830 - val_loss: 0.1102 - val_sparse_categorical_accuracy: 0.9542 - learning_rate: 1.0000e-04 +## Epoch 293/500 +## 90/90 - 0s - 1ms/step - loss: 0.0473 - sparse_categorical_accuracy: 0.9868 - val_loss: 0.1139 - val_sparse_categorical_accuracy: 0.9542 - learning_rate: 1.0000e-04 +## Epoch 294/500 +## 90/90 - 0s - 1ms/step - loss: 0.0459 - sparse_categorical_accuracy: 0.9861 - val_loss: 0.1005 - val_sparse_categorical_accuracy: 0.9584 - learning_rate: 1.0000e-04 +## Epoch 295/500 +## 90/90 - 0s - 1ms/step - loss: 0.0502 - sparse_categorical_accuracy: 0.9854 - val_loss: 0.0978 - val_sparse_categorical_accuracy: 0.9695 - learning_rate: 1.0000e-04 +## Epoch 296/500 +## 90/90 - 0s - 1ms/step - loss: 0.0477 - sparse_categorical_accuracy: 0.9851 - val_loss: 0.1006 - val_sparse_categorical_accuracy: 0.9667 - learning_rate: 1.0000e-04 +## Epoch 297/500 +## 90/90 - 0s - 1ms/step - loss: 0.0474 - sparse_categorical_accuracy: 0.9868 - val_loss: 0.0978 - val_sparse_categorical_accuracy: 0.9612 - learning_rate: 1.0000e-04 +## Epoch 298/500 +## 90/90 - 0s - 1ms/step - loss: 0.0465 - sparse_categorical_accuracy: 0.9865 - val_loss: 0.0953 - val_sparse_categorical_accuracy: 0.9667 - learning_rate: 1.0000e-04 +## Epoch 299/500 +## 90/90 - 0s - 1ms/step - loss: 0.0410 - sparse_categorical_accuracy: 0.9896 - val_loss: 0.1107 - val_sparse_categorical_accuracy: 0.9653 - learning_rate: 1.0000e-04 +## Epoch 300/500 +## 90/90 - 0s - 1ms/step - loss: 0.0423 - sparse_categorical_accuracy: 0.9875 - val_loss: 0.1099 - val_sparse_categorical_accuracy: 0.9639 - learning_rate: 1.0000e-04 +## Epoch 301/500 +## 90/90 - 0s - 1ms/step - loss: 0.0457 - sparse_categorical_accuracy: 0.9851 - val_loss: 0.0983 - val_sparse_categorical_accuracy: 0.9598 - learning_rate: 1.0000e-04 +## Epoch 302/500 +## 90/90 - 0s - 1ms/step - loss: 0.0422 - sparse_categorical_accuracy: 0.9889 - val_loss: 0.1233 - val_sparse_categorical_accuracy: 0.9598 - learning_rate: 1.0000e-04 +## Epoch 303/500 +## 90/90 - 0s - 2ms/step - loss: 0.0417 - sparse_categorical_accuracy: 0.9896 - val_loss: 0.1175 - val_sparse_categorical_accuracy: 0.9626 - learning_rate: 1.0000e-04 +## Epoch 304/500 +## 90/90 - 0s - 2ms/step - loss: 0.0467 - sparse_categorical_accuracy: 0.9861 - val_loss: 0.1007 - val_sparse_categorical_accuracy: 0.9723 - learning_rate: 1.0000e-04 +## Epoch 305/500 +## 90/90 - 0s - 2ms/step - loss: 0.0466 - sparse_categorical_accuracy: 0.9851 - val_loss: 0.1058 - val_sparse_categorical_accuracy: 0.9695 - learning_rate: 1.0000e-04 +## Epoch 306/500 +## 90/90 - 0s - 1ms/step - loss: 0.0402 - sparse_categorical_accuracy: 0.9899 - val_loss: 0.0999 - val_sparse_categorical_accuracy: 0.9667 - learning_rate: 1.0000e-04 +## Epoch 307/500 +## 90/90 - 0s - 2ms/step - loss: 0.0465 - sparse_categorical_accuracy: 0.9844 - val_loss: 0.1130 - val_sparse_categorical_accuracy: 0.9528 - learning_rate: 1.0000e-04 +## Epoch 308/500 +## 90/90 - 0s - 1ms/step - loss: 0.0463 - sparse_categorical_accuracy: 0.9858 - val_loss: 0.0987 - val_sparse_categorical_accuracy: 0.9626 - learning_rate: 1.0000e-04 +## Epoch 309/500 +## 90/90 - 0s - 1ms/step - loss: 0.0472 - sparse_categorical_accuracy: 0.9851 - val_loss: 0.1179 - val_sparse_categorical_accuracy: 0.9612 - learning_rate: 1.0000e-04 +## Epoch 310/500 +## 90/90 - 0s - 1ms/step - loss: 0.0447 - sparse_categorical_accuracy: 0.9854 - val_loss: 0.1036 - val_sparse_categorical_accuracy: 0.9709 - learning_rate: 1.0000e-04 +## Epoch 311/500 +## 90/90 - 0s - 1ms/step - loss: 0.0448 - sparse_categorical_accuracy: 0.9854 - val_loss: 0.1012 - val_sparse_categorical_accuracy: 0.9681 - learning_rate: 1.0000e-04 +## Epoch 312/500 +## 90/90 - 0s - 1ms/step - loss: 0.0442 - sparse_categorical_accuracy: 0.9851 - val_loss: 0.1172 - val_sparse_categorical_accuracy: 0.9598 - learning_rate: 1.0000e-04 +## Epoch 313/500 +## 90/90 - 0s - 2ms/step - loss: 0.0438 - sparse_categorical_accuracy: 0.9889 - val_loss: 0.0990 - val_sparse_categorical_accuracy: 0.9695 - learning_rate: 1.0000e-04 +## Epoch 314/500 +## 90/90 - 0s - 2ms/step - loss: 0.0432 - sparse_categorical_accuracy: 0.9875 - val_loss: 0.0979 - val_sparse_categorical_accuracy: 0.9695 - learning_rate: 1.0000e-04 +## Epoch 315/500 +## 90/90 - 0s - 1ms/step - loss: 0.0474 - sparse_categorical_accuracy: 0.9858 - val_loss: 0.0980 - val_sparse_categorical_accuracy: 0.9584 - learning_rate: 1.0000e-04 +## Epoch 316/500 +## 90/90 - 0s - 1ms/step - loss: 0.0429 - sparse_categorical_accuracy: 0.9889 - val_loss: 0.1030 - val_sparse_categorical_accuracy: 0.9570 - learning_rate: 1.0000e-04 +## Epoch 317/500 +## 90/90 - 0s - 3ms/step - loss: 0.0447 - sparse_categorical_accuracy: 0.9840 - val_loss: 0.1018 - val_sparse_categorical_accuracy: 0.9584 - learning_rate: 1.0000e-04 +## Epoch 318/500 +## 90/90 - 0s - 2ms/step - loss: 0.0423 - sparse_categorical_accuracy: 0.9868 - val_loss: 0.1024 - val_sparse_categorical_accuracy: 0.9723 - learning_rate: 1.0000e-04 +## Epoch 319/500 +## 90/90 - 0s - 2ms/step - loss: 0.0474 - sparse_categorical_accuracy: 0.9854 - val_loss: 0.1197 - val_sparse_categorical_accuracy: 0.9667 - learning_rate: 1.0000e-04 +## Epoch 320/500 +## 90/90 - 0s - 2ms/step - loss: 0.0405 - sparse_categorical_accuracy: 0.9889 - val_loss: 0.0994 - val_sparse_categorical_accuracy: 0.9736 - learning_rate: 1.0000e-04 +## Epoch 321/500 +## 90/90 - 0s - 2ms/step - loss: 0.0442 - sparse_categorical_accuracy: 0.9878 - val_loss: 0.1499 - val_sparse_categorical_accuracy: 0.9528 - learning_rate: 1.0000e-04 +## Epoch 322/500 +## 90/90 - 0s - 2ms/step - loss: 0.0404 - sparse_categorical_accuracy: 0.9889 - val_loss: 0.1253 - val_sparse_categorical_accuracy: 0.9584 - learning_rate: 1.0000e-04 +## Epoch 323/500 +## 90/90 - 0s - 1ms/step - loss: 0.0468 - sparse_categorical_accuracy: 0.9844 - val_loss: 0.1081 - val_sparse_categorical_accuracy: 0.9709 - learning_rate: 1.0000e-04 +## Epoch 324/500 +## 90/90 - 0s - 1ms/step - loss: 0.0418 - sparse_categorical_accuracy: 0.9858 - val_loss: 0.1016 - val_sparse_categorical_accuracy: 0.9626 - learning_rate: 1.0000e-04 +## Epoch 325/500 +## 90/90 - 0s - 1ms/step - loss: 0.0420 - sparse_categorical_accuracy: 0.9868 - val_loss: 0.1290 - val_sparse_categorical_accuracy: 0.9501 - learning_rate: 1.0000e-04 +## Epoch 326/500 +## 90/90 - 0s - 2ms/step - loss: 0.0436 - sparse_categorical_accuracy: 0.9854 - val_loss: 0.1270 - val_sparse_categorical_accuracy: 0.9515 - learning_rate: 1.0000e-04 +## Epoch 327/500 +## 90/90 - 0s - 1ms/step - loss: 0.0417 - sparse_categorical_accuracy: 0.9865 - val_loss: 0.1009 - val_sparse_categorical_accuracy: 0.9695 - learning_rate: 1.0000e-04 +## Epoch 328/500 +## 90/90 - 0s - 2ms/step - loss: 0.0447 - sparse_categorical_accuracy: 0.9868 - val_loss: 0.1141 - val_sparse_categorical_accuracy: 0.9667 - learning_rate: 1.0000e-04 +## Epoch 329/500 +## 90/90 - 0s - 2ms/step - loss: 0.0422 - sparse_categorical_accuracy: 0.9885 - val_loss: 0.1198 - val_sparse_categorical_accuracy: 0.9570 - learning_rate: 1.0000e-04 +## Epoch 330/500 +## 90/90 - 0s - 3ms/step - loss: 0.0435 - sparse_categorical_accuracy: 0.9868 - val_loss: 0.0988 - val_sparse_categorical_accuracy: 0.9612 - learning_rate: 1.0000e-04 +## Epoch 330: early stopping ``` ## Evaluate model on test data -```r +``` r model <- load_model("best_model.keras") results <- model |> evaluate(x_test, y_test) ``` ``` -## 42/42 - 0s - 10ms/step - loss: 0.0917 - sparse_categorical_accuracy: 0.9712 +## 42/42 - 1s - 15ms/step - loss: 0.0980 - sparse_categorical_accuracy: 0.9682 ``` -```r +``` r str(results) ``` ``` ## List of 2 -## $ loss : num 0.0917 -## $ sparse_categorical_accuracy: num 0.971 +## $ loss : num 0.098 +## $ sparse_categorical_accuracy: num 0.968 ``` -```r +``` r cat( "Test accuracy: ", results$sparse_categorical_accuracy, "\n", "Test loss: ", results$loss, "\n", @@ -767,15 +987,15 @@ cat( ``` ``` -## Test accuracy: 0.9712121 -## Test loss: 0.09173314 +## Test accuracy: 0.9681818 +## Test loss: 0.09795157 ``` ## Plot the model's training history -```r +``` r plot(history) ``` @@ -783,7 +1003,7 @@ plot(history) Plot just the training and validation accuracy: -```r +``` r plot(history, metric = "sparse_categorical_accuracy") + # scale x axis to actual number of epochs run before early stopping ggplot2::xlim(0, length(history$metrics$loss)) diff --git a/vignettes/examples/timeseries/timeseries_classification_from_scratch/unnamed-chunk-12-1.png b/vignettes/examples/timeseries/timeseries_classification_from_scratch/unnamed-chunk-12-1.png index 42a808b283089d92bfc1c96ff707dfbe77c5c4dc..3337ad475e71c6b075b0da602b91a9e9a58b3483 100644 GIT binary patch literal 66684 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 z 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 literal 57721 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 literal 55312 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%0A3o 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 fit( x = train_data, y = train_data, @@ -152,7 +152,7 @@ autoencoder |> fit( ``` ## Epoch 1/50 -## 469/469 - 4s - 9ms/step - loss: 0.1371 - val_loss: 0.0727 +## 469/469 - 5s - 10ms/step - loss: 0.1371 - val_loss: 0.0727 ## Epoch 2/50 ## 469/469 - 1s - 3ms/step - loss: 0.0712 - val_loss: 0.0692 ## Epoch 3/50 @@ -168,17 +168,17 @@ autoencoder |> fit( ## Epoch 8/50 ## 469/469 - 1s - 3ms/step - loss: 0.0659 - val_loss: 0.0653 ## Epoch 9/50 -## 469/469 - 1s - 3ms/step - loss: 0.0656 - val_loss: 0.0650 +## 469/469 - 2s - 3ms/step - loss: 0.0656 - val_loss: 0.0650 ## Epoch 10/50 -## 469/469 - 1s - 3ms/step - loss: 0.0653 - val_loss: 0.0648 +## 469/469 - 2s - 3ms/step - loss: 0.0653 - val_loss: 0.0648 ## Epoch 11/50 ## 469/469 - 1s - 3ms/step - loss: 0.0651 - val_loss: 0.0646 ## Epoch 12/50 -## 469/469 - 1s - 3ms/step - loss: 0.0649 - val_loss: 0.0644 +## 469/469 - 1s - 3ms/step - loss: 0.0650 - val_loss: 0.0644 ## Epoch 13/50 ## 469/469 - 1s - 3ms/step - loss: 0.0648 - val_loss: 0.0643 ## Epoch 14/50 -## 469/469 - 1s - 3ms/step - loss: 0.0646 - val_loss: 0.0641 +## 469/469 - 2s - 3ms/step - loss: 0.0646 - val_loss: 0.0642 ## Epoch 15/50 ## 469/469 - 1s - 3ms/step - loss: 0.0645 - val_loss: 0.0640 ## Epoch 16/50 @@ -188,35 +188,35 @@ autoencoder |> fit( ## Epoch 18/50 ## 469/469 - 1s - 3ms/step - loss: 0.0642 - val_loss: 0.0637 ## Epoch 19/50 -## 469/469 - 1s - 3ms/step - loss: 0.0641 - val_loss: 0.0636 +## 469/469 - 1s - 3ms/step - loss: 0.0641 - val_loss: 0.0637 ## Epoch 20/50 ## 469/469 - 1s - 3ms/step - loss: 0.0640 - val_loss: 0.0636 ## Epoch 21/50 ## 469/469 - 1s - 3ms/step - loss: 0.0639 - val_loss: 0.0635 ## Epoch 22/50 -## 469/469 - 1s - 3ms/step - loss: 0.0639 - val_loss: 0.0635 +## 469/469 - 1s - 3ms/step - loss: 0.0639 - val_loss: 0.0634 ## Epoch 23/50 ## 469/469 - 1s - 3ms/step - loss: 0.0638 - val_loss: 0.0634 ## Epoch 24/50 -## 469/469 - 1s - 3ms/step - loss: 0.0637 - val_loss: 0.0634 +## 469/469 - 1s - 3ms/step - loss: 0.0637 - val_loss: 0.0633 ## Epoch 25/50 ## 469/469 - 1s - 3ms/step - loss: 0.0637 - val_loss: 0.0633 ## Epoch 26/50 -## 469/469 - 1s - 3ms/step - loss: 0.0636 - val_loss: 0.0633 +## 469/469 - 1s - 3ms/step - loss: 0.0636 - val_loss: 0.0632 ## Epoch 27/50 ## 469/469 - 1s - 3ms/step - loss: 0.0636 - val_loss: 0.0632 ## Epoch 28/50 -## 469/469 - 1s - 3ms/step - loss: 0.0635 - val_loss: 0.0632 +## 469/469 - 1s - 3ms/step - loss: 0.0635 - val_loss: 0.0631 ## Epoch 29/50 ## 469/469 - 1s - 3ms/step - loss: 0.0635 - val_loss: 0.0631 ## Epoch 30/50 -## 469/469 - 1s - 3ms/step - loss: 0.0634 - val_loss: 0.0631 +## 469/469 - 1s - 3ms/step - loss: 0.0635 - val_loss: 0.0631 ## Epoch 31/50 -## 469/469 - 1s - 3ms/step - loss: 0.0634 - val_loss: 0.0631 +## 469/469 - 1s - 3ms/step - loss: 0.0634 - val_loss: 0.0630 ## Epoch 32/50 ## 469/469 - 1s - 3ms/step - loss: 0.0634 - val_loss: 0.0630 ## Epoch 33/50 -## 469/469 - 1s - 3ms/step - loss: 0.0633 - val_loss: 0.0630 +## 469/469 - 1s - 3ms/step - loss: 0.0633 - val_loss: 0.0629 ## Epoch 34/50 ## 469/469 - 1s - 3ms/step - loss: 0.0633 - val_loss: 0.0629 ## Epoch 35/50 @@ -230,27 +230,27 @@ autoencoder |> fit( ## Epoch 39/50 ## 469/469 - 1s - 3ms/step - loss: 0.0631 - val_loss: 0.0628 ## Epoch 40/50 -## 469/469 - 1s - 3ms/step - loss: 0.0631 - val_loss: 0.0628 +## 469/469 - 1s - 3ms/step - loss: 0.0631 - val_loss: 0.0627 ## Epoch 41/50 -## 469/469 - 1s - 3ms/step - loss: 0.0631 - val_loss: 0.0628 +## 469/469 - 1s - 3ms/step - loss: 0.0631 - val_loss: 0.0627 ## Epoch 42/50 -## 469/469 - 1s - 3ms/step - loss: 0.0630 - val_loss: 0.0627 +## 469/469 - 1s - 3ms/step - loss: 0.0631 - val_loss: 0.0627 ## Epoch 43/50 ## 469/469 - 1s - 3ms/step - loss: 0.0630 - val_loss: 0.0627 ## Epoch 44/50 ## 469/469 - 1s - 3ms/step - loss: 0.0630 - val_loss: 0.0627 ## Epoch 45/50 -## 469/469 - 1s - 3ms/step - loss: 0.0630 - val_loss: 0.0627 +## 469/469 - 1s - 3ms/step - loss: 0.0630 - val_loss: 0.0626 ## Epoch 46/50 -## 469/469 - 1s - 3ms/step - loss: 0.0629 - val_loss: 0.0627 +## 469/469 - 1s - 3ms/step - loss: 0.0630 - val_loss: 0.0626 ## Epoch 47/50 -## 469/469 - 1s - 3ms/step - loss: 0.0629 - val_loss: 0.0627 +## 469/469 - 1s - 3ms/step - loss: 0.0629 - val_loss: 0.0626 ## Epoch 48/50 ## 469/469 - 1s - 3ms/step - loss: 0.0629 - val_loss: 0.0626 ## Epoch 49/50 ## 469/469 - 1s - 3ms/step - loss: 0.0629 - val_loss: 0.0626 ## Epoch 50/50 -## 469/469 - 1s - 3ms/step - loss: 0.0629 - val_loss: 0.0626 +## 469/469 - 1s - 3ms/step - loss: 0.0629 - val_loss: 0.0625 ``` Let's predict on our test dataset and display the original image together with @@ -260,15 +260,15 @@ Notice how the predictions are pretty close to the original images, although not quite the same. -```r +``` r predictions <- autoencoder |> predict(test_data) ``` ``` -## 313/313 - 0s - 2ms/step +## 313/313 - 1s - 2ms/step ``` -```r +``` r display(test_data, predictions) ``` @@ -279,7 +279,7 @@ data as our input and the clean data as our target. We want our autoencoder to learn how to denoise the images. -```r +``` r autoencoder |> fit( x = noisy_train_data, y = train_data, @@ -292,205 +292,205 @@ autoencoder |> fit( ``` ## Epoch 1/100 -## 469/469 - 1s - 3ms/step - loss: 0.1004 - val_loss: 0.0939 +## 469/469 - 1s - 3ms/step - loss: 0.1006 - val_loss: 0.0941 ## Epoch 2/100 -## 469/469 - 1s - 3ms/step - loss: 0.0936 - val_loss: 0.0919 +## 469/469 - 1s - 3ms/step - loss: 0.0938 - val_loss: 0.0922 ## Epoch 3/100 -## 469/469 - 1s - 3ms/step - loss: 0.0921 - val_loss: 0.0908 +## 469/469 - 1s - 3ms/step - loss: 0.0922 - val_loss: 0.0910 ## Epoch 4/100 -## 469/469 - 1s - 3ms/step - loss: 0.0911 - val_loss: 0.0901 +## 469/469 - 1s - 3ms/step - loss: 0.0912 - val_loss: 0.0901 ## Epoch 5/100 -## 469/469 - 1s - 3ms/step - loss: 0.0904 - val_loss: 0.0896 +## 469/469 - 1s - 3ms/step - loss: 0.0905 - val_loss: 0.0895 ## Epoch 6/100 ## 469/469 - 1s - 3ms/step - loss: 0.0899 - val_loss: 0.0891 ## Epoch 7/100 -## 469/469 - 1s - 3ms/step - loss: 0.0894 - val_loss: 0.0887 +## 469/469 - 1s - 3ms/step - loss: 0.0895 - val_loss: 0.0887 ## Epoch 8/100 ## 469/469 - 1s - 3ms/step - loss: 0.0891 - val_loss: 0.0883 ## Epoch 9/100 -## 469/469 - 1s - 3ms/step - loss: 0.0887 - val_loss: 0.0880 +## 469/469 - 1s - 3ms/step - loss: 0.0888 - val_loss: 0.0881 ## Epoch 10/100 -## 469/469 - 1s - 3ms/step - loss: 0.0884 - val_loss: 0.0877 +## 469/469 - 1s - 3ms/step - loss: 0.0885 - val_loss: 0.0878 ## Epoch 11/100 -## 469/469 - 1s - 3ms/step - loss: 0.0881 - val_loss: 0.0875 +## 469/469 - 1s - 3ms/step - loss: 0.0882 - val_loss: 0.0876 ## Epoch 12/100 -## 469/469 - 1s - 3ms/step - loss: 0.0879 - val_loss: 0.0873 +## 469/469 - 1s - 3ms/step - loss: 0.0880 - val_loss: 0.0874 ## Epoch 13/100 -## 469/469 - 1s - 3ms/step - loss: 0.0877 - val_loss: 0.0871 +## 469/469 - 1s - 3ms/step - loss: 0.0878 - val_loss: 0.0873 ## Epoch 14/100 -## 469/469 - 1s - 3ms/step - loss: 0.0875 - val_loss: 0.0869 +## 469/469 - 1s - 3ms/step - loss: 0.0877 - val_loss: 0.0871 ## Epoch 15/100 -## 469/469 - 1s - 3ms/step - loss: 0.0873 - val_loss: 0.0867 +## 469/469 - 1s - 3ms/step - loss: 0.0875 - val_loss: 0.0869 ## Epoch 16/100 -## 469/469 - 1s - 3ms/step - loss: 0.0871 - val_loss: 0.0866 +## 469/469 - 1s - 3ms/step - loss: 0.0874 - val_loss: 0.0868 ## Epoch 17/100 -## 469/469 - 1s - 3ms/step - loss: 0.0870 - val_loss: 0.0865 +## 469/469 - 1s - 3ms/step - loss: 0.0872 - val_loss: 0.0867 ## Epoch 18/100 -## 469/469 - 1s - 3ms/step - loss: 0.0869 - val_loss: 0.0864 +## 469/469 - 1s - 3ms/step - loss: 0.0871 - val_loss: 0.0866 ## Epoch 19/100 -## 469/469 - 1s - 3ms/step - loss: 0.0867 - val_loss: 0.0863 +## 469/469 - 1s - 3ms/step - loss: 0.0870 - val_loss: 0.0865 ## Epoch 20/100 -## 469/469 - 1s - 3ms/step - loss: 0.0866 - val_loss: 0.0862 +## 469/469 - 1s - 3ms/step - loss: 0.0869 - val_loss: 0.0864 ## Epoch 21/100 -## 469/469 - 1s - 3ms/step - loss: 0.0865 - val_loss: 0.0861 +## 469/469 - 1s - 3ms/step - loss: 0.0868 - val_loss: 0.0863 ## Epoch 22/100 -## 469/469 - 1s - 3ms/step - loss: 0.0864 - val_loss: 0.0860 +## 469/469 - 1s - 3ms/step - loss: 0.0867 - val_loss: 0.0862 ## Epoch 23/100 -## 469/469 - 1s - 3ms/step - loss: 0.0864 - val_loss: 0.0859 +## 469/469 - 1s - 3ms/step - loss: 0.0867 - val_loss: 0.0861 ## Epoch 24/100 -## 469/469 - 1s - 3ms/step - loss: 0.0863 - val_loss: 0.0858 +## 469/469 - 1s - 3ms/step - loss: 0.0866 - val_loss: 0.0861 ## Epoch 25/100 -## 469/469 - 1s - 3ms/step - loss: 0.0862 - val_loss: 0.0858 +## 469/469 - 2s - 4ms/step - loss: 0.0865 - val_loss: 0.0860 ## Epoch 26/100 -## 469/469 - 1s - 3ms/step - loss: 0.0862 - val_loss: 0.0857 +## 469/469 - 2s - 4ms/step - loss: 0.0865 - val_loss: 0.0860 ## Epoch 27/100 -## 469/469 - 1s - 3ms/step - loss: 0.0861 - val_loss: 0.0856 +## 469/469 - 2s - 4ms/step - loss: 0.0864 - val_loss: 0.0859 ## Epoch 28/100 -## 469/469 - 1s - 3ms/step - loss: 0.0860 - val_loss: 0.0856 +## 469/469 - 2s - 4ms/step - loss: 0.0863 - val_loss: 0.0858 ## Epoch 29/100 -## 469/469 - 1s - 3ms/step - loss: 0.0860 - val_loss: 0.0855 +## 469/469 - 1s - 3ms/step - loss: 0.0863 - val_loss: 0.0858 ## Epoch 30/100 -## 469/469 - 1s - 3ms/step - loss: 0.0859 - val_loss: 0.0855 +## 469/469 - 1s - 3ms/step - loss: 0.0862 - val_loss: 0.0858 ## Epoch 31/100 -## 469/469 - 1s - 3ms/step - loss: 0.0859 - val_loss: 0.0854 +## 469/469 - 1s - 3ms/step - loss: 0.0862 - val_loss: 0.0857 ## Epoch 32/100 -## 469/469 - 1s - 3ms/step - loss: 0.0858 - val_loss: 0.0854 +## 469/469 - 1s - 3ms/step - loss: 0.0861 - val_loss: 0.0857 ## Epoch 33/100 -## 469/469 - 1s - 3ms/step - loss: 0.0858 - val_loss: 0.0854 +## 469/469 - 1s - 3ms/step - loss: 0.0861 - val_loss: 0.0856 ## Epoch 34/100 -## 469/469 - 1s - 3ms/step - loss: 0.0858 - val_loss: 0.0853 +## 469/469 - 1s - 3ms/step - loss: 0.0861 - val_loss: 0.0856 ## Epoch 35/100 -## 469/469 - 1s - 3ms/step - loss: 0.0857 - val_loss: 0.0853 +## 469/469 - 1s - 3ms/step - loss: 0.0860 - val_loss: 0.0855 ## Epoch 36/100 -## 469/469 - 1s - 3ms/step - loss: 0.0857 - val_loss: 0.0853 +## 469/469 - 1s - 3ms/step - loss: 0.0860 - val_loss: 0.0855 ## Epoch 37/100 -## 469/469 - 1s - 3ms/step - loss: 0.0857 - val_loss: 0.0852 +## 469/469 - 1s - 3ms/step - loss: 0.0859 - val_loss: 0.0855 ## Epoch 38/100 -## 469/469 - 1s - 3ms/step - loss: 0.0856 - val_loss: 0.0852 +## 469/469 - 1s - 3ms/step - loss: 0.0859 - val_loss: 0.0855 ## Epoch 39/100 -## 469/469 - 1s - 3ms/step - loss: 0.0856 - val_loss: 0.0852 +## 469/469 - 1s - 3ms/step - loss: 0.0859 - val_loss: 0.0854 ## Epoch 40/100 -## 469/469 - 1s - 3ms/step - loss: 0.0856 - val_loss: 0.0852 +## 469/469 - 1s - 3ms/step - loss: 0.0858 - val_loss: 0.0854 ## Epoch 41/100 -## 469/469 - 1s - 3ms/step - loss: 0.0855 - val_loss: 0.0851 +## 469/469 - 1s - 3ms/step - loss: 0.0858 - val_loss: 0.0854 ## Epoch 42/100 -## 469/469 - 1s - 3ms/step - loss: 0.0855 - val_loss: 0.0851 +## 469/469 - 1s - 3ms/step - loss: 0.0858 - val_loss: 0.0854 ## Epoch 43/100 -## 469/469 - 1s - 3ms/step - loss: 0.0855 - val_loss: 0.0851 +## 469/469 - 1s - 3ms/step - loss: 0.0858 - val_loss: 0.0853 ## Epoch 44/100 -## 469/469 - 1s - 3ms/step - loss: 0.0855 - val_loss: 0.0851 +## 469/469 - 1s - 3ms/step - loss: 0.0857 - val_loss: 0.0853 ## Epoch 45/100 -## 469/469 - 1s - 3ms/step - loss: 0.0854 - val_loss: 0.0850 +## 469/469 - 1s - 3ms/step - loss: 0.0857 - val_loss: 0.0853 ## Epoch 46/100 -## 469/469 - 1s - 3ms/step - loss: 0.0854 - val_loss: 0.0850 +## 469/469 - 1s - 3ms/step - loss: 0.0857 - val_loss: 0.0853 ## Epoch 47/100 -## 469/469 - 1s - 3ms/step - loss: 0.0854 - val_loss: 0.0850 +## 469/469 - 1s - 3ms/step - loss: 0.0856 - val_loss: 0.0852 ## Epoch 48/100 -## 469/469 - 1s - 3ms/step - loss: 0.0854 - val_loss: 0.0850 +## 469/469 - 1s - 3ms/step - loss: 0.0856 - val_loss: 0.0852 ## Epoch 49/100 -## 469/469 - 1s - 3ms/step - loss: 0.0853 - val_loss: 0.0850 +## 469/469 - 1s - 3ms/step - loss: 0.0856 - val_loss: 0.0852 ## Epoch 50/100 -## 469/469 - 1s - 3ms/step - loss: 0.0853 - val_loss: 0.0849 +## 469/469 - 1s - 3ms/step - loss: 0.0856 - val_loss: 0.0852 ## Epoch 51/100 -## 469/469 - 1s - 3ms/step - loss: 0.0853 - val_loss: 0.0849 +## 469/469 - 1s - 3ms/step - loss: 0.0855 - val_loss: 0.0851 ## Epoch 52/100 -## 469/469 - 1s - 3ms/step - loss: 0.0853 - val_loss: 0.0849 +## 469/469 - 1s - 3ms/step - loss: 0.0855 - val_loss: 0.0851 ## Epoch 53/100 -## 469/469 - 1s - 3ms/step - loss: 0.0853 - val_loss: 0.0849 +## 469/469 - 1s - 3ms/step - loss: 0.0855 - val_loss: 0.0851 ## Epoch 54/100 -## 469/469 - 1s - 3ms/step - loss: 0.0852 - val_loss: 0.0849 +## 469/469 - 1s - 3ms/step - loss: 0.0855 - val_loss: 0.0851 ## Epoch 55/100 -## 469/469 - 1s - 3ms/step - loss: 0.0852 - val_loss: 0.0849 +## 469/469 - 1s - 3ms/step - loss: 0.0854 - val_loss: 0.0851 ## Epoch 56/100 -## 469/469 - 1s - 3ms/step - loss: 0.0852 - val_loss: 0.0848 +## 469/469 - 1s - 3ms/step - loss: 0.0854 - val_loss: 0.0850 ## Epoch 57/100 -## 469/469 - 1s - 3ms/step - loss: 0.0852 - val_loss: 0.0848 +## 469/469 - 1s - 3ms/step - loss: 0.0854 - val_loss: 0.0850 ## Epoch 58/100 -## 469/469 - 1s - 3ms/step - loss: 0.0852 - val_loss: 0.0848 +## 469/469 - 1s - 3ms/step - loss: 0.0854 - val_loss: 0.0850 ## Epoch 59/100 -## 469/469 - 1s - 3ms/step - loss: 0.0852 - val_loss: 0.0848 +## 469/469 - 1s - 3ms/step - loss: 0.0854 - val_loss: 0.0850 ## Epoch 60/100 -## 469/469 - 1s - 3ms/step - loss: 0.0851 - val_loss: 0.0848 +## 469/469 - 1s - 3ms/step - loss: 0.0853 - val_loss: 0.0850 ## Epoch 61/100 -## 469/469 - 1s - 3ms/step - loss: 0.0851 - val_loss: 0.0848 +## 469/469 - 1s - 3ms/step - loss: 0.0853 - val_loss: 0.0850 ## Epoch 62/100 -## 469/469 - 1s - 3ms/step - loss: 0.0851 - val_loss: 0.0848 +## 469/469 - 1s - 3ms/step - loss: 0.0853 - val_loss: 0.0849 ## Epoch 63/100 -## 469/469 - 1s - 3ms/step - loss: 0.0851 - val_loss: 0.0848 +## 469/469 - 1s - 3ms/step - loss: 0.0853 - val_loss: 0.0849 ## Epoch 64/100 -## 469/469 - 1s - 3ms/step - loss: 0.0851 - val_loss: 0.0847 +## 469/469 - 1s - 3ms/step - loss: 0.0853 - val_loss: 0.0849 ## Epoch 65/100 -## 469/469 - 1s - 3ms/step - loss: 0.0851 - val_loss: 0.0847 +## 469/469 - 1s - 3ms/step - loss: 0.0853 - val_loss: 0.0849 ## Epoch 66/100 -## 469/469 - 1s - 3ms/step - loss: 0.0850 - val_loss: 0.0847 +## 469/469 - 1s - 3ms/step - loss: 0.0852 - val_loss: 0.0849 ## Epoch 67/100 -## 469/469 - 1s - 3ms/step - loss: 0.0850 - val_loss: 0.0847 +## 469/469 - 1s - 3ms/step - loss: 0.0852 - val_loss: 0.0849 ## Epoch 68/100 -## 469/469 - 1s - 3ms/step - loss: 0.0850 - val_loss: 0.0847 +## 469/469 - 1s - 3ms/step - loss: 0.0852 - val_loss: 0.0849 ## Epoch 69/100 -## 469/469 - 1s - 3ms/step - loss: 0.0850 - val_loss: 0.0847 +## 469/469 - 1s - 3ms/step - loss: 0.0852 - val_loss: 0.0849 ## Epoch 70/100 -## 469/469 - 1s - 3ms/step - loss: 0.0850 - val_loss: 0.0847 +## 469/469 - 1s - 3ms/step - loss: 0.0852 - val_loss: 0.0848 ## Epoch 71/100 -## 469/469 - 1s - 3ms/step - loss: 0.0850 - val_loss: 0.0846 +## 469/469 - 1s - 3ms/step - loss: 0.0852 - val_loss: 0.0848 ## Epoch 72/100 -## 469/469 - 1s - 3ms/step - loss: 0.0850 - val_loss: 0.0846 +## 469/469 - 1s - 3ms/step - loss: 0.0851 - val_loss: 0.0848 ## Epoch 73/100 -## 469/469 - 1s - 3ms/step - loss: 0.0850 - val_loss: 0.0846 +## 469/469 - 1s - 3ms/step - loss: 0.0851 - val_loss: 0.0848 ## Epoch 74/100 -## 469/469 - 1s - 3ms/step - loss: 0.0849 - val_loss: 0.0846 +## 469/469 - 1s - 3ms/step - loss: 0.0851 - val_loss: 0.0848 ## Epoch 75/100 -## 469/469 - 1s - 3ms/step - loss: 0.0849 - val_loss: 0.0846 +## 469/469 - 1s - 3ms/step - loss: 0.0851 - val_loss: 0.0848 ## Epoch 76/100 -## 469/469 - 1s - 3ms/step - loss: 0.0849 - val_loss: 0.0846 +## 469/469 - 1s - 3ms/step - loss: 0.0851 - val_loss: 0.0848 ## Epoch 77/100 -## 469/469 - 1s - 3ms/step - loss: 0.0849 - val_loss: 0.0846 +## 469/469 - 1s - 3ms/step - loss: 0.0851 - val_loss: 0.0848 ## Epoch 78/100 -## 469/469 - 1s - 3ms/step - loss: 0.0849 - val_loss: 0.0846 +## 469/469 - 1s - 3ms/step - loss: 0.0851 - val_loss: 0.0847 ## Epoch 79/100 -## 469/469 - 1s - 3ms/step - loss: 0.0849 - val_loss: 0.0846 +## 469/469 - 1s - 3ms/step - loss: 0.0851 - val_loss: 0.0847 ## Epoch 80/100 -## 469/469 - 1s - 3ms/step - loss: 0.0849 - val_loss: 0.0846 +## 469/469 - 1s - 3ms/step - loss: 0.0850 - val_loss: 0.0847 ## Epoch 81/100 -## 469/469 - 1s - 3ms/step - loss: 0.0849 - val_loss: 0.0846 +## 469/469 - 1s - 3ms/step - loss: 0.0850 - val_loss: 0.0847 ## Epoch 82/100 -## 469/469 - 1s - 3ms/step - loss: 0.0849 - val_loss: 0.0846 +## 469/469 - 1s - 3ms/step - loss: 0.0850 - val_loss: 0.0847 ## Epoch 83/100 -## 469/469 - 1s - 3ms/step - loss: 0.0849 - val_loss: 0.0846 +## 469/469 - 1s - 3ms/step - loss: 0.0850 - val_loss: 0.0847 ## Epoch 84/100 -## 469/469 - 1s - 3ms/step - loss: 0.0848 - val_loss: 0.0846 +## 469/469 - 1s - 3ms/step - loss: 0.0850 - val_loss: 0.0847 ## Epoch 85/100 -## 469/469 - 1s - 3ms/step - loss: 0.0848 - val_loss: 0.0845 +## 469/469 - 1s - 3ms/step - loss: 0.0850 - val_loss: 0.0847 ## Epoch 86/100 -## 469/469 - 1s - 3ms/step - loss: 0.0848 - val_loss: 0.0845 +## 469/469 - 1s - 3ms/step - loss: 0.0850 - val_loss: 0.0847 ## Epoch 87/100 -## 469/469 - 1s - 3ms/step - loss: 0.0848 - val_loss: 0.0845 +## 469/469 - 1s - 3ms/step - loss: 0.0850 - val_loss: 0.0847 ## Epoch 88/100 -## 469/469 - 1s - 3ms/step - loss: 0.0848 - val_loss: 0.0845 +## 469/469 - 1s - 3ms/step - loss: 0.0850 - val_loss: 0.0846 ## Epoch 89/100 -## 469/469 - 1s - 3ms/step - loss: 0.0848 - val_loss: 0.0845 +## 469/469 - 1s - 3ms/step - loss: 0.0849 - val_loss: 0.0846 ## Epoch 90/100 -## 469/469 - 1s - 3ms/step - loss: 0.0848 - val_loss: 0.0845 +## 469/469 - 1s - 3ms/step - loss: 0.0849 - val_loss: 0.0846 ## Epoch 91/100 -## 469/469 - 1s - 3ms/step - loss: 0.0848 - val_loss: 0.0845 +## 469/469 - 1s - 3ms/step - loss: 0.0849 - val_loss: 0.0846 ## Epoch 92/100 -## 469/469 - 1s - 3ms/step - loss: 0.0848 - val_loss: 0.0845 +## 469/469 - 1s - 3ms/step - loss: 0.0849 - val_loss: 0.0846 ## Epoch 93/100 -## 469/469 - 1s - 3ms/step - loss: 0.0848 - val_loss: 0.0845 +## 469/469 - 1s - 3ms/step - loss: 0.0849 - val_loss: 0.0846 ## Epoch 94/100 -## 469/469 - 1s - 3ms/step - loss: 0.0848 - val_loss: 0.0845 +## 469/469 - 1s - 3ms/step - loss: 0.0849 - val_loss: 0.0846 ## Epoch 95/100 -## 469/469 - 1s - 3ms/step - loss: 0.0848 - val_loss: 0.0845 +## 469/469 - 1s - 3ms/step - loss: 0.0849 - val_loss: 0.0846 ## Epoch 96/100 -## 469/469 - 1s - 3ms/step - loss: 0.0847 - val_loss: 0.0845 +## 469/469 - 1s - 3ms/step - loss: 0.0849 - val_loss: 0.0846 ## Epoch 97/100 -## 469/469 - 1s - 3ms/step - loss: 0.0847 - val_loss: 0.0845 +## 469/469 - 1s - 3ms/step - loss: 0.0849 - val_loss: 0.0846 ## Epoch 98/100 -## 469/469 - 1s - 3ms/step - loss: 0.0847 - val_loss: 0.0845 +## 469/469 - 1s - 3ms/step - loss: 0.0849 - val_loss: 0.0846 ## Epoch 99/100 -## 469/469 - 1s - 3ms/step - loss: 0.0847 - val_loss: 0.0845 +## 469/469 - 1s - 3ms/step - loss: 0.0849 - val_loss: 0.0846 ## Epoch 100/100 -## 469/469 - 1s - 3ms/step - loss: 0.0847 - val_loss: 0.0845 +## 469/469 - 1s - 3ms/step - loss: 0.0849 - val_loss: 0.0846 ``` Let's now predict on the noisy data and display the results of our autoencoder. @@ -499,15 +499,15 @@ Notice how the autoencoder does an amazing job at removing the noise from the input images. -```r +``` r predictions <- autoencoder |> predict(noisy_test_data) ``` ``` -## 313/313 - 0s - 689us/step +## 313/313 - 0s - 673us/step ``` -```r +``` r display(noisy_test_data, predictions) ``` diff --git a/vignettes/examples/vision/autoencoder/unnamed-chunk-5-1.png b/vignettes/examples/vision/autoencoder/unnamed-chunk-5-1.png index ef0ecb7d5f34e5cfe46b39cb00999cd795b79dbf..7c791b98ddfa211cd9ae74c8d8f77faad568c6c5 100644 GIT binary patch delta 53795 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 delta 53633 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

    gPVEwAojE<3g*^Wq_~8q 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 diff --git a/vignettes/examples/vision/autoencoder/unnamed-chunk-7-1.png b/vignettes/examples/vision/autoencoder/unnamed-chunk-7-1.png index 76fc3242c989d2ce8166ca8e37e6d682794edeb0..f45a20d01404d48d8c2115d3e7958ff024d4c7e7 100644 GIT binary patch delta 99727 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�X(p1 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

    c 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 diff --git a/vignettes/examples/vision/mnist_convnet.Rmd b/vignettes/examples/vision/mnist_convnet.Rmd index 8508fd3c7..fc69676b3 100644 --- a/vignettes/examples/vision/mnist_convnet.Rmd +++ b/vignettes/examples/vision/mnist_convnet.Rmd @@ -15,14 +15,14 @@ vignette: > ## Setup -```r +``` r library(keras3) ``` ## Prepare the data -```r +``` r # Model / data parameters num_classes <- 10 input_shape <- c(28, 28, 1) @@ -45,7 +45,7 @@ dim(x_train) ## [1] 60000 28 28 1 ``` -```r +``` r dim(x_test) ``` @@ -53,7 +53,7 @@ dim(x_test) ## [1] 10000 28 28 1 ``` -```r +``` r # convert class vectors to binary class matrices y_train <- to_categorical(y_train, num_classes) y_test <- to_categorical(y_test, num_classes) @@ -62,7 +62,7 @@ y_test <- to_categorical(y_test, num_classes) ## Build the model -```r +``` r model <- keras_model_sequential(input_shape = input_shape) model |> layer_conv_2d(filters = 32, kernel_size = c(3, 3), activation = "relu") |> @@ -103,7 +103,7 @@ summary(model) ## Train the model -```r +``` r batch_size <- 128 epochs <- 15 @@ -123,49 +123,49 @@ model |> fit( ``` ## Epoch 1/15 -## 422/422 - 4s - 10ms/step - accuracy: 0.8895 - loss: 0.3636 - val_accuracy: 0.9787 - val_loss: 0.0793 +## 422/422 - 5s - 11ms/step - accuracy: 0.8895 - loss: 0.3636 - val_accuracy: 0.9787 - val_loss: 0.0792 ## Epoch 2/15 -## 422/422 - 1s - 2ms/step - accuracy: 0.9666 - loss: 0.1112 - val_accuracy: 0.9852 - val_loss: 0.0550 +## 422/422 - 1s - 2ms/step - accuracy: 0.9664 - loss: 0.1111 - val_accuracy: 0.9850 - val_loss: 0.0550 ## Epoch 3/15 -## 422/422 - 1s - 2ms/step - accuracy: 0.9743 - loss: 0.0824 - val_accuracy: 0.9882 - val_loss: 0.0439 +## 422/422 - 1s - 2ms/step - accuracy: 0.9743 - loss: 0.0824 - val_accuracy: 0.9882 - val_loss: 0.0441 ## Epoch 4/15 -## 422/422 - 1s - 2ms/step - accuracy: 0.9786 - loss: 0.0695 - val_accuracy: 0.9897 - val_loss: 0.0399 +## 422/422 - 1s - 2ms/step - accuracy: 0.9786 - loss: 0.0695 - val_accuracy: 0.9895 - val_loss: 0.0400 ## Epoch 5/15 -## 422/422 - 1s - 2ms/step - accuracy: 0.9803 - loss: 0.0626 - val_accuracy: 0.9900 - val_loss: 0.0354 +## 422/422 - 1s - 2ms/step - accuracy: 0.9804 - loss: 0.0626 - val_accuracy: 0.9900 - val_loss: 0.0355 ## Epoch 6/15 -## 422/422 - 1s - 2ms/step - accuracy: 0.9823 - loss: 0.0557 - val_accuracy: 0.9912 - val_loss: 0.0332 +## 422/422 - 1s - 2ms/step - accuracy: 0.9824 - loss: 0.0558 - val_accuracy: 0.9912 - val_loss: 0.0333 ## Epoch 7/15 -## 422/422 - 1s - 2ms/step - accuracy: 0.9837 - loss: 0.0499 - val_accuracy: 0.9918 - val_loss: 0.0310 +## 422/422 - 1s - 2ms/step - accuracy: 0.9835 - loss: 0.0501 - val_accuracy: 0.9918 - val_loss: 0.0310 ## Epoch 8/15 -## 422/422 - 1s - 2ms/step - accuracy: 0.9849 - loss: 0.0481 - val_accuracy: 0.9920 - val_loss: 0.0310 +## 422/422 - 1s - 2ms/step - accuracy: 0.9851 - loss: 0.0479 - val_accuracy: 0.9922 - val_loss: 0.0310 ## Epoch 9/15 -## 422/422 - 1s - 2ms/step - accuracy: 0.9861 - loss: 0.0444 - val_accuracy: 0.9917 - val_loss: 0.0302 +## 422/422 - 1s - 2ms/step - accuracy: 0.9862 - loss: 0.0444 - val_accuracy: 0.9920 - val_loss: 0.0300 ## Epoch 10/15 -## 422/422 - 1s - 2ms/step - accuracy: 0.9863 - loss: 0.0439 - val_accuracy: 0.9913 - val_loss: 0.0297 +## 422/422 - 1s - 2ms/step - accuracy: 0.9863 - loss: 0.0438 - val_accuracy: 0.9912 - val_loss: 0.0294 ## Epoch 11/15 -## 422/422 - 1s - 2ms/step - accuracy: 0.9872 - loss: 0.0393 - val_accuracy: 0.9917 - val_loss: 0.0306 +## 422/422 - 1s - 2ms/step - accuracy: 0.9873 - loss: 0.0394 - val_accuracy: 0.9913 - val_loss: 0.0304 ## Epoch 12/15 -## 422/422 - 1s - 2ms/step - accuracy: 0.9874 - loss: 0.0372 - val_accuracy: 0.9922 - val_loss: 0.0289 +## 422/422 - 1s - 2ms/step - accuracy: 0.9875 - loss: 0.0371 - val_accuracy: 0.9927 - val_loss: 0.0287 ## Epoch 13/15 -## 422/422 - 1s - 2ms/step - accuracy: 0.9888 - loss: 0.0344 - val_accuracy: 0.9918 - val_loss: 0.0293 +## 422/422 - 1s - 2ms/step - accuracy: 0.9891 - loss: 0.0346 - val_accuracy: 0.9920 - val_loss: 0.0292 ## Epoch 14/15 -## 422/422 - 1s - 2ms/step - accuracy: 0.9890 - loss: 0.0343 - val_accuracy: 0.9918 - val_loss: 0.0282 +## 422/422 - 1s - 2ms/step - accuracy: 0.9891 - loss: 0.0343 - val_accuracy: 0.9922 - val_loss: 0.0284 ## Epoch 15/15 -## 422/422 - 1s - 2ms/step - accuracy: 0.9894 - loss: 0.0322 - val_accuracy: 0.9915 - val_loss: 0.0284 +## 422/422 - 1s - 2ms/step - accuracy: 0.9895 - loss: 0.0320 - val_accuracy: 0.9920 - val_loss: 0.0282 ``` ## Evaluate the trained model -```r +``` r score <- model |> evaluate(x_test, y_test, verbose = 0) score ``` ``` ## $accuracy -## [1] 0.9912 +## [1] 0.9914 ## ## $loss -## [1] 0.02448307 +## [1] 0.02402576 ``` diff --git a/vignettes/examples/vision/mnist_siamese_graph.Rmd b/vignettes/examples/vision/mnist_siamese_graph.Rmd index ace2217db..e70466795 100644 --- a/vignettes/examples/vision/mnist_siamese_graph.Rmd +++ b/vignettes/examples/vision/mnist_siamese_graph.Rmd @@ -33,13 +33,13 @@ Gets to 98.11% test accuracy after 20 epochs. 3 seconds per epoch on a AMD Ryzen 7 PRO 4750U (CPU) -```r +``` r library(keras3) ``` -```r +``` r contrastive_loss <- function(y_true, y_pred) { # Contrastive loss from Hadsell-et-al.'06 # https://yann.lecun.com/exdb/publis/pdf/hadsell-chopra-lecun-06.pdf @@ -61,7 +61,7 @@ of digits (until digit `9`). Once we have paired digit `0` with other digits, we can repeat this process for the remaining classes for the rest of the digits (from `1` until `9`). -```r +``` r create_pairs <- function(x, y) { # Positive and negative pair creation. # Alternates between positive and negative pairs. @@ -82,7 +82,7 @@ compute_accuracy <- function(predictions, labels) { -```r +``` r # the data, shuffled and split between train and test sets mnist <- dataset_mnist() x_train <- mnist$train$x @@ -108,7 +108,7 @@ names(tr) ## Network definition -```r +``` r # input layers input_dim = 784 input_1 <- layer_input(shape = c(input_dim)) @@ -140,7 +140,7 @@ model <- keras_model(list(input_1, input_2), out) ## Train -```r +``` r model %>% compile( optimizer = "rmsprop", #loss = "binary_crossentropy", @@ -161,48 +161,48 @@ history <- model %>% fit( ``` ## Epoch 1/20 -## 469/469 - 22s - 47ms/step - binary_accuracy: 0.7565 - loss: 0.1644 - val_binary_accuracy: 0.8782 - val_loss: 0.0989 +## 469/469 - 17s - 36ms/step - binary_accuracy: 0.7566 - loss: 0.1644 - val_binary_accuracy: 0.8753 - val_loss: 0.1001 ## Epoch 2/20 -## 469/469 - 1s - 2ms/step - binary_accuracy: 0.8886 - loss: 0.0873 - val_binary_accuracy: 0.9220 - val_loss: 0.0622 +## 469/469 - 1s - 1ms/step - binary_accuracy: 0.8896 - loss: 0.0867 - val_binary_accuracy: 0.9248 - val_loss: 0.0614 ## Epoch 3/20 -## 469/469 - 1s - 1ms/step - binary_accuracy: 0.9246 - loss: 0.0590 - val_binary_accuracy: 0.9380 - val_loss: 0.0485 +## 469/469 - 1s - 1ms/step - binary_accuracy: 0.9261 - loss: 0.0579 - val_binary_accuracy: 0.9409 - val_loss: 0.0461 ## Epoch 4/20 -## 469/469 - 1s - 1ms/step - binary_accuracy: 0.9456 - loss: 0.0436 - val_binary_accuracy: 0.9493 - val_loss: 0.0398 +## 469/469 - 1s - 1ms/step - binary_accuracy: 0.9474 - loss: 0.0419 - val_binary_accuracy: 0.9529 - val_loss: 0.0382 ## Epoch 5/20 -## 469/469 - 1s - 1ms/step - binary_accuracy: 0.9572 - loss: 0.0343 - val_binary_accuracy: 0.9582 - val_loss: 0.0331 +## 469/469 - 1s - 1ms/step - binary_accuracy: 0.9589 - loss: 0.0328 - val_binary_accuracy: 0.9603 - val_loss: 0.0316 ## Epoch 6/20 -## 469/469 - 1s - 1ms/step - binary_accuracy: 0.9644 - loss: 0.0283 - val_binary_accuracy: 0.9661 - val_loss: 0.0273 +## 469/469 - 1s - 1ms/step - binary_accuracy: 0.9660 - loss: 0.0272 - val_binary_accuracy: 0.9617 - val_loss: 0.0297 ## Epoch 7/20 -## 469/469 - 1s - 1ms/step - binary_accuracy: 0.9707 - loss: 0.0236 - val_binary_accuracy: 0.9658 - val_loss: 0.0271 +## 469/469 - 1s - 1ms/step - binary_accuracy: 0.9708 - loss: 0.0234 - val_binary_accuracy: 0.9665 - val_loss: 0.0270 ## Epoch 8/20 -## 469/469 - 1s - 1ms/step - binary_accuracy: 0.9747 - loss: 0.0206 - val_binary_accuracy: 0.9692 - val_loss: 0.0247 +## 469/469 - 1s - 1ms/step - binary_accuracy: 0.9747 - loss: 0.0201 - val_binary_accuracy: 0.9674 - val_loss: 0.0259 ## Epoch 9/20 -## 469/469 - 1s - 1ms/step - binary_accuracy: 0.9771 - loss: 0.0184 - val_binary_accuracy: 0.9695 - val_loss: 0.0238 +## 469/469 - 1s - 1ms/step - binary_accuracy: 0.9787 - loss: 0.0175 - val_binary_accuracy: 0.9697 - val_loss: 0.0247 ## Epoch 10/20 -## 469/469 - 1s - 1ms/step - binary_accuracy: 0.9795 - loss: 0.0167 - val_binary_accuracy: 0.9697 - val_loss: 0.0244 +## 469/469 - 1s - 1ms/step - binary_accuracy: 0.9807 - loss: 0.0157 - val_binary_accuracy: 0.9684 - val_loss: 0.0251 ## Epoch 11/20 -## 469/469 - 1s - 1ms/step - binary_accuracy: 0.9814 - loss: 0.0152 - val_binary_accuracy: 0.9726 - val_loss: 0.0218 +## 469/469 - 1s - 1ms/step - binary_accuracy: 0.9810 - loss: 0.0152 - val_binary_accuracy: 0.9710 - val_loss: 0.0230 ## Epoch 12/20 -## 469/469 - 1s - 1ms/step - binary_accuracy: 0.9831 - loss: 0.0139 - val_binary_accuracy: 0.9734 - val_loss: 0.0210 +## 469/469 - 1s - 1ms/step - binary_accuracy: 0.9831 - loss: 0.0138 - val_binary_accuracy: 0.9726 - val_loss: 0.0224 ## Epoch 13/20 -## 469/469 - 1s - 1ms/step - binary_accuracy: 0.9841 - loss: 0.0128 - val_binary_accuracy: 0.9748 - val_loss: 0.0202 +## 469/469 - 1s - 1ms/step - binary_accuracy: 0.9854 - loss: 0.0121 - val_binary_accuracy: 0.9724 - val_loss: 0.0224 ## Epoch 14/20 -## 469/469 - 1s - 1ms/step - binary_accuracy: 0.9852 - loss: 0.0121 - val_binary_accuracy: 0.9755 - val_loss: 0.0198 +## 469/469 - 1s - 1ms/step - binary_accuracy: 0.9861 - loss: 0.0114 - val_binary_accuracy: 0.9738 - val_loss: 0.0217 ## Epoch 15/20 -## 469/469 - 1s - 1ms/step - binary_accuracy: 0.9860 - loss: 0.0112 - val_binary_accuracy: 0.9730 - val_loss: 0.0217 +## 469/469 - 1s - 1ms/step - binary_accuracy: 0.9864 - loss: 0.0110 - val_binary_accuracy: 0.9738 - val_loss: 0.0213 ## Epoch 16/20 -## 469/469 - 1s - 1ms/step - binary_accuracy: 0.9868 - loss: 0.0106 - val_binary_accuracy: 0.9758 - val_loss: 0.0204 +## 469/469 - 1s - 1ms/step - binary_accuracy: 0.9881 - loss: 0.0101 - val_binary_accuracy: 0.9754 - val_loss: 0.0206 ## Epoch 17/20 -## 469/469 - 1s - 1ms/step - binary_accuracy: 0.9879 - loss: 0.0100 - val_binary_accuracy: 0.9754 - val_loss: 0.0202 +## 469/469 - 1s - 1ms/step - binary_accuracy: 0.9883 - loss: 0.0097 - val_binary_accuracy: 0.9733 - val_loss: 0.0214 ## Epoch 18/20 -## 469/469 - 1s - 1ms/step - binary_accuracy: 0.9884 - loss: 0.0095 - val_binary_accuracy: 0.9773 - val_loss: 0.0185 +## 469/469 - 1s - 1ms/step - binary_accuracy: 0.9881 - loss: 0.0097 - val_binary_accuracy: 0.9723 - val_loss: 0.0216 ## Epoch 19/20 -## 469/469 - 1s - 1ms/step - binary_accuracy: 0.9883 - loss: 0.0096 - val_binary_accuracy: 0.9747 - val_loss: 0.0207 +## 469/469 - 1s - 1ms/step - binary_accuracy: 0.9891 - loss: 0.0090 - val_binary_accuracy: 0.9749 - val_loss: 0.0202 ## Epoch 20/20 -## 469/469 - 1s - 1ms/step - binary_accuracy: 0.9896 - loss: 0.0087 - val_binary_accuracy: 0.9764 - val_loss: 0.0199 +## 469/469 - 1s - 1ms/step - binary_accuracy: 0.9898 - loss: 0.0085 - val_binary_accuracy: 0.9752 - val_loss: 0.0205 ``` -```r +``` r plot(history) ``` @@ -211,17 +211,17 @@ plot(history) ## Evaluate -```r +``` r # compute final accuracy on training and test sets tr_pred <- predict(model, list(tr$pair1, tr$pair2))[,1] ``` ``` -## 1875/1875 - 2s - 856us/step +## 1875/1875 - 1s - 793us/step ``` -```r +``` r tr_acc <- compute_accuracy(tr_pred, tr$y) te_pred <- predict(model, list(te$pair1, te$pair2))[,1] ``` @@ -230,35 +230,35 @@ te_pred <- predict(model, list(te$pair1, te$pair2))[,1] ## 313/313 - 0s - 1ms/step ``` -```r +``` r te_acc <- compute_accuracy(te_pred, te$y) sprintf('* Accuracy on training set: %0.2f%%', (100 * tr_acc)) ``` ``` -## [1] "* Accuracy on training set: 99.71%" +## [1] "* Accuracy on training set: 99.63%" ``` -```r +``` r sprintf('* Accuracy on test set: %0.2f%%', (100 * te_acc)) ``` ``` -## [1] "* Accuracy on test set: 98.54%" +## [1] "* Accuracy on test set: 97.93%" ``` ## Plots -```r +``` r par(mfrow=c(1,1)) vioplot::vioplot( te_pred ~ te$y ) ``` ![plot of chunk unnamed-chunk-7](mnist_siamese_graph/unnamed-chunk-7-1.png) -```r +``` r i=3 visualizePair <- function(i) { image(rbind(matrix( te$pair1[i,],28,28)[,28:1], matrix( te$pair2[i,],28,28)[,28:1])) diff --git a/vignettes/examples/vision/mnist_siamese_graph/unnamed-chunk-5-1.png b/vignettes/examples/vision/mnist_siamese_graph/unnamed-chunk-5-1.png index 58138957cf44a33e1c7e6c6de0145d80162a880c..915daf865aa65624244e9f7cc9e47887378c0cce 100644 GIT binary patch literal 31048 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 literal 31043 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 diff --git a/vignettes/examples/vision/mnist_siamese_graph/unnamed-chunk-7-1.png b/vignettes/examples/vision/mnist_siamese_graph/unnamed-chunk-7-1.png index 33c831433424ccda8783c897be5d770638d20f39..458fcc97646e3031af5f2138bfca808a643ff2e7 100644 GIT binary patch delta 7991 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 delta 8077 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 H==pyDu?zUp diff --git a/vignettes/examples/vision/mnist_siamese_graph/unnamed-chunk-7-2.png b/vignettes/examples/vision/mnist_siamese_graph/unnamed-chunk-7-2.png index ae74b9af74248351673e248cda0a82299ce1a887..3f11e794022dd7756931883bcb5c8ac8315d45d0 100644 GIT binary patch delta 9027 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 UNQ5UTXUIPTJ@Ab(o%><`2cNdj2LJ#7 diff --git a/vignettes/examples/vision/oxford_pets_image_segmentation.Rmd b/vignettes/examples/vision/oxford_pets_image_segmentation.Rmd index ff72f8f48..fccc5b71b 100644 --- a/vignettes/examples/vision/oxford_pets_image_segmentation.Rmd +++ b/vignettes/examples/vision/oxford_pets_image_segmentation.Rmd @@ -17,7 +17,7 @@ vignette: > -```r +``` r options(timeout = 5000) download.file( "https://www.robots.ox.ac.uk/~vgg/data/pets/data/images.tar.gz", @@ -36,7 +36,7 @@ untar("datasets/annotations.tar.gz", exdir = "datasets") ## Prepare paths of input images and target segmentation masks -```r +``` r library(keras3) input_dir <- "datasets/images/" target_dir <- "datasets/annotations/trimaps/" @@ -54,7 +54,7 @@ cat("Number of samples:", length(input_img_paths), "\n") ## Number of samples: 7390 ``` -```r +``` r for (i in 1:10) { cat(input_img_paths[i], "|", target_img_paths[i], "\n") } @@ -76,7 +76,7 @@ for (i in 1:10) { ## What does one input image and corresponding segmentation mask look like? -```r +``` r # Display input image #10 input_img_paths[10] |> jpeg::readJPEG() |> @@ -86,7 +86,7 @@ input_img_paths[10] |> ![plot of chunk unnamed-chunk-4](oxford_pets_image_segmentation/unnamed-chunk-4-1.png) -```r +``` r target_img_paths[10] |> png::readPNG() |> magrittr::multiply_by(255)|> @@ -99,7 +99,7 @@ target_img_paths[10] |> ## Prepare dataset to load & vectorize batches of data -```r +``` r library(tensorflow, exclude = c("shape", "set_random_seed")) library(tfdatasets, exclude = "shape") @@ -144,7 +144,7 @@ get_dataset <- function(batch_size, img_size, input_img_paths, target_img_paths, ## Prepare U-Net Xception-style model -```r +``` r get_model <- function(img_size, num_classes) { inputs <- keras_input(shape = c(img_size, 3)) @@ -443,7 +443,7 @@ summary(model) ## Set aside a validation split -```r +``` r # Split our img paths into a training and a validation set val_samples <- 1000 val_samples <- sample.int(length(input_img_paths), val_samples) @@ -472,7 +472,7 @@ valid_dataset <- get_dataset( ## Train the model -```r +``` r # Configure the model for training. # We use the "sparse" version of categorical_crossentropy # because our target data is integers. @@ -500,111 +500,111 @@ model |> fit( ``` ## Epoch 1/50 -## 32/32 - 27s - 844ms/step - loss: 1.4284 - val_loss: 1.5502 +## 32/32 - 29s - 914ms/step - loss: 1.4283 - val_loss: 1.5499 ## Epoch 2/50 -## 32/32 - 2s - 60ms/step - loss: 0.9221 - val_loss: 1.9881 +## 32/32 - 2s - 60ms/step - loss: 0.9221 - val_loss: 1.9887 ## Epoch 3/50 -## 32/32 - 2s - 60ms/step - loss: 0.7764 - val_loss: 2.5123 +## 32/32 - 2s - 60ms/step - loss: 0.7764 - val_loss: 2.5144 ## Epoch 4/50 -## 32/32 - 2s - 60ms/step - loss: 0.7200 - val_loss: 3.0148 +## 32/32 - 2s - 61ms/step - loss: 0.7200 - val_loss: 3.0185 ## Epoch 5/50 -## 32/32 - 2s - 60ms/step - loss: 0.6848 - val_loss: 3.2898 +## 32/32 - 2s - 61ms/step - loss: 0.6847 - val_loss: 3.2947 ## Epoch 6/50 -## 32/32 - 2s - 60ms/step - loss: 0.6556 - val_loss: 3.4525 +## 32/32 - 2s - 68ms/step - loss: 0.6556 - val_loss: 3.4559 ## Epoch 7/50 -## 32/32 - 2s - 60ms/step - loss: 0.6302 - val_loss: 3.5625 +## 32/32 - 2s - 76ms/step - loss: 0.6303 - val_loss: 3.5671 ## Epoch 8/50 -## 32/32 - 2s - 60ms/step - loss: 0.6082 - val_loss: 3.6537 +## 32/32 - 2s - 62ms/step - loss: 0.6083 - val_loss: 3.6620 ## Epoch 9/50 -## 32/32 - 2s - 60ms/step - loss: 0.5894 - val_loss: 3.7334 +## 32/32 - 2s - 63ms/step - loss: 0.5895 - val_loss: 3.7374 ## Epoch 10/50 -## 32/32 - 2s - 60ms/step - loss: 0.5726 - val_loss: 3.7954 +## 32/32 - 2s - 62ms/step - loss: 0.5726 - val_loss: 3.8015 ## Epoch 11/50 -## 32/32 - 2s - 60ms/step - loss: 0.5566 - val_loss: 3.8266 +## 32/32 - 2s - 63ms/step - loss: 0.5567 - val_loss: 3.8311 ## Epoch 12/50 -## 32/32 - 2s - 60ms/step - loss: 0.5407 - val_loss: 3.8028 +## 32/32 - 2s - 63ms/step - loss: 0.5407 - val_loss: 3.8089 ## Epoch 13/50 -## 32/32 - 2s - 60ms/step - loss: 0.5241 - val_loss: 3.7225 +## 32/32 - 2s - 62ms/step - loss: 0.5242 - val_loss: 3.7293 ## Epoch 14/50 -## 32/32 - 2s - 60ms/step - loss: 0.5063 - val_loss: 3.5891 +## 32/32 - 2s - 61ms/step - loss: 0.5062 - val_loss: 3.5953 ## Epoch 15/50 -## 32/32 - 2s - 60ms/step - loss: 0.4862 - val_loss: 3.4399 +## 32/32 - 2s - 61ms/step - loss: 0.4860 - val_loss: 3.4506 ## Epoch 16/50 -## 32/32 - 2s - 60ms/step - loss: 0.4640 - val_loss: 3.2488 +## 32/32 - 2s - 60ms/step - loss: 0.4637 - val_loss: 3.2588 ## Epoch 17/50 -## 32/32 - 2s - 60ms/step - loss: 0.4398 - val_loss: 2.9895 +## 32/32 - 2s - 61ms/step - loss: 0.4396 - val_loss: 3.0063 ## Epoch 18/50 -## 32/32 - 2s - 60ms/step - loss: 0.4141 - val_loss: 2.7040 +## 32/32 - 2s - 61ms/step - loss: 0.4140 - val_loss: 2.7031 ## Epoch 19/50 -## 32/32 - 2s - 60ms/step - loss: 0.3877 - val_loss: 2.3552 +## 32/32 - 2s - 61ms/step - loss: 0.3877 - val_loss: 2.3504 ## Epoch 20/50 -## 32/32 - 2s - 60ms/step - loss: 0.3622 - val_loss: 1.9751 +## 32/32 - 2s - 61ms/step - loss: 0.3623 - val_loss: 1.9645 ## Epoch 21/50 -## 32/32 - 2s - 60ms/step - loss: 0.3391 - val_loss: 1.6415 +## 32/32 - 2s - 62ms/step - loss: 0.3392 - val_loss: 1.6364 ## Epoch 22/50 -## 32/32 - 2s - 65ms/step - loss: 0.3201 - val_loss: 1.3455 +## 32/32 - 2s - 66ms/step - loss: 0.3203 - val_loss: 1.3376 ## Epoch 23/50 -## 32/32 - 2s - 65ms/step - loss: 0.3076 - val_loss: 1.1034 +## 32/32 - 2s - 67ms/step - loss: 0.3082 - val_loss: 1.0917 ## Epoch 24/50 -## 32/32 - 2s - 65ms/step - loss: 0.3076 - val_loss: 1.0204 +## 32/32 - 2s - 66ms/step - loss: 0.3084 - val_loss: 1.0189 ## Epoch 25/50 -## 32/32 - 2s - 65ms/step - loss: 0.3429 - val_loss: 0.9294 +## 32/32 - 2s - 66ms/step - loss: 0.3461 - val_loss: 0.9181 ## Epoch 26/50 -## 32/32 - 2s - 60ms/step - loss: 0.3633 - val_loss: 1.0385 +## 32/32 - 2s - 61ms/step - loss: 0.3649 - val_loss: 1.0231 ## Epoch 27/50 -## 32/32 - 2s - 65ms/step - loss: 0.3294 - val_loss: 0.8552 +## 32/32 - 2s - 66ms/step - loss: 0.3294 - val_loss: 0.8574 ## Epoch 28/50 -## 32/32 - 2s - 60ms/step - loss: 0.2888 - val_loss: 0.9904 +## 32/32 - 2s - 61ms/step - loss: 0.2891 - val_loss: 1.0065 ## Epoch 29/50 -## 32/32 - 2s - 60ms/step - loss: 0.2722 - val_loss: 1.1511 +## 32/32 - 2s - 61ms/step - loss: 0.2731 - val_loss: 1.1668 ## Epoch 30/50 -## 32/32 - 2s - 60ms/step - loss: 0.2675 - val_loss: 1.1777 +## 32/32 - 2s - 61ms/step - loss: 0.2681 - val_loss: 1.1974 ## Epoch 31/50 -## 32/32 - 2s - 60ms/step - loss: 0.2710 - val_loss: 1.1230 +## 32/32 - 2s - 61ms/step - loss: 0.2723 - val_loss: 1.1259 ## Epoch 32/50 -## 32/32 - 2s - 60ms/step - loss: 0.2818 - val_loss: 1.1107 +## 32/32 - 2s - 61ms/step - loss: 0.2872 - val_loss: 1.1112 ## Epoch 33/50 -## 32/32 - 2s - 60ms/step - loss: 0.3111 - val_loss: 1.2046 +## 32/32 - 2s - 61ms/step - loss: 0.3146 - val_loss: 1.2479 ## Epoch 34/50 -## 32/32 - 2s - 60ms/step - loss: 0.3025 - val_loss: 1.2817 +## 32/32 - 2s - 61ms/step - loss: 0.3034 - val_loss: 1.1946 ## Epoch 35/50 -## 32/32 - 2s - 60ms/step - loss: 0.2902 - val_loss: 1.0870 +## 32/32 - 2s - 61ms/step - loss: 0.2880 - val_loss: 1.0699 ## Epoch 36/50 -## 32/32 - 2s - 60ms/step - loss: 0.2812 - val_loss: 0.9639 +## 32/32 - 2s - 61ms/step - loss: 0.2770 - val_loss: 1.0195 ## Epoch 37/50 -## 32/32 - 2s - 60ms/step - loss: 0.2769 - val_loss: 1.3830 +## 32/32 - 2s - 61ms/step - loss: 0.2669 - val_loss: 1.2986 ## Epoch 38/50 -## 32/32 - 2s - 60ms/step - loss: 0.2629 - val_loss: 1.0656 +## 32/32 - 2s - 61ms/step - loss: 0.2544 - val_loss: 1.0411 ## Epoch 39/50 -## 32/32 - 2s - 60ms/step - loss: 0.2439 - val_loss: 1.2142 +## 32/32 - 2s - 61ms/step - loss: 0.2383 - val_loss: 1.3622 ## Epoch 40/50 -## 32/32 - 2s - 60ms/step - loss: 0.2417 - val_loss: 1.1791 +## 32/32 - 2s - 61ms/step - loss: 0.2378 - val_loss: 1.3429 ## Epoch 41/50 -## 32/32 - 2s - 60ms/step - loss: 0.2437 - val_loss: 1.3024 +## 32/32 - 2s - 61ms/step - loss: 0.2439 - val_loss: 1.2881 ## Epoch 42/50 -## 32/32 - 2s - 60ms/step - loss: 0.2340 - val_loss: 1.5025 +## 32/32 - 2s - 61ms/step - loss: 0.2406 - val_loss: 1.5361 ## Epoch 43/50 -## 32/32 - 2s - 60ms/step - loss: 0.2330 - val_loss: 1.2029 +## 32/32 - 2s - 61ms/step - loss: 0.2417 - val_loss: 1.2444 ## Epoch 44/50 -## 32/32 - 2s - 60ms/step - loss: 0.2228 - val_loss: 1.1434 +## 32/32 - 2s - 61ms/step - loss: 0.2275 - val_loss: 1.1713 ## Epoch 45/50 -## 32/32 - 2s - 60ms/step - loss: 0.2169 - val_loss: 1.1099 +## 32/32 - 2s - 61ms/step - loss: 0.2168 - val_loss: 1.0482 ## Epoch 46/50 -## 32/32 - 2s - 60ms/step - loss: 0.2116 - val_loss: 1.1009 +## 32/32 - 2s - 62ms/step - loss: 0.2096 - val_loss: 1.1095 ## Epoch 47/50 -## 32/32 - 2s - 60ms/step - loss: 0.2059 - val_loss: 1.0853 +## 32/32 - 2s - 61ms/step - loss: 0.2026 - val_loss: 1.1017 ## Epoch 48/50 -## 32/32 - 2s - 60ms/step - loss: 0.2004 - val_loss: 1.1272 +## 32/32 - 2s - 61ms/step - loss: 0.1986 - val_loss: 1.1087 ## Epoch 49/50 -## 32/32 - 2s - 60ms/step - loss: 0.1924 - val_loss: 1.0651 +## 32/32 - 2s - 61ms/step - loss: 0.1924 - val_loss: 1.1055 ## Epoch 50/50 -## 32/32 - 2s - 60ms/step - loss: 0.1844 - val_loss: 1.1039 +## 32/32 - 2s - 61ms/step - loss: 0.1846 - val_loss: 1.0708 ``` ## Visualize predictions -```r +``` r model <- load_model("models/oxford_segmentation.keras") # Generate predictions for all images in the validation set val_dataset <- get_dataset( @@ -614,10 +614,10 @@ val_preds <- predict(model, val_dataset) ``` ``` -## 32/32 - 3s - 83ms/step +## 32/32 - 3s - 86ms/step ``` -```r +``` r display_mask <- function(i) { # Quick utility to display a model's prediction. mask <- val_preds[i,,,] %>% diff --git a/vignettes/examples/vision/oxford_pets_image_segmentation/unnamed-chunk-9-1.png b/vignettes/examples/vision/oxford_pets_image_segmentation/unnamed-chunk-9-1.png index e10829279310f5614ba7ce8ffc58f43747d3696e..1f21754f9724b18a53c00b87029e64c3f93edc6f 100644 GIT binary patch literal 36912 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 Tt+**G7C>qqa35EuOGNI!tWARD diff --git a/vignettes/functional_api.Rmd b/vignettes/functional_api.Rmd index 7cd091135..129b30262 100644 --- a/vignettes/functional_api.Rmd +++ b/vignettes/functional_api.Rmd @@ -13,7 +13,7 @@ vignette: > ## Setup -```r +``` r library(keras3) ``` @@ -47,7 +47,7 @@ This is a basic graph with three layers. To build this model using the functional API, start by creating an input node: -```r +``` r inputs <- keras_input(shape = c(784)) ``` @@ -58,7 +58,7 @@ If, for example, you have an image input with a shape of `(32, 32, 3)`, you would use: -```r +``` r # Just for demonstration purposes. img_inputs <- keras_input(shape = c(32, 32, 3)) ``` @@ -68,7 +68,7 @@ of the input data that you feed to your model. Here's the shape: -```r +``` r shape(inputs) ``` @@ -79,7 +79,7 @@ shape(inputs) Here's the dtype: -```r +``` r inputs$dtype ``` @@ -91,7 +91,7 @@ You create a new node in the graph of layers by calling a layer on this `inputs` object: -```r +``` r dense <- layer_dense(units = 64, activation="relu") x <- dense(inputs) ``` @@ -103,7 +103,7 @@ You're "passing" the inputs to the `dense` layer, and you get `x` as the output. Let's add a few more layers to the graph of layers: -```r +``` r outputs <- x |> layer_dense(units = 64, activation = "relu") |> layer_dense(units = 10) @@ -113,14 +113,14 @@ At this point, you can create a `Model` by specifying its inputs and outputs in the graph of layers: -```r +``` r model <- keras_model(inputs = inputs, outputs = outputs, name = "mnist_model") ``` Let's check out what the model summary looks like: -```r +``` r summary(model) ``` @@ -145,7 +145,7 @@ summary(model) You can also plot the model as a graph: -```r +``` r plot(model) ``` @@ -155,7 +155,7 @@ And, optionally, display the input and output shapes of each layer in the plotted graph: -```r +``` r plot(model, show_shapes = TRUE) ``` @@ -189,7 +189,7 @@ fit the model on the data (while monitoring performance on a validation split), then evaluate the model on the test data: -```r +``` r c(c(x_train, y_train), c(x_test, y_test)) %<-% dataset_mnist() x_train <- array_reshape(x_train, c(60000, 784)) / 255 @@ -208,29 +208,29 @@ history <- model |> fit( ``` ## Epoch 1/2 -## 750/750 - 2s - 3ms/step - accuracy: 0.8979 - loss: 0.3540 - val_accuracy: 0.9448 - val_loss: 0.1903 +## 750/750 - 2s - 2ms/step - accuracy: 0.8979 - loss: 0.3540 - val_accuracy: 0.9448 - val_loss: 0.1903 ## Epoch 2/2 -## 750/750 - 1s - 920us/step - accuracy: 0.9509 - loss: 0.1635 - val_accuracy: 0.9597 - val_loss: 0.1397 +## 750/750 - 1s - 773us/step - accuracy: 0.9511 - loss: 0.1634 - val_accuracy: 0.9605 - val_loss: 0.1386 ``` -```r +``` r test_scores <- model |> evaluate(x_test, y_test, verbose=2) ``` ``` -## 313/313 - 1s - 2ms/step - accuracy: 0.9595 - loss: 0.1328 +## 313/313 - 0s - 980us/step - accuracy: 0.9593 - loss: 0.1323 ``` -```r +``` r cat("Test loss:", test_scores$loss, "\n") cat("Test accuracy:", test_scores$accuracy, "\n") ``` ``` -## Test loss: 0.132778 -## Test accuracy: 0.9595 +## Test loss: 0.1323339 +## Test accuracy: 0.9593 ``` For further reading, see the [training and evaluation](training_with_built_in_methods.html) guide. @@ -250,7 +250,7 @@ This saved file includes the: - optimizer and its state, if any (to restart training where you left off) -```r +``` r model |> save_model("my_model.keras") rm(model) # Recreate the exact same model purely from the file: @@ -273,7 +273,7 @@ an `encoder` model that turns image inputs into 16-dimensional vectors, and an end-to-end `autoencoder` model for training. -```r +``` r encoder_input <- keras_input(shape = c(28, 28, 1), name="img") encoder_output <- encoder_input |> layer_conv_2d(16, 3, activation = "relu") |> @@ -312,7 +312,7 @@ summary(encoder) ##  Non-trainable params: 0 (0.00 B) ``` -```r +``` r decoder_output <- encoder_output |> layer_reshape(c(4, 4, 1)) |> layer_conv_2d_transpose(16, 3, activation = "relu") |> @@ -384,7 +384,7 @@ creates an encoder model, a decoder model, and chains them in two calls to obtain the autoencoder model: -```r +``` r encoder_input <- keras_input(shape = c(28, 28, 1), name="img") encoder_output <- encoder_input |> layer_conv_2d(16, 3, activation = "relu") |> @@ -423,7 +423,7 @@ summary(encoder) ##  Non-trainable params: 0 (0.00 B) ``` -```r +``` r decoder_input <- keras_input(shape = c(16), name = "encoded_img") decoder_output <- decoder_input |> layer_reshape(c(4, 4, 1)) |> @@ -465,7 +465,7 @@ summary(decoder) ##  Non-trainable params: 0 (0.00 B) ``` -```r +``` r autoencoder_input <- keras_input(shape = c(28, 28, 1), name = "img") encoded_img <- encoder(autoencoder_input) decoded_img <- decoder(encoded_img) @@ -497,7 +497,7 @@ For example, here's how to ensemble a set of models into a single model that averages their predictions: -```r +``` r get_model <- function() { inputs <- keras_input(shape = 128) outputs <- inputs |> layer_dense(1) @@ -540,7 +540,7 @@ over the set of departments). You can build this model in a few lines with the functional API: -```r +``` r num_tags <- 12 # Number of unique issue tags num_words <- 10000 # Size of vocabulary obtained when preprocessing text data num_departments <- 4 # Number of departments for predictions @@ -583,7 +583,7 @@ model <- keras_model( Now plot the model: -```r +``` r plot(model, show_shapes = TRUE) ``` @@ -594,7 +594,7 @@ You can even assign different weights to each loss -- to modulate their contribution to the total training loss. -```r +``` r model |> compile( optimizer = optimizer_rmsprop(1e-3), loss = list( @@ -609,7 +609,7 @@ Since the output layers have different names, you could also specify the losses and loss weights with the corresponding layer names: -```r +``` r model |> compile( optimizer = optimizer_rmsprop(1e-3), loss = list( @@ -623,7 +623,7 @@ model |> compile( Train the model by passing lists of NumPy arrays of inputs and targets: -```r +``` r # Dummy input data title_data <- random_integer(c(1280, 10), 0, num_words) body_data <- random_integer(c(1280, 100), 0, num_words) @@ -643,9 +643,9 @@ model |> fit( ``` ## Epoch 1/2 -## 40/40 - 3s - 69ms/step - loss: 0.3948 +## 40/40 - 2s - 57ms/step - loss: 0.3948 ## Epoch 2/2 -## 40/40 - 0s - 6ms/step - loss: 0.1971 +## 40/40 - 0s - 5ms/step - loss: 0.1971 ``` When calling fit with a `Dataset` object, it should yield either a @@ -666,7 +666,7 @@ A common use case for this is residual connections. Let's build a toy ResNet model for CIFAR10 to demonstrate this: -```r +``` r inputs <- keras_input(shape = c(32, 32, 3), name = "img") block_1_output <- inputs |> layer_conv_2d(32, kernel_size = 3, activation = "relu") |> @@ -743,7 +743,7 @@ summary(model) Plot the model: -```r +``` r plot(model, show_shapes = TRUE) ``` @@ -752,7 +752,7 @@ plot(model, show_shapes = TRUE) Now train the model: -```r +``` r c(c(x_train, y_train), c(x_test, y_test)) %<-% dataset_cifar10() x_train <- x_train / 255.0 @@ -776,7 +776,7 @@ model |> fit( ``` ``` -## 13/13 - 6s - 478ms/step - acc: 0.1250 - loss: 2.2998 - val_acc: 0.1250 - val_loss: 2.2939 +## 13/13 - 5s - 373ms/step - acc: 0.1238 - loss: 2.2995 - val_acc: 0.1300 - val_loss: 2.2957 ``` ## Shared layers @@ -796,7 +796,7 @@ To share a layer in the functional API, call the same layer instance multiple ti For instance, here's an `Embedding` layer shared across two different text inputs: -```r +``` r # Embedding for 1000 unique words mapped to 128-dimensional vectors shared_embedding <- layer_embedding(input_dim = 1000, output_dim = 128) @@ -825,7 +825,7 @@ Let's look at an example. This is a VGG19 model with weights pretrained on Image -```r +``` r vgg19 <- application_vgg19() ``` @@ -833,7 +833,7 @@ And these are the intermediate activations of the model, obtained by querying the graph data structure: -```r +``` r features_list <- lapply(vgg19$layers, function(x) x$output) ``` @@ -841,7 +841,7 @@ Use these features to create a new feature-extraction model that returns the values of the intermediate layer activations: -```r +``` r feat_extraction_model <- keras_model(inputs = vgg19$input, outputs = features_list) @@ -875,7 +875,7 @@ To learn more about creating layers from scratch, read The following is a basic implementation of `layer_dense()`: -```r +``` r custom_dense <- Layer( classname = "CustomDense", initialize = function(units = 32) { @@ -909,7 +909,7 @@ For serialization support in your custom layer, define a `get_config()` method that returns the constructor arguments of the layer instance: -```r +``` r custom_dense <- Layer( classname = "CustomDense", @@ -955,7 +955,7 @@ when recreating a layer instance given its config dictionary. The default implementation of `from_config` is: -```r +``` r from_config <- function(cls, config) { do.call(cls, config) } @@ -990,7 +990,7 @@ There is no `super$initialize(...)`, no `call = function(...)`, no `self$...`, Compare: -```r +``` r inputs <- keras_input(shape = shape(32)) outputs <- inputs |> layer_dense(64, activation = "relu") |> @@ -1001,7 +1001,7 @@ mlp <- keras_model(inputs, outputs) With the subclassed version: -```r +``` r MLP <- Model( classname = "MLP", initialize = function(...) { @@ -1042,7 +1042,7 @@ in this graph. For example, to extract and reuse the activations of intermediate layers (as seen in a previous example): -```r +``` r features_list <- lapply(vgg19$layers, function(x) x$output) feat_extraction_model <- keras_model(inputs = vgg19$input, outputs = features_list) @@ -1081,7 +1081,7 @@ You can always use a functional model or `Sequential` model as part of a subclassed model or layer: -```r +``` r units <- 32 timesteps <- 10 input_dim <- 5 @@ -1143,7 +1143,7 @@ Here's a quick example of a custom RNN, written from scratch, being used in a functional model: -```r +``` r units <- 32 timesteps <- 10 input_dim <- 5 diff --git a/vignettes/getting_started.Rmd b/vignettes/getting_started.Rmd index 71e8872fb..91162507f 100644 --- a/vignettes/getting_started.Rmd +++ b/vignettes/getting_started.Rmd @@ -39,21 +39,21 @@ This website provides documentation for the R interface to Keras. See the main K First, install the keras R package: -```r +``` r install.packages("keras3") ``` or install the development version with: -```r +``` r remotes::install_github("rstudio/keras") ``` The Keras R interface requires that a backend engine be installed. This is [TensorFlow](https://www.tensorflow.org/) by default. -```r +``` r keras3::install_keras(backend = "tensorflow") ``` @@ -72,7 +72,7 @@ The dataset also includes labels for each image, telling us which digit it is. F The MNIST dataset is included with Keras and can be accessed using the `dataset_mnist()` function. Here we load the dataset then create variables for our test and training data: -```r +``` r library(keras3) mnist <- dataset_mnist() x_train <- mnist$train$x @@ -84,7 +84,7 @@ y_test <- mnist$test$y The `x` data is a 3-d array `(images, width, height)` of grayscale values. To prepare the data for training we convert the 3-d arrays into matrices by reshaping width and height into a single dimension (28x28 images are flattened into length 784 vectors). Then, we convert the grayscale values from integers ranging between 0 to 255 into floating point values ranging between 0 and 1: -```r +``` r # reshape x_train <- array_reshape(x_train, c(nrow(x_train), 784)) x_test <- array_reshape(x_test, c(nrow(x_test), 784)) @@ -98,7 +98,7 @@ Note that we use the `array_reshape()` function rather than the `dim<-()` functi The `y` data is an integer vector with values ranging from 0 to 9. To prepare this data for training we one-hot encode the vectors into binary class matrices using the Keras `to_categorical()` function: -```r +``` r y_train <- to_categorical(y_train, 10) y_test <- to_categorical(y_test, 10) ``` @@ -110,7 +110,7 @@ The core data structure of Keras is a model, a way to organize layers. The simpl We begin by creating a sequential model and then adding layers using the pipe (`|>`) operator: -```r +``` r model <- keras_model_sequential(input_shape = c(784)) model |> layer_dense(units = 256, activation = 'relu') |> @@ -125,7 +125,7 @@ The `input_shape` argument to the first layer specifies the shape of the input d Use the `summary()` function to print the details of the model: -```r +``` r summary(model) ``` @@ -150,7 +150,7 @@ summary(model) ``` -```r +``` r plot(model) ``` @@ -158,7 +158,7 @@ plot(model) Next, compile the model with appropriate loss function, optimizer, and metrics: -```r +``` r model |> compile( loss = 'categorical_crossentropy', optimizer = optimizer_rmsprop(), @@ -171,7 +171,7 @@ model |> compile( Use the `fit()` function to train the model for 30 epochs using batches of 128 images: -```r +``` r history <- model |> fit( x_train, y_train, epochs = 30, batch_size = 128, @@ -182,7 +182,7 @@ history <- model |> fit( The `history` object returned by `fit()` includes loss and accuracy metrics which we can plot: -```r +``` r plot(history) ``` @@ -191,26 +191,26 @@ plot(history) Evaluate the model's performance on the test data: -```r +``` r model |> evaluate(x_test, y_test) ``` ``` -## 313/313 - 1s - 2ms/step - accuracy: 0.9808 - loss: 0.0869 +## 313/313 - 1s - 2ms/step - accuracy: 0.9814 - loss: 0.0844 ``` ``` ## $accuracy -## [1] 0.9808 +## [1] 0.9814 ## ## $loss -## [1] 0.08689082 +## [1] 0.08441389 ``` Generate predictions on new data: -```r +``` r probs <- model |> predict(x_test) ``` @@ -218,7 +218,7 @@ probs <- model |> predict(x_test) ## 313/313 - 0s - 1ms/step ``` -```r +``` r max.col(probs) - 1L ``` @@ -233,7 +233,7 @@ Keras provides a vocabulary for building deep learning models that is simple, el ### Deep Learning with R Book -If you want a more comprehensive introduction to both Keras and the concepts and practice of deep learning, we recommend the [Deep Learning with R, 2nd Edition](https://www.manning.com/books/deep-learning-with-r-second-edition) book from Manning. This book is a collaboration between François Chollet, the creator of (Python) Keras, J.J. Allaire, who wrote the original R interface to Keras, and Tomasz Kalinowski, the maintainer of the R interface to Keras. +If you want a more comprehensive introduction to both Keras and the concepts and practice of deep learning, we recommend the [Deep Learning with R, 2nd Edition](https://rstd.io/dlwr-2e) book from Manning. This book is a collaboration between François Chollet, the creator of (Python) Keras, J.J. Allaire, who wrote the original R interface to Keras, and Tomasz Kalinowski, the maintainer of the R interface to Keras. The book presumes no significant knowledge of machine learning and deep learning, and goes all the way from basic theory to advanced practical applications, all using the R interface to Keras. diff --git a/vignettes/getting_started/unnamed-chunk-12-1.png b/vignettes/getting_started/unnamed-chunk-12-1.png index b0702848127cc58b38d4783e1df4dd9fbd6a5d78..4e9a631d0c13649596ae1e9b371807d25b84e35e 100644 GIT binary patch literal 30397 zcmd3Oby$_(x93q5Q9!y8^himEbcqtuAl)6(A$2GL=@O7m>F%y0Al=;{BHf(_X5)9} zH}}rHcjmeO4bLOU3Eutgz4qGc6YB)Z$%vspA$|gZK+whC3x9w>?w#NLL%9zgc_m>= z1AaWVd9P*e)71!5Xc+&lpFyV&&=B)B*;3cHyPy3 z8s;$s!qe$r|2c@8G;Cy+w37vG`Rr=k{Yi`wo`^i6!c++J+5^5hZ%0Zk9$D{RPTyNj zkBpC0u zX|5x*_|Sd8V*9V@5Na$LPJPz#>FFF8+3%c z^M5KLDk_u0$1NbxY=+pLZ#c_I^)MSwZy);pPVKZj8d*Hyq~o>To>j1r^Sh;3MlG{4 z)#93ClE>a;zdE8LA|g^!7HVymXRYDMdT~!?aq;nIEUKxb6BM2IMzSO|$oQEH6gJD! zBV(y$Z~jEd_SAe`DfD?1L$6NZ%IEZybZBoikqDl8;L^SIA~pQrqHBxW>9VrY{;I-Z z>)Z9^(M2B;192yvhv4!7vxlHK_OfkMx)iEGo(d<_%;tQ3rpjC_lsIei{oP8vNqzc^ z=lFEi+O=uHb+^uBs#GtQbE?dslbT83Oe!{P*7JI?a=t;wb*HL#mR_^g=C*urxvec2 z2YWF^KEEvMFUSo=JPS}b0cw|6=h*lQ`#V8+#M<#A8eyhTFrrEu3N%p<5G?lbz>{A%l`uoXaPX zlShi;WiF;OSu(LVTZh#3ymN%LEtn4Gs;M$$Oif#de5c*zi3EKS@y%CSx!-7kDUKPih9|G6YBe!eH}GtBQ=@N7TotyKyonKC z%));3MB(AXhgmg9uJcnC91f{(Gn%aQ4Ge;VgR7<@v$jR8^O=c5y`P)1l&Wt#;NajW zeE4AJgSOorMZMM+Z&0P)8A3E#q67cYQtmp>ti88c0$+%2W_$HQ@8`TzJRvkZ@xZxj zOOKDNW6M^fsP4+ck_bmy*s6Q*33A&Be4I!WE7Xvg#ybrKnUxr?B@N~6Y9Nl7Y%+_O zh(p5)zJZ})nwRNgC!AM}&+X@GD`yGN>ltP!WG?lVr?`)JKds9Z8zlCh{=|_D=wuC^ zONqTb(F4&+>vprfz1`zM*lVl#>C>@8lbP0=p_l7e$1k3#sy!8ETXuY?uYOP~s9w8o zjsCmOTW>bLV#jrX)QFXpjC1QKqEp(+Nw>egXXO>C7_yH(Cc^v0(I0VmoBZ}Eg~Oh9 zj_v)&$nCo4Y(LRk`)U?Hs@n*37+!NN|8iX{2@ec>e5ls*bbAkedo#ehH??z$^-^@s zevn@U7BIWRK^&^G!B(0VKW>J8(+*un!aPQSJwRl6G0@XruV;i?aLne)XQRivzjpqD+r%*Er6y)8 zI&#Ne!$7Rf!cu_wgtxFfOMsUrZF(-@&&J5es;vn;o+SRO)2-p0a44~nj~5!$R&&}P z)%$txVKlOG%*x5uq(;%iJtSmd5s`;F(fE6+58R{mLdib0npMI0Qg|FTHS=1Q+Wc#* z<`a^VH0udJ#H7=N3tX<>7LaRE({JCB5nrw5-@dk*G`x{;)tRdK+LxHwOfbhq^LKQ($94J zhh*=T%EbvG8JS1)x}lomP@2#rOh|6@#kvs2g6AzlE7cv_=ykoq483aU=c}#E=o_xK zKY=nkXO^007bOkk^|u}!YesxzeqFjXEZQYS`@jGAm2q}*Qly9P5#|=E8$V?$(`Is+ zJMK(%7Z<*5%(}`V3qH)FxuvD#b{9yU#@5a$wqT}7j}Xq#e@&ZS>vmG}uI&qoJVm<6 zq;-7rAqnMBTHkcex7)q#@>w~rq`YWatrVq;;^1&xrKA7^yRI`16EdzPrT)mU9! zZj}_U1*GYy*0+pE2gF**Byq7=FYpzNU;gsJSb%L6shBxtWs!8ORiz3FTK_(ecekcW zFUqn1&Eq6#HuiOnv13KQDOOps(J|54_voijrcF}+8YgYJ*D`K;=)?9JG-6?@D0*VN zjKB~oHQeC2T_-Ajj-1;f;mYgx*_K0EFU7*>CkG=bC0jX*NETn5bhWqUJv^n9jCr8; zS(Jb*Ffg!8y+~ctIrI3L>-G7;bcIQSW-*BP%&aUegqMm}Rw8X%2-#cl$V>wN`KyxI ztM-YHTnEvyB#a2YSFbh>MMLJPG=eW0?KQ<&3>frwI6Cx9NF6(@Os)k`<)5zv<~qIQ z)8djO=t&LG;#iq4r}q=1@fN}oVWjUHvKE_uy*cZjMNCG$GrKUk7@=d?Rl2R1=Kx^tF{*?kfD6wjNB z9a(;{;o;jvc6)>64$IlTNTgy~o$b1L*->6U!6iaL68&4vIxBxt} zE8e$#=kgQ>3Pn<|Xg8%8&JF0$kG&!8H=0e2-U z;w5L+{5yI1YE`x7}!N+Zt}T&>pzk~tE0DzuyW zjE`2(JuWwLZk^qZI}&rwZmUg)(}~!OH5XRLRdf)~;a~L)t_I>OK5dMYmX_L~A08c% zdtM(fL=1m(b!_itI@uUq>oLfvd&cW%F;`orR$=^7H00OCVT9dMtM5+4uwo4(*03eQ zX=g^sH!YUpD3LgSK1@=XIwVFLTxdgN{Xw0jheN; z&dAs!?3=O(srrH{)m=pS%5kfJ(+U0c?qnv57N6Lnr-q&i!S#o*(Us%N`lqD1s;x%$ zT=D%uly9G+DoE*hsNL)~>`6#S?7D5raP!RAPq(!Nu6o{x2nh*+Lt=&QT=-jJV#6!G zNFJvb(E6=iu$c28U#!d|4Gwy4U#!)Tw5=a82|8b7$t3e&MX1Op8R0|bgIYiBVz(W+ zCdriZ2E149%D$e~-58dFT|X}WqOkm>y;oq*s_Fu-oe?qpW8;&DZeXUoL4fJ#cb}5& z_wbGE#DIV`7qu9q;Lt@xtw--q>Ri2dk(swOwup5OJmH+lEyPaEA|IKonVFeyFM$XA zw)6Jd#JZ(jS@a-`cQ<#RFFh$KDb?e$d+*Fi)^fB!rKFdHl+W2_;MOCv*?r^Z0XaS+ z>`#Q){mu*{kpt&|_tjr;+P=2QWHa+PmoCITl5t^je_*Lk^e!G=>Figg+1!hcg{9T# z96|g#^9NJofEEV1KuB5%ZsD*&s5Zjugg{&I31g{#PR|4!E+zQi2kA!{g{RjVwKMj5h`frR z5Py*fZD?G`>V+>T=u3y8z^iT{3ZE)fVv>X2lB#SUV9Q4=!Yyw-BqXSywDg4pcpqOA zTSn63h-XewL@!d?NbAvST$=y*!8~z|y1S2Z2>W=NsBy!+BC!UK@nOG&^sQUVS=G2+ z9Ii0Nn(zN=IoTX9uoKLYNw!~Tk6(}s6&f?ia zvOM?)hS&az&Qa~Ot6Vx}zFhwdmW-C6iCCV{xWbaBlF!!3z7EEFjgrZS)&4Vy8fq

    3F6-?TK*PH=(c4_QdEh)!5ibAB%hC0v-|yeQd#boSZ`@LZ zC^8~&+Z8`(a+V6e`$K7mIH@r(^3>rmnpQhq%m88hYqGaP7DnIo&HqE(@L~WPOhlf{ z`Ipy;maCj01;f?vE_kfg4U*>Wy^v06ZKf?dRz_;>)7O$JvdID{R2zcN>GBk~-JP^r12}%I%7SlryV$hzr{lfu`@wF0cm!h?J*}@W&u$WMte0 zfM&zLY-OOH+i`npqDUhuGLlwP{=k{<;N9MLwLR>%q1e>ht7-wn)fv;I@qE1l#}(|Jdp}xE7(c&*w~nzWs=OAf-L`uWlOsN@)Ag{ zmW$2qznq!(RAURBapME7J#LRTM&Vt3yBa0Cqq2g}&OiOkqgfF2;A?uqZ6uEQWr2mo z!ymCZALC2p4)MP6dkhoTf99B-8TaZ{bt-q0{uRe}OVZt#=ykdxps+}e!Y7$ymF~s zVcg$l4$ru{6}>tYh;%yb=UhZ1E!qA-#t-{+wA$a@-R*vL+H|cgA}<<3SmrYIJ}5Bj z!rlqa$;84^X69pC*OQ`s0p7%SS%T3`6J|XM>j)vj+kJZtrUIm91{RhBuSaCLHc0UX zoncK!1H3Xh_J6t}d>&ymkJxvYYg*x4NT6@~lY5+FGz23r$bdNUJZ@P__0-m5OVU;| zLb;qFINsRU*lRjV8C+`sr(j7X-C4bKV)J4HQ?tksReyr^C$0frt&2#-E|MU$x8HSX zuz$W4sxm)j77m)l+p^30*(qkHnfaVh{IQ7|YA+f8*RsvCjIlbpXM<$loUB^U#ah+E z3>f>rf!QkW%g3X;-HVd#!aaR2ao88n2CjCgRQ=|wk<0o1k_Nf+SLn-+3k?lxDx@Xm zlg0D3wg$a14CJu&?;{G>O1Jwj1qE-H!v(9=i`x7#;BIHdTk^g~>v$pu7j7zx_X~*! zGT_+++RjU(ynb@Y^}@opXZklYL4se!hE#~Wn`0g}&F)yaoyjE};1i)8pK2s(!(L=b zCn{(!%7;_;F83c^hPm=hE4#9EY8kX#VicweGfQ!05C(!}_IvgBO6zTAJ^>2|$^aHh zN+VDms?3y2L{h*PJx`8WN}4D8>+IKVPD(u0iYDNQ9c!;BJ#WQeftBJWow)jJcJm3o zYXlE${{@e;?wB>a87vSU$Gg9G)A10YqT^oWur=}R+qXa*>KH16jqrYu5bNP={#5)T z0HJ5AS@dyNv{S0=lSin0yCid}Y>Ux-TEIlS+}dV9A4B66zIsj*hA`e3NwU7h$?7`o z2)sjVD>;H^Ta$Y~ru_5l3212xkJev;G|+tg3ZF^)x@VIe7oVfvV;+nf`Np}VDKR1M zp^$7e`IJ(Da*+A-Q7F!20(8cs(s{!q zHQF_%wYBv~hhB^Ob!foq-i2kGA9}2{rV_x45;9cKps;T1iS$-8YNi|%Lh;M@1&w>6l@?7ge~i5uS^8%l>i)mr<-)EI;-iWi=g;8nk_ApQ=tR*P*KM&A|8Ll@f-?mwW=vtC>l2X)G)t! z`jMH?ImL-5dD2R~+p3CiYJcA*XEg6}#1oxJHO8o|t!n;oQ(j5Y1_T$;@Z z_pK05ZL(tmCheqZOJ3<@QQ=7893A$E8QN_$;^puQCQ&vAcy{mm~T}}H4@7!F6 zsUcB1{AQ{&M;7H)t7Xbkn4)Uu*IsINoRm?j>5tF%tUYSi_q2Gd_#CKgf9>EY1HMIF zJpte40fb!|9UYdsH)x%D#5c$+HT^RG7uUerQ686IP(VOh@I!DCG7=z8C?DVw5Ged1 zCs#iuVP>QnaNQou(kIMr65lr9I78=j;vl*ZTwRS^B#1L5LPJg+6bsTnUomMLOcakv zMjlS(_#!Ux0(!Y+kN%A3n_ir!#mrc}NoqF+|EH|)%UoebY7EHA!BOvUMTXO7C6Nkf zLy=>^W1^qI*$Uq@nFpj6eJ`?yg^%ZZUy`Z$&t|4WlcL~69@~@UD`STS4XpBAbyV7& zr5s*1v#X_xh0uS%)hEo?n3TkAvq#Xc-UBOaY>(y{>O`?@OX8{8W^b~Q^Tc|oD_kT*`4I6?=orlwSvm>U*f`qiq@oGfYzMQ5)U1r)bya~HDqM~*YkysA9?a_!>| zcDn)^p!A{MQ!)HZOnZUUDW=MrHswDrTU$LHwnjwe>RU=(sjosq~LEZXacKI zPauxLj^kBtUY^R#eKbfKuD1XUn9%HPdOM!?uRmN4jCJ3lkPaSPHq$ezDJw>9HGCR* zi<7~{$Et5yTbEVl%~000t`8&6NqBGFsi z{WCu+E}wb+U~(v8rTOp)MD8I93<_0?5j_9pvol*$V>Z4yZIa5+a28xR{w%)L?Am`VNRKqr*IF$DG_MDb8V?ZjwXP|BV z@CZvpOe_}uCzPIK5+Tb~8XnL%Z*_Xyk#_(|qk6!PC2wZ7x%o_R)Dp2V*8N95gO`lo zD%J>^-+6>%kkQd0Eb_1{sN899VLDufaGb}bB`>KMha6NbS3WQ+an>TOc9RV_EjI=TWJS>`x-Mo0?s*G_aEHu5HT=C5If_b}c&liuyY1w3RM9itPUU}dO(vgRL@Cgoe1brPMm&d7c^rZwqh9fO2jr^kEqYuP zyx#E<2$KC~1iD{#=$VynDDB*Urkkd?@-P~^SyV>oIr|+T&j+T{EO&;(=hs4B2Vv;wEq9w^kJgYlBBX>< zG_I~@916GF?m_ZJ2ZcO)wysPTeA$(Gv4{x4A2?pz`uV`+gBy2_Y^qFGZ~WA)GW75~ z3$TeQrz5j(JG9$QrG@`&*ap`~hSQEgAad-NXs`zQ!G5M|6`}89@`ULxB9@}ICdG66 zqEmVyBKLt)ON!`%zotbxgExi|ozrlgQT3?;@iUKe(moutL3BT@2}D7`I+; z-V(_FGtdEnOv+LVdCEsFboJ^eD?)LIh*rCKSY+GVzvLz7uQ(+);&*JZ7io5=O8)7h znRL&H-cseg56NXsegKH&HI8Xg;cxg@0!1wj44nm{F`)%2HWzE%xU0lBpRtXfItW2* zd`85FZZoXrh)S&05%q{RbBUB74bFY)@K>a3^(L95&qy}yAip}YqSCCbS#RdjKUR5k zp5&jm5&6yY26l~lmX77x=JwwEOp+kuof2Rs(^IiF7$|rHvJ0ofNmawEu@%UV(5KX1 zxl(1bKcjmI;j(69Q==wtzulNB9)^HzAl%SpmvGf({) z^_R~I#N}&?`7^7ZDVAVD(t7Tas*We( z#MS3=A!f?iI5n~6mCC)A|K$a+UeuoUXNxpcZ}PUS%dD-R(>gPge*t+Dy+N^#ii+w3 z|I)RRo{?c+=m;%$Y0_K~6vE>yS{_JMc;MsO#f*)n#E1lWgIeVgDgermZtB!IXadb` zYq<45<3@IVQq9dVU=%L?L`i!fb`%45Zry7$KZLKag`-?K;zXG2&)Z39;-!FFQb>5v zL?Ld!+Goo}`uOomg zS#(GmyR^3eKR-VUi!G3~D@+Cly1N6z!>Q8&I6mHW{b<@cN$T~?fChF=lT@f!! zj_QJff^xOpq0kDE$jq$`+I@{2Y~1$qWnw$-l_@S+9XHM=5HlL-iS>$#3Izp)KpJ*- zc3xgy8)hb^5|^V@;ctLYj*fP?xxSd2n|p|gZ?VvL0ZTFe8Gv;>KtEFxE8q+_8BCef za-}5nK==wqNRzI~kmT>P>%yfVpMy+UGiqjc^z`(E4O!#29bJFv2IDgTxj~mBvBrAQ zqnDxPwZ&AaR)Zrr^;0>mwZW~=R$B&|0&a(!n;Spa=<;|YtEr5>m$@&RvBQ0k|16X9 zW4TdpOtk^|`XbzOU!1t=Pr)$DX3g zNJ?r{nT;Q=^a72W9$#{@SPQB1>SW95czyWI5TFGHt!hZnkO8uuNo>*8Rjb~Pumegh zVEoLX^%9A_kG+4LT@{=Q>|gn=q_TOWMt)u28B6ZrV;Vdn3l}>fe=m>APZnP9{>1x- zt!5T7Lzfk$_y_j~W|Kb-`AROqH>Te5&6i-J9QaDn+6d9Ouw)X`WF;hc?Ebu$kmvz* zA|T4JxZ>jDr;D{3fX3FB%*)BmebLJVw*X@W()DS`Z*T9B1=Sez z>#qeG6m87fB{gPy*0!TOt8OX!uep&i@OD0{DQ}H!rGO%S**>W%L?(Rs}ZIm5d+DMHj(!Mss8Vf65D(QUL)0Ha7bf z?}yR}uhp7hCxGKxUS7t*#q(9I_#e^Gni@)Way$+h;toE{$BhL@|*_cQbN~$koYtcC!%2SdAr492X0W0fI2!j zf?_n>{O^&1D4O-FCxv|0eX;ICxjog2uPGNob@qeztrjZe4dwH7AMgmK(;fv>cF`+{ zk`E+bh~j;30hA#9>y1Z|6nVBdI*E?oi;*E|c9_SLRHWyjy!IcKxWHcs(0i-(6!K=} z`Fe?$ZQaizL9B=pS0)Qi3`iB0_YH9fiKn3^BR5aS?9Qs(MhaMI_{ zv(LP^#S=QAs1PeDluNoOiskyMOqv^xoh&NpcUtI>H+T<8jxR1Q5+>x4h&-fCP?=~& zqexW3?|+`5pGw=Ct2=5sTet#R)8$P)owa2|YN{tt9e&NSJ#Bd5&Wq(@)vUzg`%#$y z@_E%8{Swp-f|u(VbjpRM)8#9`+)(3r>ml9yVX{!IB71@JQ%fxiAi`9?Cf)`nPO_1O zld4Qkey^BVxd$<&ol0BdvI3$!DgmS0Mpi6v4`c|qUw+yg+W_3`L?xHfpS87A^@hue z24n`}vAt~XMh1;)&7&8ZR$(@Oo@3QrEy~afbU;4OFihcUR9j2~%MwUqY^sU&%cI>cPElLSDlhx2f$d4;RA)jNslZV0nbpV?QKe%1L42XE8fF{EbI8V!t&I?$( z0EOP8(UDSnlDZ^2#mX8q|X81Ty}B zf~5se1qKLApuEQ?CKh~D8xM@Q{#^~q%dL@T zIg0l`-+lJ>5JaUP9`)et~i zRDAkcAQx1WmlMA>O#^?@&$a=*!4Weer;{Ow=5B98PQYfdUmNJ}>Uu9FrCDh@9K)ai zyd&;l5;**{1lbs4NwGGp7hjE4K_I5k+_bX`H?Z))4X_3b3wsM7El$+to3(Onx0W;n zbj>!9H@|oYf#Ho2H$6wWi!YbM%#L%VMR- z-SiE~l?qwc%(53{B-pytZAbVB|Ea6;{QHb@sSw<5rRPT|(D;C8oCgBTY0lQ)Sn1(Sj!$8uSoafW}YNGj;)xEiCwz-X{pXGMeQfv2q z`C(cNVUTbX9-n@Bi~~E}&XeX(K$ThpiIuj@p=%5MF6kzqa;)#wE>C zu#e>y(=U}evaMf2v))lFxZNKFkI@C$A?9NYSmPDro?vXR%!6}wTfqM)Da4;L8*=&!0`agt-BWHJQJql#*y|-395x1QoP#68tNsO5Z zl?zo_47)HvzJBHjP2}~IS>lqdnSnK9g0lU;-2ESt_0~9`hc!F7U&QVb#b+}-iy<6& zP<4V`iexg+TxHfEcJqgYk<*`RAb5ihGUx2Am2rF6%LKOO<|m%PRKZ11#{phJakP94 zFK*y!rZV;=^xfU5=>QfRX!7+YgJi+&k#TX(K&c0Nz)USVp;mz!D7`<+7mBM+B((t+ zdv|LxAHZ9K9Z}+-!OcT;7m8m#4-D2X+1cOM@jY?e!n=#Wx9`@#%LJ{dpdjCKQ*r!# zndpC&u9)#k>rCpRIs^3@=dB+*0OI5Yj>XX32?z2jzw7B;d3Clk%jvkS3MS3>yw?$W zNSW1DX8X5lF!V++JA!-$yg~`DKaMo)H8+6VF*m0v-COUm-G2W@l?v;^W*5xJls7s| z9yc%-==BXwdorL{>FF6Mr^O3^TTqKcU?)nRklf{g&vH*3H;h4k20mS_Qr(thr-k_F z=@8&5Ryj9|A60|0gE*p6N~W{9b!|bdsd&cU% zV&p-Qj^o(f?=(tu~{zp_|!|9$Dl@`v94FFfdL z3C!gV34QCMqocq)n0((Je>Hb)r0$%k!aQc44KAxVQ z&dbXa{+5uCkevLCD=sz`07!eNgpABUPfva+Is}p{6O~2MFi(b$FACgy-BvY^o&uMa zJ`e2Da70p6X z@f-fU+3QkU+vwWbuN30yV{%)j*vG~d(;J_#BYIa@6Z^e4ezf%U^?@B1O30!Q!XG#ZsG>FwIkEzE#bm00G<;08@js85|xy*w?37sw)J_4doJT zegN{%&(FVn`C?~TNrMD|1O(*8!w-4})}^U%29NS@Ulb0HNdLtl2ceCvY2cR~b({hb zNlq3P7UhDfYWn$reaDnO?G&O9U^pqF=MU&uI z?NoBqm8OcSHyRUl%SFwNYg?jevb=+UOs>Ls#7*!}(Tv`e$p3j>;=g>3;*I~$Ir#>+ zoy1L7ME>{+L5yCwxTjL10Z<^odAM}r44t-Ur|wHtXDyY+ZBTxKoJr0LB^q$ zQN%R@R5KtwJ$?sLGs5Y{R#Xc880WzO^s|%P(+wP2ATHC>)2l6KL3FaeeEE{@?n_es z8?gI;r+_`c$k6a_55f&%W!G%F+$dK^=;2+Xi6>B9MnTsC2z`K@k)M*j7X}20POZ%n zNa>)#0XP%492+D_bXJOqA4+n9H|VRy7%@FGFf^pV0&bWcU^NFbo*^2#Iag;t-Jw!f zAPO2jAlG@asRF5rvicL3mKq9P)OzrXVbuK#c%w$-||lwiOz1q2WR__X5WTYnw2 zp%>bmmZl5N6@b<(z%+q+^YcvT+6B1jXx?+cRe$3x2X#N)yb{v*B@yBVag|ESSE{@5 zJ02rMy~<4Kj*QH;HFFomDAR#RBXn#4Jgj{Ft=!!Z1GIPr{|r zL&)c${1fwIAi$k}xe}X?nc_lh*ZF75pxzaa>@r0dm!M>4oG;%2)k#|-XLxY%zn+0X z%T?(CYlG^52VVM(?5^8~0rWs9IV+;;$mE`ocie~k82`_9U2fq&samDp2>?yttk7b9 zG~PNkWv+7%q6mL7Sl`{>j{uJCw$@hBP+~kREL#^JJCk`pcOH%)#BLTzEU~4Cuy}ClPRk+cLJg=Mmt^@OT<(EsF(capp)Fh=&r!T z#lyQm+;A?s*>6vk0kuK92?him;HyOiL<{PZCm?n0I5u#HX@D34shLSo^}`2{Fj2%K z3H{<(3_5@rN3$x{2XqP144&`wjHGd5BbHZ-y=FPFhG(oL61#035X-bEm%udT3m9Z@+|KvQC3yhD;{tqB+Ab^6AWT)9Z2%epmEAFzY+!zN;b(dT zPEffN#S)>9L%gI)SscsghU z_4gpP*&wJr%iY(?bsX>1$d=0R@bFuJ<)XmZc|Pg7*W?6<1#q+irdgxW*>->M>iTF9 z4gjPNGCC`9D4;r(UL^;ZZL4t_37-G$^qRfvqiOx$ham??b!{z|&5|x&e82I(C9Nia zAwu9jI5Q|IDLD^+1f{Q^U4av@U|ijiUkFbftq|1vH0nhYzsOrbBg-+nvPw^$yzBfO zBMX)nkf_PbdaXftbggY|1rxHsa1q<91WR0Vi7`@wH}VV~0k-Mp5MZn1c3X>rk?{u7+sUpxI_Ml zkgV`u`_+ZQ}DA8yf+Cb|(h_ zp4zIW0XXh~=#RK-y8|yMB|20ZyJUv}{>2z@AB%v*5Ep-pWlIY7Pvv-l3IQHobc6mm zD1~%j8(FtEXK*jeS4^6yzCJ|Qdq>p54TP1L9SnLmGJb~*4*FAT@`30B) z%cDwtBQ6%`5}>ysn))GFvTz7i|4C)vz(80?Na6mbqKY>WKje*zG}_yZ+erFVYkbD@ z`d(>sWDHdvd(r6z;wN~6(SQMQ1DW`4*mqqFzYafuUIbgl#9AJ5jgWJ5tg5kkUQJlDjL z$gqE+1Az>^b@&hHLE*F*K*;DTWPliQ3&6VpWB>=+%XCm@fW|jay8bu-e3bQcIVBXD zUTFk_)z4dT5~6|GzOE2XF;N3`l0(67my{m2HdPU1AEA>yJ-~3ZqnN%1%0sTeeYCc* zbg%JUcJP^v==H)nND&N#_c+fO&g@KCt5*pQQSTl?C$Vg4Q z{?kSrivc)hPh(rx&mhBn3sNv(v@PcK9?V-qe2+-hpk zx7Q<9x}e3?{Q+~SSKo;K1GC;AtY~fJ7FmGSUkt922Nwf4f+tz{k6m4#vHh=KJ<)WJ zo|39sIe38D#EYZ~hWemj9QM*vL8pNM(`w&q+zRzUVt@8B17>lZ%2j9@&%`>gZ3Fo5 zR#+^I^i>mP?C6Fj(4ej_jxb2M_JN5{l(Wl;r~G$UgWlf0P#j7|C)!D1Gi1QZM)ggpCJ$aqp~PHU}R( zVDYPy~tcRwc81S(&ekPnq?il(CCCs2EBdE$5M!Ea~S4`1_VKO`ID9V zkabB1`gzbA3cA3dtnpHg4g5CD02wbI^ri48u3h|S625EGPD&yTZf6C#eZ;>4>>nwR zlJHW0Jnzbp`PzvS@9H;GiCPZ!lZbrb3|;*bKRr+efL&Ch5w`5Cy>hEMNj8=5SkV5X zoIcnqnmw+E8O@+f^_ZtLA6~4U&*Qyd!2$FRs9l|=aRs+cXMf)Wov zsR9-oM;`8h*mi7a(Y0xq&%yv1guXY1{{vZ@-43s9gX1~p?H|Ar87g@{KSy|sFFxWM zbmb!(_k0denKR$!=_{1`owh0@U=(!Xk()2&8jxewT*e=PZ)!10<%M>q8ikuUL<$D z%NQnV9Q*G)qH}b49LugRQC)WnZ&hP(Q!%BK(Au1vw8s}0fuyo^A`zKsRWnKIMXO8b zr$@+84=T+3@Xym0%`J~&?i```NLxo2*JhqSv)X@PWA&CtZvqlx+&nil-yrnPcL

      xIpX8zB%lU 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 Here's our model summary: -```r +``` r summary(model) ``` @@ -140,7 +140,7 @@ and the metrics to monitor. Note that with the JAX and TensorFlow backends, XLA compilation is turned on by default. -```r +``` r model |> compile( optimizer = "adam", loss = "sparse_categorical_crossentropy", @@ -154,7 +154,7 @@ Let's train and evaluate the model. We'll set aside a validation split of 15% of the data during training to monitor generalization on unseen data. -```r +``` r batch_size <- 128 epochs <- 10 @@ -174,26 +174,26 @@ model |> fit( ``` ## Epoch 1/10 -## 399/399 - 7s - 18ms/step - acc: 0.7445 - loss: 0.7534 - val_acc: 0.9630 - val_loss: 0.1260 +## 399/399 - 6s - 16ms/step - acc: 0.7450 - loss: 0.7521 - val_acc: 0.9642 - val_loss: 0.1234 ## Epoch 2/10 -## 399/399 - 2s - 5ms/step - acc: 0.9362 - loss: 0.2103 - val_acc: 0.9774 - val_loss: 0.0762 +## 399/399 - 2s - 5ms/step - acc: 0.9387 - loss: 0.2054 - val_acc: 0.9769 - val_loss: 0.0751 ## Epoch 3/10 -## 399/399 - 2s - 5ms/step - acc: 0.9560 - loss: 0.1492 - val_acc: 0.9830 - val_loss: 0.0607 +## 399/399 - 2s - 5ms/step - acc: 0.9575 - loss: 0.1455 - val_acc: 0.9824 - val_loss: 0.0609 ## Epoch 4/10 -## 399/399 - 2s - 5ms/step - acc: 0.9650 - loss: 0.1187 - val_acc: 0.9859 - val_loss: 0.0494 +## 399/399 - 2s - 5ms/step - acc: 0.9662 - loss: 0.1148 - val_acc: 0.9863 - val_loss: 0.0483 ## Epoch 5/10 -## 399/399 - 2s - 5ms/step - acc: 0.9716 - loss: 0.1003 - val_acc: 0.9866 - val_loss: 0.0485 +## 399/399 - 2s - 5ms/step - acc: 0.9726 - loss: 0.0972 - val_acc: 0.9869 - val_loss: 0.0479 ## Epoch 6/10 -## 399/399 - 2s - 5ms/step - acc: 0.9744 - loss: 0.0878 - val_acc: 0.9888 - val_loss: 0.0381 +## 399/399 - 2s - 5ms/step - acc: 0.9750 - loss: 0.0857 - val_acc: 0.9892 - val_loss: 0.0379 ## Epoch 7/10 -## 399/399 - 2s - 5ms/step - acc: 0.9763 - loss: 0.0799 - val_acc: 0.9896 - val_loss: 0.0378 +## 399/399 - 2s - 5ms/step - acc: 0.9768 - loss: 0.0768 - val_acc: 0.9906 - val_loss: 0.0358 ## Epoch 8/10 -## 399/399 - 2s - 5ms/step - acc: 0.9791 - loss: 0.0686 - val_acc: 0.9862 - val_loss: 0.0454 +## 399/399 - 2s - 5ms/step - acc: 0.9794 - loss: 0.0671 - val_acc: 0.9876 - val_loss: 0.0422 ## Epoch 9/10 -## 399/399 - 2s - 5ms/step - acc: 0.9800 - loss: 0.0665 - val_acc: 0.9889 - val_loss: 0.0412 +## 399/399 - 2s - 5ms/step - acc: 0.9808 - loss: 0.0639 - val_acc: 0.9887 - val_loss: 0.0387 ``` -```r +``` r score <- model |> evaluate(x_test, y_test, verbose = 0) ``` @@ -201,14 +201,14 @@ During training, we were saving a model at the end of each epoch. You can also save the model in its latest state like this: -```r +``` r save_model(model, "final_model.keras", overwrite=TRUE) ``` And reload it like this: -```r +``` r model <- load_model("final_model.keras") ``` @@ -216,15 +216,15 @@ model <- load_model("final_model.keras") Next, you can query predictions of class probabilities with `predict()`: -```r +``` r predictions <- model |> predict(x_test) ``` ``` -## 313/313 - 1s - 2ms/step +## 313/313 - 0s - 1ms/step ``` -```r +``` r dim(predictions) ``` @@ -249,7 +249,7 @@ or `op_binary_crossentropy`. Let's make a custom `Dense` layer that works with all backends: -```r +``` r layer_my_dense <- Layer( classname = "MyDense", initialize = function(units, activation = NULL, name = NULL, ...) { @@ -286,7 +286,7 @@ Next, let's make a custom `Dropout` layer that relies on the `random_*` namespace: -```r +``` r layer_my_dropout <- Layer( "MyDropout", initialize = function(rate, name = NULL, seed = NULL, ...) { @@ -307,7 +307,7 @@ layer_my_dropout <- Layer( Next, let's write a custom subclassed model that uses our two custom layers: -```r +``` r MyModel <- Model( "MyModel", initialize = function(num_classes, ...) { @@ -337,7 +337,7 @@ MyModel <- Model( Let's compile it and fit it: -```r +``` r model <- MyModel(num_classes = 10) model |> compile( loss = loss_sparse_categorical_crossentropy(), @@ -356,7 +356,7 @@ model |> fit( ``` ``` -## 399/399 - 8s - 19ms/step - acc: 0.7347 - loss: 0.7746 - val_acc: 0.9247 - val_loss: 0.2487 +## 399/399 - 6s - 16ms/step - acc: 0.7356 - loss: 0.7726 - val_acc: 0.9301 - val_loss: 0.2358 ``` ## Training models on arbitrary data sources @@ -407,7 +407,7 @@ They all work whether you're using TensorFlow, JAX, or PyTorch as your Keras bac Let's try this out with `tf_dataset`: -```r +``` r library(tfdatasets, exclude = "shape") train_dataset <- list(x_train, y_train) |> @@ -433,7 +433,7 @@ model |> fit(train_dataset, epochs = 1, validation_data = test_dataset) ``` ``` -## 469/469 - 9s - 20ms/step - acc: 0.7534 - loss: 0.7366 - val_acc: 0.8981 - val_loss: 0.3329 +## 469/469 - 7s - 16ms/step - acc: 0.7542 - loss: 0.7342 - val_acc: 0.9026 - val_loss: 0.3192 ``` ## Further reading diff --git a/vignettes/making_new_layers_and_models_via_subclassing.Rmd b/vignettes/making_new_layers_and_models_via_subclassing.Rmd index 135a461c4..52d6b1243 100644 --- a/vignettes/making_new_layers_and_models_via_subclassing.Rmd +++ b/vignettes/making_new_layers_and_models_via_subclassing.Rmd @@ -30,7 +30,7 @@ Let's dive in. ## Setup -```r +``` r library(keras3) library(tensorflow, exclude = c("set_random_seed", "shape")) library(tfdatasets, exclude = "shape") @@ -46,7 +46,7 @@ Here's a densely-connected layer. It has two state variables: the variables `w` and `b`. -```r +``` r layer_linear <- Layer("Linear", initialize = function(units = 32, input_dim = 32, ...) { @@ -73,7 +73,7 @@ You would use a layer by calling it on some tensor input(s), much like an R function. -```r +``` r x <- op_ones(c(2, 2)) linear_layer <- layer_linear(units = 4, input_dim = 2) y <- linear_layer(x) @@ -90,7 +90,7 @@ Note that the weights `w` and `b` are automatically tracked by the layer upon being set as layer attributes: -```r +``` r linear_layer$weights ``` @@ -111,7 +111,7 @@ backpropagation, when you are training the layer. Here's how to add and use a non-trainable weight: -```r +``` r layer_compute_sum <- Layer( "ComputeSum", initialize = function(input_dim) { @@ -138,7 +138,7 @@ print(as.array(y)) ## [1] 2 2 ``` -```r +``` r y <- my_sum(x) print(as.array(y)) ``` @@ -150,7 +150,7 @@ print(as.array(y)) It's part of `layer$weights`, but it gets categorized as a non-trainable weight: -```r +``` r cat("weights:", length(my_sum$weights)) ``` @@ -158,7 +158,7 @@ cat("weights:", length(my_sum$weights)) ## weights: 1 ``` -```r +``` r cat("non-trainable weights:", length(my_sum$non_trainable_weights)) ``` @@ -166,7 +166,7 @@ cat("non-trainable weights:", length(my_sum$non_trainable_weights)) ## non-trainable weights: 1 ``` -```r +``` r # It's not included in the trainable weights: cat("trainable_weights:", length(my_sum$trainable_weights)) ``` @@ -181,7 +181,7 @@ Our `Linear` layer above took an `input_dim` argument that was used to compute the shape of the weights `w` and `b` in `initialize()`: -```r +``` r layer_linear <- Layer("Linear", initialize = function(units = 32, input_dim = 32, ...) { @@ -212,7 +212,7 @@ In the Keras API, we recommend creating layer weights in the `build(self, inputs_shape)` method of your layer. Like this: -```r +``` r layer_linear <- Layer( "Linear", initialize = function(units = 32, ...) { @@ -241,7 +241,7 @@ The `call()` method of your layer will automatically run build the first time it is called. You now have a layer that's lazy and thus easier to use: -```r +``` r # At instantiation, we don't know on what inputs this is going to get called linear_layer <- layer_linear(units = 32) @@ -261,7 +261,7 @@ We recommend creating such sublayers in the `initialize()` method and leave it t the first `call()` to trigger building their weights. -```r +``` r MLPBlock <- Layer( "MLPBlock", initialize = function() { @@ -291,7 +291,7 @@ cat("weights:", length(mlp$weights), "\n") ## weights: 6 ``` -```r +``` r cat("trainable weights:", length(mlp$trainable_weights), "\n") ``` @@ -318,7 +318,7 @@ but if you do this, then your layer will only be usable with the backend in ques For instance, you could write the following JAX-specific layer using `jax$numpy`: -```r +``` r # keras3::install_keras(backend = c("jax")) jax <- reticulate::import("jax") @@ -333,7 +333,7 @@ Linear <- new_layer_class( This would be the equivalent TensorFlow-specific layer: -```r +``` r library(tensorflow) Linear <- new_layer_class( @@ -347,7 +347,7 @@ Linear <- new_layer_class( And this would be the equivalent PyTorch-specific layer: -```r +``` r torch <- reticulate::import("torch") Linear <- new_layer_class( @@ -369,7 +369,7 @@ you will want to use later, when writing your training loop. This is doable by calling `self$add_loss(value)`: -```r +``` r # A layer that creates an activity regularization loss layer_activity_regularization <- Layer( "ActivityRegularizationLayer", @@ -390,7 +390,7 @@ the top-level layer, so that `layer$losses` always contains the loss values created during the last forward pass. -```r +``` r layer_outer <- Layer( "OuterLayer", initialize = function() { @@ -412,7 +412,7 @@ cat("losses:", length(layer$losses), "\n") ## losses: 0 ``` -```r +``` r x <- layer(op_zeros(c(1, 1))) # We created one loss value cat("losses:", length(layer$losses), "\n") @@ -422,7 +422,7 @@ cat("losses:", length(layer$losses), "\n") ## losses: 1 ``` -```r +``` r # `layer$losses` gets reset at the start of each call x <- layer(op_zeros(c(1, 1))) # This is the loss created during the call above @@ -437,7 +437,7 @@ In addition, the `loss` property also contains regularization losses created for the weights of any inner layer: -```r +``` r layer_outer_with_kernel_regularizer <- Layer( "OuterLayerWithKernelRegularizer", initialize = function() { @@ -468,7 +468,7 @@ These losses are meant to be taken into account when writing custom training loo They also work seamlessly with `fit()` (they get automatically summed and added to the main loss, if any): -```r +``` r inputs <- keras_input(shape = 3) outputs <- inputs |> layer_activity_regularization() model <- keras_model(inputs, outputs) @@ -480,10 +480,10 @@ model |> fit(random_normal(c(2, 3)), random_normal(c(2, 3)), epochs = 1) ``` ``` -## 1/1 - 0s - 136ms/step - loss: 1.8971 +## 1/1 - 0s - 118ms/step - loss: 1.8971 ``` -```r +``` r # It's also possible not to pass any loss in `compile`, # since the model already has a loss to minimize, via the `add_loss` # call during the forward pass! @@ -492,7 +492,7 @@ model |> fit(random_normal(c(2, 3)), random_normal(c(2, 3)), epochs = 1) ``` ``` -## 1/1 - 0s - 84ms/step - loss: -3.3344e-03 +## 1/1 - 0s - 73ms/step - loss: -3.3344e-03 ``` ## You can optionally enable serialization on your layers @@ -502,7 +502,7 @@ If you need your custom layers to be serializable as part of a method: -```r +``` r layer_linear <- Layer( "Linear", initialize = function(units = 32) { @@ -541,7 +541,7 @@ str(config) ## - attr(*, "__class__")=.Linear'> ``` -```r +``` r new_layer <- from_config(config) ``` @@ -551,7 +551,7 @@ these arguments to the parent class in `initialize()` and to include them in the layer config: -```r +``` r Linear <- new_layer_class( "Linear", initialize = function(units = 32, ...) { @@ -589,7 +589,7 @@ str(config) ## - attr(*, "__class__")=.Linear'> ``` -```r +``` r new_layer <- from_config(config) ``` @@ -598,7 +598,7 @@ can also override the `from_config()` class method. This is the base implementation of `from_config()`: -```r +``` r Layer( ..., from_config = function(config) { @@ -623,7 +623,7 @@ evaluation loops (e.g. `fit()`) to correctly use the layer in training and inference. -```r +``` r layer_custom_dropout <- Layer( "CustomDropout", initialize = function(rate, ...) { @@ -689,7 +689,7 @@ a `Model` that we could train with `fit()`, and that we could save with `save_weights()`: -```r +``` r ResNet <- Model( "ResNet", initialize = function(num_classes = 1000, ...) { @@ -738,7 +738,7 @@ Our VAE will be a subclass of `Model`, built as a nested composition of layers that subclass `Layer`. It will feature a regularization loss (KL divergence). -```r +``` r layer_sampling <- Layer( "Sampling", initialize = function(...) { @@ -819,7 +819,7 @@ VariationalAutoEncoder <- Model( Let's train it on MNIST using the `fit()` API: -```r +``` r c(c(x_train, .), .) %<-% dataset_mnist() x_train <- x_train |> op_reshape(c(60000, 784)) |> @@ -841,7 +841,7 @@ vae |> fit(x_train, x_train, epochs = 2, batch_size = 64) ``` ## Epoch 1/2 -## 938/938 - 5s - 5ms/step - loss: 0.0748 +## 938/938 - 4s - 5ms/step - loss: 0.0748 ## Epoch 2/2 -## 938/938 - 1s - 959us/step - loss: 0.0676 +## 938/938 - 1s - 815us/step - loss: 0.0676 ``` diff --git a/vignettes/sequential_model.Rmd b/vignettes/sequential_model.Rmd index 0b229a45d..b90beb63c 100644 --- a/vignettes/sequential_model.Rmd +++ b/vignettes/sequential_model.Rmd @@ -13,7 +13,7 @@ vignette: > ## Setup -```r +``` r library(keras3) ``` @@ -25,7 +25,7 @@ where each layer has **exactly one input tensor and one output tensor**. Schematically, the following `Sequential` model: -```r +``` r model <- keras_model_sequential() |> layer_dense(units = 2, activation = "relu", name = "layer1") |> layer_dense(units = 3, activation = "relu", name = "layer2") |> @@ -39,7 +39,7 @@ y <- model(x) is equivalent to this function: -```r +``` r # Create 3 layers layer1 <- layer_dense(units = 2, activation="relu", name="layer1") layer2 <- layer_dense(units = 3, activation="relu", name="layer2") @@ -64,7 +64,7 @@ You can create a Sequential model by piping layers into the `keras_model_sequent object: -```r +``` r model <- keras_model_sequential() |> layer_dense(units = 2, activation = "relu") |> layer_dense(units = 3, activation = "relu") |> @@ -74,7 +74,7 @@ model <- keras_model_sequential() |> or by passing a list of layers to `keras_model_sequential()`: -```r +``` r model <- keras_model_sequential(layers = list( layer_dense(units = 2, activation = "relu"), layer_dense(units = 3, activation = "relu"), @@ -85,7 +85,7 @@ model <- keras_model_sequential(layers = list( Its layers are accessible via the `layers` attribute: -```r +``` r model$layers ``` @@ -106,7 +106,7 @@ model$layers You can also create a Sequential model incrementally: -```r +``` r model <- keras_model_sequential() model |> layer_dense(units = 2, activation="relu") model |> layer_dense(units = 3, activation="relu") @@ -117,7 +117,7 @@ Note that there's also a corresponding `pop_layer()` method to remove layers: a Sequential model behaves very much like a stack of layers. -```r +``` r model |> pop_layer() length(model$layers) # 2 ``` @@ -131,7 +131,7 @@ any layer or model in Keras. This is useful to annotate TensorBoard graphs with semantically meaningful names. -```r +``` r model <- keras_model_sequential(name = "my_sequential") model |> layer_dense(units = 2, activation="relu", name = "layer1") model |> layer_dense(units = 3, activation="relu", name = "layer2") @@ -145,7 +145,7 @@ in order to be able to create their weights. So when you create a layer like this, initially, it has no weights: -```r +``` r layer <- layer_dense(units = 3) layer$weights # Empty ``` @@ -158,7 +158,7 @@ It creates its weights the first time it is called on an input, since the shape of the weights depends on the shape of the inputs: -```r +``` r # Call layer on a test input x <- op_ones(c(1, 4)) y <- layer(x) @@ -180,7 +180,7 @@ Sequential model without an input shape, it isn't "built": it has no weights when the model first sees some input data: -```r +``` r model <- keras_model_sequential() |> layer_dense(units = 2, activation = "relu") |> layer_dense(units = 3, activation = "relu") |> @@ -205,7 +205,7 @@ Once a model is "built", you can call its `summary()` method to display its contents: -```r +``` r summary(model) ``` @@ -231,7 +231,7 @@ output shape. In this case, you should start your model by passing an `input_sha argument to your model, so that it knows its input shape from the start: -```r +``` r model <- keras_model_sequential(input_shape = 4) |> layer_dense(units = 2, activation = "relu") summary(model) @@ -250,7 +250,7 @@ summary(model) ``` -```r +``` r model$layers ``` @@ -274,7 +274,7 @@ enables you to monitor how a stack of `Conv2D` and `MaxPooling2D` layers is downsampling image feature maps: -```r +``` r model <- keras_model_sequential(input_shape = c(250, 250, 3)) |> layer_conv_2d(filters = 32, kernel_size = 5, strides = 2, activation = "relu") |> layer_conv_2d(filters = 32, kernel_size = 3, activation = "relu") |> @@ -301,7 +301,7 @@ summary(model) ##  Non-trainable params: 0 (0.00 B) ``` -```r +``` r # The answer was: (40, 40, 32), so we can keep downsampling... model |> @@ -344,7 +344,7 @@ summary(model) ##  Non-trainable params: 0 (0.00 B) ``` -```r +``` r # Now that we have 4x4 feature maps, time to apply global max pooling. model |> layer_global_max_pooling_2d() @@ -379,7 +379,7 @@ quickly creating a model that extracts the outputs of all intermediate layers in Sequential model: -```r +``` r initial_model <- keras_model_sequential(input_shape = c(250, 250, 3)) |> layer_conv_2d(filters = 32, kernel_size = 5, strides = 2, activation = "relu") |> layer_conv_2d(filters = 32, kernel_size = 3, activation = "relu") |> @@ -399,7 +399,7 @@ features <- feature_extractor(x) Here's a similar example that only extract features from one layer: -```r +``` r initial_model <- keras_model_sequential(input_shape = c(250, 250, 3)) |> layer_conv_2d(filters = 32, kernel_size = 5, strides = 2, @@ -433,7 +433,7 @@ can iterate over last one. Like this: -```r +``` r model <- keras_model_sequential(input_shape = 784) |> layer_dense(units = 32, activation = "relu") |> layer_dense(units = 32, activation = "relu") |> @@ -441,12 +441,12 @@ model <- keras_model_sequential(input_shape = 784) |> layer_dense(units = 10) ``` -```r +``` r # Presumably you would want to first load pre-trained weights. model |> load_model_weights(...) ``` -```r +``` r # Freeze all layers except the last one. model |> freeze_weights(from = 1, to = -2) model # note the "Trainable" column now visible in the summary table @@ -470,7 +470,7 @@ model # note the "Trainable" column now visible in the summary table ##  Non-trainable params: 27,232 (106.38 KB) ``` -```r +``` r # Another way to freeze all layers except the last one. for (layer in model$layers[-length(model$layers)]) { layer$trainable <- FALSE @@ -485,7 +485,7 @@ Another common blueprint is to use a Sequential model to stack a pre-trained model and some freshly initialized classification layers. Like this: -```r +``` r # Load a convolutional base with pre-trained weights base_model <- application_xception(weights = 'imagenet', include_top = FALSE, @@ -501,7 +501,7 @@ model <- keras_model_sequential() |> ``` -```r +``` r # Compile & train model |> compile(...) model |> fit(...) diff --git a/vignettes/serialization_and_saving.Rmd b/vignettes/serialization_and_saving.Rmd index bf27b026a..1d9fc4f2c 100644 --- a/vignettes/serialization_and_saving.Rmd +++ b/vignettes/serialization_and_saving.Rmd @@ -58,7 +58,7 @@ Now, let's look at the details. ## Setup -```r +``` r library(keras3) ``` @@ -83,7 +83,7 @@ which uses the `.keras` extension. **Example:** -```r +``` r get_model <- function() { # Create a simple model. inputs <- keras_input(shape(32)) @@ -128,7 +128,7 @@ class method. Like this: -```r +``` r layer_custom <- Layer( "CustomLayer", initialize = function(sublayer, ...) { @@ -179,7 +179,7 @@ function to demonstrate this. **Example:** -```r +``` r # Clear all previously registered custom objects set_custom_objects(clear = TRUE) ``` @@ -188,7 +188,7 @@ set_custom_objects(clear = TRUE) ## named list() ``` -```r +``` r layer_custom <- Layer( "CustomLayer", initialize = function(self, factor) { @@ -253,7 +253,7 @@ stopifnot(all.equal( #### Passing custom objects to `load_model()` -```r +``` r model <- get_model() |> train_model() # Calling `save_model('my_model.keras')` creates a zip archive `my_model.keras`. @@ -283,7 +283,7 @@ the loading of our custom objects. **Example:** -```r +``` r model <- get_model() |> train_model() model |> save_model("custom_model.keras", overwrite = TRUE) @@ -330,7 +330,7 @@ This is equivalent to getting the config then recreating the model from its conf **Example:** -```r +``` r new_model <- clone_model(model) ``` @@ -345,7 +345,7 @@ reconstruct the model or layer. **Layer example:** -```r +``` r layer <- layer_dense(, 3, activation="relu") layer_config <- get_config(layer) str(layer_config) @@ -380,14 +380,14 @@ str(layer_config) Now let's reconstruct the layer using the `from_config()` method: -```r +``` r new_layer <- from_config(layer_config) ``` **Sequential model example:** -```r +``` r model <- keras_model_sequential(input_shape = c(32)) |> layer_dense(1) config <- get_config(model) @@ -397,7 +397,7 @@ new_model <- from_config(config) **Functional model example:** -```r +``` r inputs <- keras_input(c(32)) outputs <- inputs |> layer_dense(1) model <- keras_model(inputs, outputs) @@ -416,14 +416,14 @@ It is also specific to models, it isn't meant for layers. **Example:** -```r +``` r model <- keras_model_sequential(input_shape = c(32)) |> layer_dense(1) save_model_config(model, "model_config.json") new_model <- load_model_config("model_config.json") ``` -```r +``` r unlink("model_config.json") ``` @@ -437,7 +437,7 @@ behind all `serialize()`/`deserialize()` calls in keras. **Example**: -```r +``` r my_reg <- regularizer_l1(0.005) config <- serialize_keras_object(my_reg) str(config) @@ -464,7 +464,7 @@ comes from Now we can reconstruct the regularizer. -```r +``` r new_reg <- deserialize_keras_object(config) new_reg ``` @@ -498,7 +498,7 @@ Examples: ***Transferring weights from one layer to another, in memory*** -```r +``` r create_layer <- function() { layer <- layer_dense(, 64, activation = "relu", name = "dense_2") layer$build(shape(NA, 784)) @@ -515,7 +515,7 @@ layer_2 |> set_weights(get_weights(layer_1)) ***Transferring weights from one model to another model with a compatible architecture, in memory*** -```r +``` r # Create a simple functional model inputs <- keras_input(shape=c(784), name="digits") outputs <- inputs |> @@ -573,7 +573,7 @@ models can have compatible architectures even if there are extra/missing stateless layers. -```r +``` r input <- keras_input(shape = c(784), name = "digits") output <- input |> layer_dense(64, activation = "relu", name = "dense_1") |> @@ -605,7 +605,7 @@ The filename should end in `.weights.h5`. **Example:** -```r +``` r sequential_model = keras_model_sequential(input_shape = c(784), input_name = "digits") |> layer_dense(64, activation = "relu", name = "dense_1") |> @@ -629,7 +629,7 @@ the desired weights/layers into a new model. **Example:** -```r +``` r create_functional_model <- function() { inputs <- keras_input(shape = c(784), name = "digits") outputs <- inputs |> @@ -691,7 +691,7 @@ method. **Example:** -```r +``` r layer_my_dense <- register_keras_serializable( package = "MyLayers", name = "KernelMult", object = Layer( @@ -766,7 +766,7 @@ str(config) ## $ registered_name: chr "MyLayers>KernelMult" ``` -```r +``` r new_layer <- deserialize_keras_object(config) new_layer ``` @@ -789,7 +789,7 @@ of a model where a `from_config` override is necessary. -```r +``` r `%||%` <- \(x, y) if(is.null(x)) y else x layer_custom_model <- register_keras_serializable( package = "ComplexModels", @@ -848,7 +848,7 @@ above. **Example**: -```r +``` r layer <- layer_my_dense( units = 16, kernel_regularizer = regularizer_l1_l2(l1 = 1e-5, l2 = 1e-4), diff --git a/vignettes/training_with_built_in_methods.Rmd b/vignettes/training_with_built_in_methods.Rmd index 17bee87b9..9de9d9169 100644 --- a/vignettes/training_with_built_in_methods.Rmd +++ b/vignettes/training_with_built_in_methods.Rmd @@ -13,7 +13,7 @@ vignette: > ## Setup -```r +``` r library(keras3) ``` @@ -64,7 +64,7 @@ Let's consider the following model (here, we build in with the Functional API, b could be a Sequential model or a subclassed model as well): -```r +``` r inputs <- keras_input(shape = 784, name="digits") outputs <- inputs |> layer_dense(units = 64, activation = "relu", name = "dense_1") |> @@ -101,7 +101,7 @@ Here's what the typical end-to-end workflow looks like, consisting of: We'll use MNIST data for this example. -```r +``` r c(c(x_train, y_train), c(x_test, y_test)) %<-% dataset_mnist() # Preprocess the data (these are NumPy arrays) @@ -118,7 +118,7 @@ y_train <- y_train[-c(1:10000)] We specify the training configuration (optimizer, loss, metrics): -```r +``` r model |> compile( # Optimizer optimizer = optimizer_rmsprop(), @@ -134,7 +134,7 @@ We call `fit()`, which will train the model by slicing the data into "batches" o `epochs`. -```r +``` r history <- model |> fit( x_train, y_train, batch_size = 64, @@ -148,15 +148,15 @@ history <- model |> fit( ``` ## Epoch 1/2 -## 782/782 - 2s - 3ms/step - loss: 0.3410 - sparse_categorical_accuracy: 0.9035 - val_loss: 0.1869 - val_sparse_categorical_accuracy: 0.9455 +## 782/782 - 3s - 3ms/step - loss: 0.3410 - sparse_categorical_accuracy: 0.9035 - val_loss: 0.1869 - val_sparse_categorical_accuracy: 0.9455 ## Epoch 2/2 -## 782/782 - 1s - 973us/step - loss: 0.1588 - sparse_categorical_accuracy: 0.9532 - val_loss: 0.1303 - val_sparse_categorical_accuracy: 0.9626 +## 782/782 - 1s - 1ms/step - loss: 0.1588 - sparse_categorical_accuracy: 0.9532 - val_loss: 0.1303 - val_sparse_categorical_accuracy: 0.9626 ``` The returned `history` object holds a record of the loss values and metric values during training: -```r +``` r history ``` @@ -172,7 +172,7 @@ history We evaluate the model on the test data via `evaluate()`: -```r +``` r # Evaluate the model on the test data using `evaluate` results <- model |> evaluate(x_test, y_test, batch_size=128) ``` @@ -181,29 +181,27 @@ results <- model |> evaluate(x_test, y_test, batch_size=128) ## 79/79 - 0s - 3ms/step - loss: 0.1258 - sparse_categorical_accuracy: 0.9625 ``` -```r -results +``` r +str(results) ``` ``` -## $loss -## [1] 0.1257554 -## -## $sparse_categorical_accuracy -## [1] 0.9625 +## List of 2 +## $ loss : num 0.126 +## $ sparse_categorical_accuracy: num 0.962 ``` -```r +``` r # Generate predictions (probabilities -- the output of the last layer) # on new data using `predict` predictions <- model |> predict(x_test[1:2,]) ``` ``` -## 1/1 - 0s - 152ms/step +## 1/1 - 0s - 136ms/step ``` -```r +``` r dim(predictions) ``` @@ -221,7 +219,7 @@ optionally, some metrics to monitor. You pass these to the model as arguments to the `compile()` method: -```r +``` r model |> compile( optimizer = optimizer_rmsprop(learning_rate = 1e-3), loss = loss_sparse_categorical_crossentropy(), @@ -240,7 +238,7 @@ Note that if you're satisfied with the default settings, in many cases the optim loss, and metrics can be specified via string identifiers as a shortcut: -```r +``` r model |> compile( optimizer = "rmsprop", loss = "sparse_categorical_crossentropy", @@ -252,7 +250,7 @@ For later reuse, let's put our model definition and compile step in functions; w call them several times across different examples in this guide. -```r +``` r get_uncompiled_model <- function() { inputs <- keras_input(shape = 784, name = "digits") outputs <- inputs |> @@ -308,7 +306,7 @@ The first method involves creating a function that accepts inputs `y_true` and error between the real data and the predictions: -```r +``` r custom_mean_squared_error <- function(y_true, y_pred) { op_mean(op_square(y_true - y_pred), axis = -1) } @@ -326,7 +324,7 @@ model |> fit(x_train, y_train_one_hot, batch_size = 64, epochs = 2) ## Epoch 1/2 ## 782/782 - 2s - 2ms/step - loss: 0.0161 ## Epoch 2/2 -## 782/782 - 1s - 677us/step - loss: 0.0078 +## 782/782 - 0s - 623us/step - loss: 0.0078 ``` If you need a loss function that takes in parameters beside `y_true` and `y_pred`, you @@ -345,7 +343,7 @@ reduce overfitting (we won't know if it works until we try!). Here's how you would do it: -```r +``` r loss_custom_mse <- Loss( classname = "CustomMSE", initialize = function(regularization_factor = 0.1, name = "custom_mse") { @@ -390,7 +388,7 @@ Here's a simple example showing how to implement a `CategoricalTruePositives` me that counts how many samples were correctly classified as belonging to a given class: -```r +``` r metric_categorical_true_positives <- Metric( "CategoricalTruePositives", @@ -434,9 +432,9 @@ history <- model |> fit(x_train, y_train, batch_size = 64, epochs = 3) ## Epoch 1/3 ## 782/782 - 1s - 2ms/step - categorical_true_positives: 360502.0000 - loss: 0.3444 ## Epoch 2/3 -## 782/782 - 1s - 862us/step - categorical_true_positives: 362616.0000 - loss: 0.1656 +## 782/782 - 1s - 964us/step - categorical_true_positives: 362616.0000 - loss: 0.1656 ## Epoch 3/3 -## 782/782 - 1s - 660us/step - categorical_true_positives: 363187.0000 - loss: 0.1203 +## 782/782 - 1s - 1ms/step - categorical_true_positives: 363187.0000 - loss: 0.1203 ``` ### Handling losses and metrics that don't fit the standard signature @@ -453,7 +451,7 @@ regularization (note that activity regularization is built-in in all Keras layer this layer is just for the sake of providing a concrete example): -```r +``` r layer_custom_activity_regularizer <- Layer( "ActivityRegularization", call = function(inputs) { @@ -489,7 +487,7 @@ Consider the following `LogisticEndpoint` layer: it takes as inputs targets & logits, and it tracks a crossentropy loss via `add_loss()`. -```r +``` r layer_logistic_endpoint <- Layer( "LogisticEndpoint", initialize = function(name = NULL) { @@ -512,7 +510,7 @@ You can use it in a model with two inputs (input data & targets), compiled witho `loss` argument, like this: -```r +``` r inputs <- keras_input(shape = 3, name = "inputs") targets <- keras_input(shape = 10, name = "targets") @@ -531,7 +529,7 @@ model |> fit(data, epochs = 1) ``` ``` -## 1/1 - 1s - 512ms/step - loss: 1.0566 +## 1/1 - 1s - 508ms/step - loss: 1.0566 ``` For more information about training multi-input models, see the section **Passing data @@ -556,7 +554,7 @@ received by the `fit()` call, before any shuffling. Note that you can only use `validation_split` when training with NumPy data. -```r +``` r model <- get_compiled_model() model |> fit(x_train, y_train, batch_size = 64, @@ -587,7 +585,7 @@ You can pass a `Dataset` instance directly to the methods `fit()`, `evaluate()`, `predict()`: -```r +``` r library(tfdatasets, exclude = "shape") model <- get_compiled_model() @@ -614,27 +612,27 @@ model |> fit(train_dataset, epochs = 3) ## Epoch 1/3 ## 782/782 - 2s - 2ms/step - loss: 0.3365 - sparse_categorical_accuracy: 0.9041 ## Epoch 2/3 -## 782/782 - 1s - 821us/step - loss: 0.1605 - sparse_categorical_accuracy: 0.9524 +## 782/782 - 1s - 681us/step - loss: 0.1605 - sparse_categorical_accuracy: 0.9524 ## Epoch 3/3 -## 782/782 - 1s - 811us/step - loss: 0.1185 - sparse_categorical_accuracy: 0.9647 +## 782/782 - 1s - 1ms/step - loss: 0.1185 - sparse_categorical_accuracy: 0.9647 ``` -```r +``` r # You can also evaluate or predict on a dataset. result <- model |> evaluate(test_dataset) ``` ``` -## 157/157 - 1s - 5ms/step - loss: 0.1152 - sparse_categorical_accuracy: 0.9627 +## 157/157 - 1s - 4ms/step - loss: 0.1152 - sparse_categorical_accuracy: 0.9627 ``` -```r +``` r result ``` ``` ## $loss -## [1] 0.1151983 +## [1] 0.1151979 ## ## $sparse_categorical_accuracy ## [1] 0.9627 @@ -648,7 +646,7 @@ can pass the `steps_per_epoch` argument, which specifies how many training steps model should run using this Dataset before moving on to the next epoch. -```r +``` r model <- get_compiled_model() # Prepare the training dataset @@ -663,17 +661,17 @@ model |> fit(train_dataset, epochs = 3, steps_per_epoch = 100) ``` ## Epoch 1/3 -## 100/100 - 1s - 8ms/step - loss: 0.8017 - sparse_categorical_accuracy: 0.7806 +## 100/100 - 1s - 7ms/step - loss: 0.8017 - sparse_categorical_accuracy: 0.7806 ## Epoch 2/3 -## 100/100 - 0s - 905us/step - loss: 0.3661 - sparse_categorical_accuracy: 0.9006 +## 100/100 - 0s - 682us/step - loss: 0.3661 - sparse_categorical_accuracy: 0.9006 ## Epoch 3/3 -## 100/100 - 0s - 703us/step - loss: 0.3009 - sparse_categorical_accuracy: 0.9106 +## 100/100 - 0s - 740us/step - loss: 0.3009 - sparse_categorical_accuracy: 0.9106 ``` You can also pass a `Dataset` instance as the `validation_data` argument in `fit()`: -```r +``` r model <- get_compiled_model() # Prepare the training dataset @@ -702,7 +700,7 @@ steps the model should run with the validation dataset before interrupting valid and moving on to the next epoch: -```r +``` r model <- get_compiled_model() # Prepare the training dataset @@ -904,7 +902,7 @@ give more importance to the correct classification of class #5 (which is the digit "5" in the MNIST dataset). -```r +``` r class_weight <- c( "0" = 1.0, "1" = 1.0, @@ -927,7 +925,7 @@ model |> fit(x_train, y_train, ``` ``` -## 782/782 - 2s - 2ms/step - loss: 0.3713 - sparse_categorical_accuracy: 0.9018 +## 782/782 - 1s - 2ms/step - loss: 0.3713 - sparse_categorical_accuracy: 0.9018 ``` ### Sample weights @@ -950,7 +948,7 @@ the loss function (entirely discarding the contribution of certain samples to the total loss). -```r +``` r sample_weight <- rep(1.0, length(y_train)) sample_weight[y_train == 5] <- 2.0 @@ -963,13 +961,13 @@ model |> fit( ``` ``` -## 782/782 - 1s - 2ms/step - loss: 0.3740 - sparse_categorical_accuracy: 0.9015 +## 782/782 - 2s - 2ms/step - loss: 0.3740 - sparse_categorical_accuracy: 0.9015 ``` Here's a matching `Dataset` example: -```r +``` r sample_weight <- rep(1.0, length(y_train)) sample_weight[y_train == 5] <- 2.0 @@ -1005,7 +1003,7 @@ combination of these inputs: a "score" (of shape `(1)`) and a probability distribution over five classes (of shape `(5)`). -```r +``` r image_input <- keras_input(c(32, 32, 3), name = "img_input") timeseries_input <- keras_input(c(NA, 10), name = "ts_input") @@ -1032,7 +1030,7 @@ Let's plot this model, so you can clearly see what we're doing here (note that t shapes shown in the plot are batch shapes, rather than per-sample shapes). -```r +``` r plot(model, show_shapes = TRUE) ``` @@ -1045,7 +1043,7 @@ At compilation time, we can specify different losses to different outputs, by pa the loss functions as a list: -```r +``` r model |> compile( optimizer = optimizer_rmsprop(1e-3), loss = list( @@ -1061,7 +1059,7 @@ applied to every output (which is not appropriate here). Likewise for metrics: -```r +``` r model |> compile( optimizer = optimizer_rmsprop(1e-3), loss = list( @@ -1082,7 +1080,7 @@ Since we gave names to our output layers, we could also specify per-output losse metrics via a named list: -```r +``` r model |> compile( optimizer = optimizer_rmsprop(1e-3), loss = list( @@ -1106,7 +1104,7 @@ instance, one might wish to privilege the "score" loss in our example, by giving the importance of the class loss), using the `loss_weights` argument: -```r +``` r model |> compile( optimizer = optimizer_rmsprop(1e-3), loss = list( @@ -1128,7 +1126,7 @@ You could also choose not to compute a loss for certain outputs, if these output meant for prediction but not for training: -```r +``` r # loss list, positional version model |> compile( optimizer = optimizer_rmsprop(1e-3), @@ -1148,7 +1146,7 @@ specifying a loss function in compile: you can pass **lists of arrays** (with names to arrays**. -```r +``` r model |> compile( optimizer = optimizer_rmsprop(1e-3), loss = list( @@ -1173,10 +1171,10 @@ model |> fit( ``` ``` -## 4/4 - 2s - 497ms/step - loss: 1.3788 +## 4/4 - 2s - 458ms/step - loss: 1.3788 ``` -```r +``` r # Alternatively, fit on named lists (names matching) model |> fit( list(img_input = img_data, ts_input = ts_data), @@ -1187,14 +1185,14 @@ model |> fit( ``` ``` -## 4/4 - 1s - 250ms/step - loss: 0.2857 +## 4/4 - 1s - 230ms/step - loss: 0.2857 ``` Here's the `Dataset` use case: similarly as what we did for R arrays, the `Dataset` should return a tuple of named lists (dicts). -```r +``` r train_dataset <- tensor_slices_dataset(list( list(img_input = img_data, ts_input = ts_data), list(score_output = score_targets, class_output = class_targets) @@ -1207,7 +1205,7 @@ model |> fit(train_dataset, epochs = 1) ``` ``` -## 2/2 - 1s - 665ms/step - loss: 0.5600 +## 2/2 - 1s - 629ms/step - loss: 0.5600 ``` ## Using callbacks @@ -1229,7 +1227,7 @@ performance threshold is exceeded Callbacks can be passed as a list to your call to `fit()`: -```r +``` r model <- get_compiled_model() callbacks <- list( @@ -1255,21 +1253,21 @@ model |> fit( ``` ## Epoch 1/20 -## 625/625 - 2s - 3ms/step - loss: 0.3695 - sparse_categorical_accuracy: 0.8961 - val_loss: 0.1873 - val_sparse_categorical_accuracy: 0.9469 +## 625/625 - 1s - 2ms/step - loss: 0.3695 - sparse_categorical_accuracy: 0.8961 - val_loss: 0.1873 - val_sparse_categorical_accuracy: 0.9469 ## Epoch 2/20 -## 625/625 - 1s - 1ms/step - loss: 0.1751 - sparse_categorical_accuracy: 0.9489 - val_loss: 0.1403 - val_sparse_categorical_accuracy: 0.9579 +## 625/625 - 1s - 974us/step - loss: 0.1751 - sparse_categorical_accuracy: 0.9489 - val_loss: 0.1403 - val_sparse_categorical_accuracy: 0.9579 ## Epoch 3/20 -## 625/625 - 1s - 2ms/step - loss: 0.1277 - sparse_categorical_accuracy: 0.9625 - val_loss: 0.1218 - val_sparse_categorical_accuracy: 0.9651 +## 625/625 - 1s - 903us/step - loss: 0.1277 - sparse_categorical_accuracy: 0.9625 - val_loss: 0.1218 - val_sparse_categorical_accuracy: 0.9651 ## Epoch 4/20 -## 625/625 - 1s - 2ms/step - loss: 0.1007 - sparse_categorical_accuracy: 0.9700 - val_loss: 0.1153 - val_sparse_categorical_accuracy: 0.9661 +## 625/625 - 1s - 889us/step - loss: 0.1007 - sparse_categorical_accuracy: 0.9700 - val_loss: 0.1153 - val_sparse_categorical_accuracy: 0.9661 ## Epoch 5/20 ## 625/625 - 1s - 1ms/step - loss: 0.0822 - sparse_categorical_accuracy: 0.9760 - val_loss: 0.1104 - val_sparse_categorical_accuracy: 0.9670 ## Epoch 6/20 -## 625/625 - 1s - 975us/step - loss: 0.0683 - sparse_categorical_accuracy: 0.9801 - val_loss: 0.1098 - val_sparse_categorical_accuracy: 0.9689 +## 625/625 - 1s - 899us/step - loss: 0.0683 - sparse_categorical_accuracy: 0.9801 - val_loss: 0.1098 - val_sparse_categorical_accuracy: 0.9689 ## Epoch 7/20 ## 625/625 - 1s - 1ms/step - loss: 0.0571 - sparse_categorical_accuracy: 0.9838 - val_loss: 0.1116 - val_sparse_categorical_accuracy: 0.9698 ## Epoch 8/20 -## 625/625 - 1s - 1ms/step - loss: 0.0485 - sparse_categorical_accuracy: 0.9864 - val_loss: 0.1126 - val_sparse_categorical_accuracy: 0.9702 +## 625/625 - 1s - 976us/step - loss: 0.0485 - sparse_categorical_accuracy: 0.9864 - val_loss: 0.1126 - val_sparse_categorical_accuracy: 0.9702 ## Epoch 8: early stopping ``` @@ -1300,7 +1298,7 @@ Make sure to read the Here's a simple example saving a list of per-batch loss values during training: -```r +``` r callback_loss_history <- Callback( classname = "LossHistory", initialize = function(file = "per_training_batch_losses.txt", ...) { @@ -1328,7 +1326,7 @@ checkpoints of your model at frequent intervals. The easiest way to achieve this is with [`callback_model_checkpoint()`]: -```r +``` r model <- get_compiled_model() callbacks <- list( @@ -1357,11 +1355,11 @@ model |> fit( ## Epoch 1/2 ## ## Epoch 1: val_loss improved from inf to 0.19344, saving model to mymodel_1.keras -## 625/625 - 2s - 3ms/step - loss: 0.3787 - sparse_categorical_accuracy: 0.8940 - val_loss: 0.1934 - val_sparse_categorical_accuracy: 0.9441 +## 625/625 - 1s - 2ms/step - loss: 0.3787 - sparse_categorical_accuracy: 0.8940 - val_loss: 0.1934 - val_sparse_categorical_accuracy: 0.9441 ## Epoch 2/2 ## ## Epoch 2: val_loss improved from 0.19344 to 0.14251, saving model to mymodel_2.keras -## 625/625 - 1s - 1ms/step - loss: 0.1768 - sparse_categorical_accuracy: 0.9478 - val_loss: 0.1425 - val_sparse_categorical_accuracy: 0.9600 +## 625/625 - 1s - 842us/step - loss: 0.1768 - sparse_categorical_accuracy: 0.9478 - val_loss: 0.1425 - val_sparse_categorical_accuracy: 0.9600 ``` The `ModelCheckpoint` callback can be used to implement fault-tolerance: @@ -1369,7 +1367,7 @@ the ability to restart training from the last saved state of the model in case t gets randomly interrupted. Here's a basic example: -```r +``` r # Prepare a directory to store all the checkpoints. checkpoint_dir <- "./ckpt" fs::dir_create(checkpoint_dir) @@ -1426,7 +1424,7 @@ You can easily use a static learning rate decay schedule by passing a schedule o as the `learning_rate` argument in your optimizer: -```r +``` r initial_learning_rate <- 0.1 lr_schedule <- learning_rate_schedule_exponential_decay( initial_learning_rate, decay_steps=100000, decay_rate=0.96, @@ -1469,7 +1467,7 @@ tensorboard --logdir=/full_path_to_your_logs or from R using: -```r +``` r tensorflow::tensorboard(logdir = "/full_path_to_your_logs") ``` @@ -1483,7 +1481,7 @@ In the simplest case, just specify where you want the callback to write logs, an you're good to go: -```r +``` r tb_callback <- callback_tensorboard( log_dir = "/full_path_to_your_logs", histogram_freq = 0, # How often to log histogram visualizations diff --git a/vignettes/transfer_learning.Rmd b/vignettes/transfer_learning.Rmd index a39d9312c..9a5ecf02f 100644 --- a/vignettes/transfer_learning.Rmd +++ b/vignettes/transfer_learning.Rmd @@ -13,7 +13,7 @@ vignette: > ## Setup -```r +``` r library(keras3) ``` @@ -67,7 +67,7 @@ Layers & models have three weight attributes: **Example: the `Dense` layer has 2 trainable weights (kernel & bias)** -```r +``` r layer <- layer_dense(units = 3) layer$build(shape(NULL, 4)) # Create the weights @@ -78,7 +78,7 @@ length(layer$weights) ## [1] 2 ``` -```r +``` r length(layer$trainable_weights) ``` @@ -86,7 +86,7 @@ length(layer$trainable_weights) ## [1] 2 ``` -```r +``` r length(layer$non_trainable_weights) ``` @@ -104,7 +104,7 @@ To learn how to use non-trainable weights in your own custom layers, see the weights** -```r +``` r layer <- layer_batch_normalization() layer$build(shape(NA, 4)) # Create the weights @@ -115,7 +115,7 @@ length(layer$weights) ## [1] 4 ``` -```r +``` r length(layer$trainable_weights) ``` @@ -123,7 +123,7 @@ length(layer$trainable_weights) ## [1] 2 ``` -```r +``` r length(layer$non_trainable_weights) ``` @@ -140,7 +140,7 @@ be updated during training (either when training with `fit()` or when training w **Example: setting `trainable` to `False`** -```r +``` r layer <- layer_dense(units = 3) layer$build(shape(NULL, 4)) # Create the weights layer$trainable <- FALSE # Freeze the layer @@ -152,7 +152,7 @@ length(layer$weights) ## [1] 2 ``` -```r +``` r length(layer$trainable_weights) ``` @@ -160,7 +160,7 @@ length(layer$trainable_weights) ## [1] 0 ``` -```r +``` r length(layer$non_trainable_weights) ``` @@ -172,7 +172,7 @@ When a trainable weight becomes non-trainable, its value is no longer updated du training. -```r +``` r # Make a model with 2 layers layer1 <- layer_dense(units = 3, activation = "relu") layer2 <- layer_dense(units = 3, activation = "sigmoid") @@ -194,10 +194,10 @@ model |> fit(random_normal(c(2, 3)), random_normal(c(2, 3)), epochs = 1) ``` ``` -## 1/1 - 1s - 567ms/step - loss: 2.1868 +## 1/1 - 1s - 544ms/step - loss: 2.1868 ``` -```r +``` r # Check that the weights of layer1 have not changed during training final_layer1_weights_values <- get_weights(layer1) @@ -223,7 +223,7 @@ all children layers become non-trainable as well. **Example:** -```r +``` r inner_model <- keras_model_sequential(input_shape = 3) |> layer_dense(units = 3, activation = "relu") |> layer_dense(units = 3, activation = "relu") @@ -241,7 +241,7 @@ inner_model$trainable # All layers in `model` are now frozen ## [1] FALSE ``` -```r +``` r inner_model$layers[[1]]$trainable # `trainable` is propagated recursively ``` @@ -281,7 +281,7 @@ Here's what the first workflow looks like in Keras: First, instantiate a base model with pre-trained weights. -```r +``` r base_model <- application_xception( weights = 'imagenet', # Load weights pre-trained on ImageNet. input_shape = c(150, 150, 3), @@ -292,14 +292,14 @@ base_model <- application_xception( Then, freeze the base model. -```r +``` r base_model$trainable <- FALSE ``` Create a new model on top. -```r +``` r inputs <- keras_input(shape = c(150, 150, 3)) # We make sure that the base_model is running in inference mode here, # by passing `training <- FALSE`. This is important for fine-tuning, as you will @@ -317,7 +317,7 @@ model <- keras_model(inputs, outputs) Train the model on new data. -```r +``` r model |> compile( optimizer = optimizer_adam(), loss = loss_binary_crossentropy(from_logits = TRUE), @@ -350,7 +350,7 @@ As a result, you are at risk of overfitting very quickly if you apply large weig This is how to implement fine-tuning of the whole base model: -```r +``` r # Unfreeze the base model base_model$trainable <- TRUE @@ -417,7 +417,7 @@ dataset small, we will use 40% of the original training data (25,000 images) for training, 10% for validation, and 10% for testing. -```r +``` r # reticulate::py_install("tensorflow-datasets") tfds <- reticulate::import("tensorflow_datasets") @@ -439,7 +439,7 @@ These are the first 9 images in the training dataset -- as you can see, they're different sizes. -```r +``` r library(tfdatasets, exclude = "shape") par(mfrow = c(3, 3), mar = c(1,0,1.5,0)) @@ -483,7 +483,7 @@ of the model, when we create it. Let's resize images to 150x150: -```r +``` r resize_fn <- layer_resizing(width = 150, height = 150) resize_pair <- function(x, y) list(resize_fn(x), y) @@ -501,7 +501,7 @@ helps expose the model to different aspects of the training data while slowing d overfitting. -```r +``` r data_augmentation <- keras_model_sequential() |> layer_random_flip("horizontal") |> layer_random_rotation(.1) @@ -513,7 +513,7 @@ train_ds <- train_ds %>% Let's batch the data and use prefetching to optimize loading speed. -```r +``` r library(tensorflow, exclude = c("shape", "set_random_seed")) batch_size <- 64 @@ -534,7 +534,7 @@ Let's visualize what the first image of the first batch looks like after various transformations: -```r +``` r batch <- train_ds |> dataset_take(1) |> as_iterator() |> @@ -577,7 +577,7 @@ it runs in inference mode, so that batchnorm statistics don't get updated even after we unfreeze the base model for fine-tuning. -```r +``` r base_model <- application_xception( weights = "imagenet", # Load weights pre-trained on ImageNet. input_shape = c(150, 150, 3), @@ -636,7 +636,7 @@ summary(model, show_trainable = TRUE) ## Train the top layer -```r +``` r model |> compile( optimizer = optimizer_adam(), loss = loss_binary_crossentropy(from_logits = TRUE), @@ -648,7 +648,7 @@ model |> fit(train_ds, epochs = epochs, validation_data = validation_ds) ``` ``` -## 146/146 - 45s - 307ms/step - binary_accuracy: 0.9183 - loss: 0.1887 - val_binary_accuracy: 0.9669 - val_loss: 0.0926 +## 146/146 - 45s - 306ms/step - binary_accuracy: 0.9183 - loss: 0.1887 - val_binary_accuracy: 0.9669 - val_loss: 0.0926 ``` ## Do a round of fine-tuning of the entire model @@ -663,7 +663,7 @@ statistics. If they did, they would wreck havoc on the representations learned b model so far. -```r +``` r # Unfreeze the base_model. Note that it keeps running in inference mode # since we passed `training=FALSE` when calling it. This means that # the batchnorm layers will not update their batch statistics. @@ -697,7 +697,7 @@ summary(model, show_trainable = TRUE) ##  Optimizer params: 4,100 (16.02 KB) ``` -```r +``` r model |> compile( optimizer = optimizer_adam(1e-5), # Low learning rate loss = loss_binary_crossentropy(from_logits = TRUE), @@ -709,19 +709,19 @@ model |> fit(train_ds, epochs = epochs, validation_data = validation_ds) ``` ``` -## 146/146 - 77s - 524ms/step - binary_accuracy: 0.8660 - loss: 0.3213 - val_binary_accuracy: 0.9652 - val_loss: 0.1022 +## 146/146 - 82s - 564ms/step - binary_accuracy: 0.8660 - loss: 0.3213 - val_binary_accuracy: 0.9652 - val_loss: 0.1022 ``` After 10 epochs, fine-tuning gains us a nice improvement here. Let's evaluate the model on the test dataset: -```r +``` r model |> evaluate(test_ds) ``` ``` -## 37/37 - 2s - 41ms/step - binary_accuracy: 0.9540 - loss: 0.1103 +## 37/37 - 2s - 42ms/step - binary_accuracy: 0.9540 - loss: 0.1103 ``` ``` @@ -729,5 +729,5 @@ model |> evaluate(test_ds) ## [1] 0.9539983 ## ## $loss -## [1] 0.1102595 +## [1] 0.1102556 ``` diff --git a/vignettes/understanding_masking_and_padding.Rmd b/vignettes/understanding_masking_and_padding.Rmd index a999ecdfe..7f3ab47ed 100644 --- a/vignettes/understanding_masking_and_padding.Rmd +++ b/vignettes/understanding_masking_and_padding.Rmd @@ -14,7 +14,7 @@ vignette: > ## Setup -```r +``` r library(keras3) ``` @@ -36,7 +36,7 @@ When processing sequence data, it is very common for individual samples to have different lengths. Consider the following example (text tokenized as words): -```r +``` r data <- list( c("Hello", "world", "!"), c("How", "are", "you", "doing", "today"), @@ -47,7 +47,7 @@ data <- list( After vocabulary lookup, the data might be vectorized as integers, e.g.: -```r +``` r data <- list( c(71, 1331, 4231), c(73, 8, 3215, 55, 927), @@ -65,7 +65,7 @@ Keras provides a utility function to truncate and pad Python lists to a common l `pad_sequences`. -```r +``` r raw_inputs <- list( c(711, 632, 71), c(73, 8, 3215, 55, 927), @@ -109,7 +109,7 @@ sequence_length)`), and attach it to the tensor output returned by the `Masking` `Embedding` layer. -```r +``` r embedding <- layer_embedding(input_dim=5000, output_dim=16, mask_zero=TRUE) masked_output <- embedding(padded_inputs) @@ -123,7 +123,7 @@ masked_output$`_keras_mask` ## [ True True True True True True]], shape=(3, 6), dtype=bool) ``` -```r +``` r masking_layer <- layer_masking() # Simulate the embedding lookup by expanding the 2D input to 3D, # with embedding dimension of 10. @@ -158,7 +158,7 @@ For instance, in the following Sequential model, the `LSTM` layer will automatic receive a mask, which means it will ignore padded values: -```r +``` r model <- keras_model_sequential() %>% layer_embedding(input_dim=5000, output_dim=16, mask_zero=TRUE) %>% layer_lstm(units=32) @@ -167,7 +167,7 @@ model <- keras_model_sequential() %>% This is also the case for the following Functional API model: -```r +``` r inputs <- keras_input(shape = shape(NULL), dtype="int32") outputs <- inputs %>% layer_embedding(input_dim=5000, output_dim=16, mask_zero=TRUE) %>% @@ -188,7 +188,7 @@ Thus, you can pass the output of the `compute_mask()` method of a mask-producing to the `call` method of a mask-consuming layer, like this: -```r +``` r MyLayer <- new_layer_class( "MyLayer", initialize = function(...) { @@ -246,7 +246,7 @@ produces a new mask given the input and the current mask. Here is an example of a `TemporalSplit` layer that needs to modify the current mask. -```r +``` r TemporalSplit <- new_layer_class( "TemporalSplit", call = function(inputs) { @@ -275,7 +275,7 @@ first_half$`_keras_mask` ## [ True True True]], shape=(3, 3), dtype=bool) ``` -```r +``` r second_half$`_keras_mask` ``` @@ -290,7 +290,7 @@ Here is another example of a `CustomEmbedding` layer that is capable of generati mask from input values: -```r +``` r CustomEmbedding <- new_layer_class( "CustomEmbedding", initialize = function(input_dim, output_dim, mask_zero=FALSE, ...) { @@ -354,7 +354,7 @@ to be able to propagate the current input mask, you should set `self.supports_ma Here's an example of a layer that is whitelisted for mask propagation: -```r +``` r MyActivation <- new_layer_class( "MyActivation", initialize = function(...) { @@ -372,7 +372,7 @@ and a mask-consuming layer (like `LSTM`), and it will pass the mask along so tha reaches the mask-consuming layer. -```r +``` r inputs <- keras_input(shape = shape(NULL), dtype="int32") outputs <- inputs %>% layer_embedding(input_dim=5000, output_dim=16, mask_zero=TRUE) %>% @@ -396,7 +396,7 @@ Here's a simple example below: a layer that computes a softmax over the time dim (axis 1) of an input sequence, while discarding masked timesteps. -```r +``` r TemporalSoftmax <- new_layer_class( "TemporalSoftmax", initialize = function(...) { diff --git a/vignettes/writing_a_custom_training_loop_in_tensorflow.Rmd b/vignettes/writing_a_custom_training_loop_in_tensorflow.Rmd index 5569b495e..3470d9b8a 100644 --- a/vignettes/writing_a_custom_training_loop_in_tensorflow.Rmd +++ b/vignettes/writing_a_custom_training_loop_in_tensorflow.Rmd @@ -13,7 +13,7 @@ vignette: > ## Setup -```r +``` r library(tensorflow, exclude = c("shape", "set_random_seed")) library(tfdatasets, exclude = "shape") library(keras3) @@ -48,7 +48,7 @@ retrieve using `model$trainable_weights`). Let's consider a simple MNIST model: -```r +``` r get_model <- function() { inputs <- keras_input(shape = 784, name = "digits") outputs <- inputs |> @@ -66,7 +66,7 @@ Let's train it using mini-batch gradient with a custom training loop. First, we're going to need an optimizer, a loss function, and a dataset: -```r +``` r # Instantiate an optimizer. optimizer <- optimizer_adam(learning_rate = 1e-3) # Instantiate a loss function. @@ -109,7 +109,7 @@ of the model with regard to the loss gradients -```r +``` r epochs <- 3 for (epoch in seq_len(epochs)) { cat("Start of epoch ", epoch, "\n") @@ -191,7 +191,7 @@ Let's use this knowledge to compute `SparseCategoricalAccuracy` on validation da the end of each epoch: -```r +``` r # Get a fresh model model <- get_model() @@ -208,7 +208,7 @@ val_acc_metric <- metric_sparse_categorical_accuracy() Here's our training & evaluation loop: -```r +``` r epochs <- 2 time <- Sys.time() for (epoch in seq_len(epochs)) { @@ -276,12 +276,12 @@ for (epoch in seq_len(epochs)) { ## Validation acc: 0.9031 ``` -```r +``` r Sys.time() - time ``` ``` -## Time difference of 40.01661 secs +## Time difference of 44.04362 secs ``` ## Speeding-up your training step with `tf_function()` @@ -300,7 +300,7 @@ You can compile into a static graph any function that takes tensors as input. Just add a `@tf.function` decorator on it, like this: -```r +``` r train_step <- tf_function(function(x, y) { with(tf$GradientTape() %as% tape, { logits <- model(x, training = TRUE) @@ -316,7 +316,7 @@ train_step <- tf_function(function(x, y) { Let's do the same with the evaluation step: -```r +``` r test_step <- tf_function(function(x, y) { val_logits <- model(x, training=FALSE) val_acc_metric$update_state(y, val_logits) @@ -327,7 +327,7 @@ test_step <- tf_function(function(x, y) { Now, let's re-run our training loop with this compiled training step: -```r +``` r epochs <- 2 time <- Sys.time() for (epoch in seq_len(epochs)) { @@ -375,12 +375,12 @@ for (epoch in seq_len(epochs)) { ## Validation acc: 0.9031 ``` -```r +``` r Sys.time() - time ``` ``` -## Time difference of 0.3914127 secs +## Time difference of 0.4195933 secs ``` Much faster, isn't it? @@ -398,7 +398,7 @@ and add them to the main loss in your training step. Consider this layer, that creates an activity regularization loss: -```r +``` r layer_activity_regularization <- Layer( "ActivityRegularizationLayer", call = function(inputs) { @@ -411,7 +411,7 @@ layer_activity_regularization <- Layer( Let's build a really simple model that uses it: -```r +``` r inputs <- keras_input(shape = 784, name="digits") outputs <- inputs |> layer_dense(units = 64, activation = "relu") |> @@ -424,7 +424,7 @@ model <- keras_model(inputs = inputs, outputs = outputs) Here's what our training step should look like now: -```r +``` r train_step <- tf_function(function(x, y) { with(tf$GradientTape() %as% tape, { logits <- model(x, training = TRUE) @@ -479,7 +479,7 @@ Let's implement this training loop. First, create the discriminator meant to cla fake vs real digits: -```r +``` r # Create the discriminator discriminator <- keras_model_sequential(name = "discriminator", @@ -524,7 +524,7 @@ that turns latent vectors into outputs of shape `(28, 28, 1)` (representing MNIST digits): -```r +``` r latent_dim <- 128L generator <- @@ -577,7 +577,7 @@ Here's the key bit: the training loop. As you can see it is quite straightforwar training step function only takes 17 lines. -```r +``` r # Instantiate one optimizer for the discriminator and another for the generator. d_optimizer <- optimizer_adam(learning_rate = 0.0003) g_optimizer <- optimizer_adam(learning_rate = 0.0004) @@ -641,7 +641,7 @@ Since our discriminator and generator are convnets, you're going to want to run this code on a GPU. -```r +``` r # Prepare the dataset. We use both the training & test MNIST digits. batch_size <- 64 c(c(x_train, .), c(x_test, .)) %<-% dataset_mnist() diff --git a/vignettes/writing_your_own_callbacks.Rmd b/vignettes/writing_your_own_callbacks.Rmd index a431a1c5e..1ad0a87d3 100644 --- a/vignettes/writing_your_own_callbacks.Rmd +++ b/vignettes/writing_your_own_callbacks.Rmd @@ -25,7 +25,7 @@ started. ## Setup -```r +``` r library(keras3) ``` @@ -82,7 +82,7 @@ Let's take a look at a concrete example. To get started, let's import tensorflow define a simple Sequential Keras model: -```r +``` r # Define the Keras model to add callbacks to get_model <- function() { model <- keras_model_sequential() @@ -99,7 +99,7 @@ get_model <- function() { Then, load the MNIST data for training and testing from Keras datasets API: -```r +``` r # Load example MNIST data and pre-process it mnist <- dataset_mnist() @@ -129,7 +129,7 @@ Now, define a simple custom callback that logs: - When each inference (prediction) batch starts & ends -```r +``` r show <- function(msg, logs) { cat(glue::glue(msg, .envir = parent.frame()), "got logs: ", sep = "; ") @@ -160,7 +160,7 @@ callback_custom <- Callback( Let's try it out: -```r +``` r model <- get_model() model |> fit( mnist$train$x, mnist$train$y, @@ -306,7 +306,7 @@ model |> fit( ## $ val_mean_absolute_error: num 1.82 ``` -```r +``` r res <- model |> evaluate( mnist$test$x, mnist$test$y, batch_size = 128, verbose = 0, @@ -370,7 +370,7 @@ res <- model |> evaluate( ## $ mean_absolute_error: num 1.75 ``` -```r +``` r res <- model |> predict( mnist$test$x, batch_size = 128, verbose = 0, @@ -428,7 +428,7 @@ res <- model |> predict( The `logs` named list contains the loss value, and all the metrics at the end of a batch or epoch. Example includes the loss and mean absolute error. -```r +``` r callback_print_loss_and_mae <- Callback( "LossAndErrorPrintingCallback", @@ -477,7 +477,7 @@ model |> fit( ## The average loss for epoch 2 is 5.51 and mean absolute error is 1.90. ``` -```r +``` r res = model |> evaluate( mnist$test$x, mnist$test$y, verbose = 0, batch_size = 128, @@ -530,7 +530,7 @@ epochs we should wait before stopping after having reached a local minimum. `callback_early_stopping()` provides a more complete and general implementation. -```r +``` r callback_early_stopping_at_min_loss <- Callback( "EarlyStoppingAtMinLoss", `__doc__` = @@ -659,7 +659,7 @@ learning rate of the optimizer during the course of training. See `keras$callbacks$LearningRateScheduler` for a more general implementations (in RStudio, press F1 while the cursor is over `LearningRateScheduler` and a browser will open to [this page](https://www.tensorflow.org/versions/r2.5/api_docs/python/tf/keras/callbacks/LearningRateScheduler)). -```r +``` r callback_custom_learning_rate_scheduler <- Callback( "CustomLearningRateScheduler", `__doc__` = From 683f0482f184af4343139455248f17e3461119c7 Mon Sep 17 00:00:00 2001 From: Tomasz Kalinowski Date: Tue, 21 May 2024 11:15:27 -0400 Subject: [PATCH 06/11] Columbo FTW! --- .../nlp/text_classification_from_scratch.Rmd | 3 +- .../nlp/text_classification_from_scratch.Rmd | 77 +++++++++++-------- 2 files changed, 45 insertions(+), 35 deletions(-) diff --git a/vignettes-src/examples/nlp/text_classification_from_scratch.Rmd b/vignettes-src/examples/nlp/text_classification_from_scratch.Rmd index 6fa2b423e..cf8f8cce0 100644 --- a/vignettes-src/examples/nlp/text_classification_from_scratch.Rmd +++ b/vignettes-src/examples/nlp/text_classification_from_scratch.Rmd @@ -22,7 +22,6 @@ word splitting & indexing. ## Setup ```{r} -options(conflicts.policy = "strict") library(tensorflow, exclude = c("shape", "set_random_seed")) library(tfdatasets, exclude = "shape") library(keras3) @@ -57,7 +56,7 @@ The `aclImdb/train/pos` and `aclImdb/train/neg` folders contain text files, each which represents one review (either positive or negative): ```{r, warning=FALSE} -writeLines(strwrap(readLines("datasets/aclImdb/train/pos/6248_7.txt"))) +writeLines(strwrap(readLines("datasets/aclImdb/train/pos/4229_10.txt"))) ``` We are only interested in the `pos` and `neg` subfolders, so let's delete the other subfolder that has text files in it: diff --git a/vignettes/examples/nlp/text_classification_from_scratch.Rmd b/vignettes/examples/nlp/text_classification_from_scratch.Rmd index a9ae88bb1..318628485 100644 --- a/vignettes/examples/nlp/text_classification_from_scratch.Rmd +++ b/vignettes/examples/nlp/text_classification_from_scratch.Rmd @@ -23,8 +23,7 @@ word splitting & indexing. ## Setup -```r -options(conflicts.policy = "strict") +``` r library(tensorflow, exclude = c("shape", "set_random_seed")) library(tfdatasets, exclude = "shape") library(keras3) @@ -36,7 +35,7 @@ use_virtualenv("r-keras") Let's download the data and inspect its structure. -```r +``` r if (!dir.exists("datasets/aclImdb")) { dir.create("datasets") download.file( @@ -52,7 +51,7 @@ if (!dir.exists("datasets/aclImdb")) { The `aclImdb` folder contains a `train` and `test` subfolder: -```r +``` r head(list.files("datasets/aclImdb/test")) ``` @@ -61,7 +60,7 @@ head(list.files("datasets/aclImdb/test")) ## [5] "urls_pos.txt" ``` -```r +``` r head(list.files("datasets/aclImdb/train")) ``` @@ -74,18 +73,30 @@ The `aclImdb/train/pos` and `aclImdb/train/neg` folders contain text files, each which represents one review (either positive or negative): -```r -cat(readLines("datasets/aclImdb/train/pos/6248_7.txt")) +``` r +writeLines(strwrap(readLines("datasets/aclImdb/train/pos/4229_10.txt"))) ``` ``` -## Being an Austrian myself this has been a straight knock in my face. Fortunately I don't live nowhere near the place where this movie takes place but unfortunately it portrays everything that the rest of Austria hates about Viennese people (or people close to that region). And it is very easy to read that this is exactly the directors intention: to let your head sink into your hands and say "Oh my god, how can THAT be possible!". No, not with me, the (in my opinion) totally exaggerated uncensored swinger club scene is not necessary, I watch porn, sure, but in this context I was rather disgusted than put in the right context.

      This movie tells a story about how misled people who suffer from lack of education or bad company try to survive and live in a world of redundancy and boring horizons. A girl who is treated like a whore by her super-jealous boyfriend (and still keeps coming back), a female teacher who discovers her masochism by putting the life of her super-cruel "lover" on the line, an old couple who has an almost mathematical daily cycle (she is the "official replacement" of his ex wife), a couple that has just divorced and has the ex husband suffer under the acts of his former wife obviously having a relationship with her masseuse and finally a crazy hitchhiker who asks her drivers the most unusual questions and stretches their nerves by just being super-annoying.

      After having seen it you feel almost nothing. You're not even shocked, sad, depressed or feel like doing anything... Maybe that's why I gave it 7 points, it made me react in a way I never reacted before. If that's good or bad is up to you! +## Don't waste time reading my review. Go out and see this +## astonishingly good episode, which may very well be the best Columbo +## ever written! Ruth Gordon is perfectly cast as the scheming yet +## charming mystery writer who murders her son-in-law to avenge his +## murder of her daughter. Columbo is his usual rumpled, befuddled and +## far-cleverer-than-he-seems self, and this particular installment +## features fantastic chemistry between Gordon and Falk. Ironically, +## this was not written by heralded creators Levinson or Link yet is +## possibly the densest, most thoroughly original and twist-laden +## Columbo plot ever. Utterly satisfying in nearly every department +## and overflowing with droll and witty dialogue and thinking. Truly +## unexpected and inventive climax tops all. 10/10...seek this one out +## on Netflix! ``` We are only interested in the `pos` and `neg` subfolders, so let's delete the other subfolder that has text files in it: -```r +``` r unlink("datasets/aclImdb/train/unsup", recursive = TRUE) ``` @@ -109,7 +120,7 @@ random seed, or to pass `shuffle=FALSE`, so that the validation & training split get have no overlap. -```r +``` r batch_size <- 32 raw_train_ds <- text_dataset_from_directory( @@ -126,7 +137,7 @@ raw_train_ds <- text_dataset_from_directory( ## Using 20000 files for training. ``` -```r +``` r raw_val_ds <- text_dataset_from_directory( "datasets/aclImdb/train", batch_size = batch_size, @@ -141,7 +152,7 @@ raw_val_ds <- text_dataset_from_directory( ## Using 5000 files for validation. ``` -```r +``` r raw_test_ds <- text_dataset_from_directory( "datasets/aclImdb/test", batch_size = batch_size @@ -152,7 +163,7 @@ raw_test_ds <- text_dataset_from_directory( ## Found 25000 files belonging to 2 classes. ``` -```r +``` r cat("Number of batches in raw_train_ds:", length(raw_train_ds), "\n") ``` @@ -160,7 +171,7 @@ cat("Number of batches in raw_train_ds:", length(raw_train_ds), "\n") ## Number of batches in raw_train_ds: 625 ``` -```r +``` r cat("Number of batches in raw_val_ds:", length(raw_val_ds), "\n") ``` @@ -168,7 +179,7 @@ cat("Number of batches in raw_val_ds:", length(raw_val_ds), "\n") ## Number of batches in raw_val_ds: 157 ``` -```r +``` r cat("Number of batches in raw_test_ds:", length(raw_test_ds), "\n") ``` @@ -179,7 +190,7 @@ cat("Number of batches in raw_test_ds:", length(raw_test_ds), "\n") Let's preview a few samples: -```r +``` r # It's important to take a look at your raw data to ensure your normalization # and tokenization will work as expected. We can do that by taking a few # examples from the training set and looking at them. @@ -196,7 +207,7 @@ str(batch) ## $ : ``` -```r +``` r c(text_batch, label_batch) %<-% batch for (i in 1:3) { print(text_batch[i]) @@ -218,7 +229,7 @@ for (i in 1:3) { In particular, we remove `
      ` tags. -```r +``` r # Having looked at our data above, we see that the raw text contains HTML break # tags of the form '
      '. These tags will not be removed by the default # standardizer (which doesn't strip HTML). Because of this, we will need to @@ -269,7 +280,7 @@ There are 2 ways we can use our text vectorization layer: strings, like this: -```r +``` r text_input <- keras_input(shape = c(1L), dtype = "string", name = 'text') x <- text_input |> vectorize_layer() |> @@ -289,7 +300,7 @@ strings as input, like in the code snippet for option 1 above. This can be done training. We do this in the last section. -```r +``` r vectorize_text <- function(text, label) { text <- text |> op_expand_dims(-1) |> @@ -319,7 +330,7 @@ test_ds <- test_ds |> We choose a simple 1D convnet starting with an `Embedding` layer. -```r +``` r # A integer input for vocab indices. inputs <- keras_input(shape = c(NA), dtype = "int64") @@ -372,7 +383,7 @@ summary(model) ##  Non-trainable params: 0 (0.00 B) ``` -```r +``` r # Compile the model with binary crossentropy loss and an adam optimizer. model |> compile(loss = "binary_crossentropy", optimizer = "adam", @@ -382,7 +393,7 @@ model |> compile(loss = "binary_crossentropy", ## Train the model -```r +``` r epochs <- 3 # Fit the model using the train and test datasets. @@ -391,30 +402,30 @@ model |> fit(train_ds, validation_data = val_ds, epochs = epochs) ``` ## Epoch 1/3 -## 625/625 - 5s - 8ms/step - accuracy: 0.6944 - loss: 0.5248 - val_accuracy: 0.8624 - val_loss: 0.3150 +## 625/625 - 6s - 10ms/step - accuracy: 0.6909 - loss: 0.5300 - val_accuracy: 0.8658 - val_loss: 0.3229 ## Epoch 2/3 -## 625/625 - 2s - 2ms/step - accuracy: 0.9046 - loss: 0.2403 - val_accuracy: 0.8730 - val_loss: 0.3135 +## 625/625 - 2s - 3ms/step - accuracy: 0.9047 - loss: 0.2412 - val_accuracy: 0.8742 - val_loss: 0.3202 ## Epoch 3/3 -## 625/625 - 2s - 2ms/step - accuracy: 0.9524 - loss: 0.1275 - val_accuracy: 0.8716 - val_loss: 0.3424 +## 625/625 - 2s - 3ms/step - accuracy: 0.9573 - loss: 0.1237 - val_accuracy: 0.8704 - val_loss: 0.3551 ``` ## Evaluate the model on the test set -```r +``` r model |> evaluate(test_ds) ``` ``` -## 782/782 - 1s - 2ms/step - accuracy: 0.8608 - loss: 0.3672 +## 782/782 - 1s - 2ms/step - accuracy: 0.8594 - loss: 0.3818 ``` ``` ## $accuracy -## [1] 0.86084 +## [1] 0.85936 ## ## $loss -## [1] 0.3671538 +## [1] 0.381799 ``` ## Make an end-to-end model @@ -423,7 +434,7 @@ If you want to obtain a model capable of processing raw strings, you can simply create a new model (using the weights we just trained): -```r +``` r # A string input inputs <- keras_input(shape = c(1), dtype = "string") # Turn strings into vocab indices @@ -444,12 +455,12 @@ end_to_end_model |> evaluate(raw_test_ds) ``` ``` -## 782/782 - 3s - 4ms/step - accuracy: 0.8608 - loss: 0.0000e+00 +## 782/782 - 3s - 4ms/step - accuracy: 0.8594 - loss: 0.0000e+00 ``` ``` ## $accuracy -## [1] 0.86084 +## [1] 0.85936 ## ## $loss ## [1] 0 From 6927586e7b30382a0c1fc08004243782601309c7 Mon Sep 17 00:00:00 2001 From: Tomasz Kalinowski Date: Tue, 21 May 2024 11:31:30 -0400 Subject: [PATCH 07/11] rebuild site --- docs/404.html | 2 +- docs/LICENSE-text.html | 2 +- .../custom_train_step_in_tensorflow.html | 26 +- .../distributed_training_with_tensorflow.html | 8 +- docs/articles/distribution.html | 14 +- docs/articles/examples/index.html | 4 +- ..._machine_translation_with_transformer.html | 4 +- .../nlp/text_classification_from_scratch.html | 37 +- .../imbalanced_classification.html | 74 +- ...ata_classification_with_feature_space.html | 72 +- .../timeseries_anomaly_detection.html | 122 ++-- .../unnamed-chunk-10-1.png | Bin 17877 -> 17853 bytes .../unnamed-chunk-11-1.png | Bin 7077 -> 7046 bytes .../unnamed-chunk-12-1.png | Bin 31116 -> 31147 bytes .../unnamed-chunk-13-2.png | Bin 5800 -> 5677 bytes .../unnamed-chunk-14-1.png | Bin 30523 -> 30517 bytes ...imeseries_classification_from_scratch.html | 674 ++++++++++++------ .../unnamed-chunk-12-1.png | Bin 57721 -> 66684 bytes .../unnamed-chunk-13-1.png | Bin 55312 -> 61201 bytes .../articles/examples/vision/autoencoder.html | 242 +++---- .../vision/autoencoder/unnamed-chunk-5-1.png | Bin 54121 -> 54331 bytes .../vision/autoencoder/unnamed-chunk-7-1.png | Bin 100007 -> 99851 bytes .../examples/vision/mnist_convnet.html | 36 +- .../examples/vision/mnist_siamese_graph.html | 48 +- .../mnist_siamese_graph/unnamed-chunk-5-1.png | Bin 31043 -> 31048 bytes .../mnist_siamese_graph/unnamed-chunk-7-1.png | Bin 8811 -> 8724 bytes .../mnist_siamese_graph/unnamed-chunk-7-2.png | Bin 10022 -> 10205 bytes .../oxford_pets_image_segmentation.html | 104 +-- .../unnamed-chunk-9-1.png | Bin 36929 -> 36912 bytes docs/articles/functional_api.html | 18 +- docs/articles/getting_started.html | 8 +- .../getting_started/unnamed-chunk-12-1.png | Bin 31998 -> 30397 bytes docs/articles/index.html | 2 +- .../intro_to_keras_for_engineers.html | 26 +- .../intro_to_keras_for_researchers.html | 4 +- ...new_layers_and_models_via_subclassing.html | 10 +- docs/articles/sequential_model.html | 2 +- docs/articles/serialization_and_saving.html | 2 +- .../training_with_built_in_methods.html | 66 +- docs/articles/transfer_learning.html | 12 +- .../understanding_masking_and_padding.html | 2 +- ..._a_custom_training_loop_in_tensorflow.html | 6 +- docs/articles/writing_your_own_callbacks.html | 2 +- docs/authors.html | 6 +- docs/index.html | 2 +- docs/news/index.html | 4 +- docs/pkgdown.yml | 2 +- docs/reference/Callback.html | 2 +- docs/reference/Constraint.html | 2 +- docs/reference/Layer.html | 2 +- docs/reference/LearningRateSchedule.html | 2 +- docs/reference/Loss.html | 2 +- docs/reference/Metric.html | 2 +- docs/reference/Model.html | 2 +- docs/reference/activation_elu.html | 2 +- docs/reference/activation_exponential.html | 2 +- docs/reference/activation_gelu.html | 2 +- docs/reference/activation_hard_sigmoid.html | 2 +- docs/reference/activation_hard_silu.html | 2 +- docs/reference/activation_leaky_relu.html | 2 +- docs/reference/activation_linear.html | 2 +- docs/reference/activation_log_softmax.html | 2 +- docs/reference/activation_mish.html | 2 +- docs/reference/activation_relu.html | 2 +- docs/reference/activation_relu6.html | 2 +- docs/reference/activation_selu.html | 2 +- docs/reference/activation_sigmoid.html | 2 +- docs/reference/activation_silu.html | 2 +- docs/reference/activation_softmax.html | 2 +- docs/reference/activation_softplus.html | 2 +- docs/reference/activation_softsign.html | 2 +- docs/reference/activation_tanh.html | 2 +- docs/reference/active_property.html | 2 +- docs/reference/adapt.html | 2 +- docs/reference/application_convnext_base.html | 2 +- .../reference/application_convnext_large.html | 2 +- .../reference/application_convnext_small.html | 2 +- docs/reference/application_convnext_tiny.html | 2 +- .../application_convnext_xlarge.html | 2 +- docs/reference/application_densenet121.html | 2 +- docs/reference/application_densenet169.html | 2 +- docs/reference/application_densenet201.html | 2 +- .../application_efficientnet_b0.html | 2 +- .../application_efficientnet_b1.html | 2 +- .../application_efficientnet_b2.html | 2 +- .../application_efficientnet_b3.html | 2 +- .../application_efficientnet_b4.html | 2 +- .../application_efficientnet_b5.html | 2 +- .../application_efficientnet_b6.html | 2 +- .../application_efficientnet_b7.html | 2 +- .../application_efficientnet_v2b0.html | 2 +- .../application_efficientnet_v2b1.html | 2 +- .../application_efficientnet_v2b2.html | 2 +- .../application_efficientnet_v2b3.html | 2 +- .../application_efficientnet_v2l.html | 2 +- .../application_efficientnet_v2m.html | 2 +- .../application_efficientnet_v2s.html | 2 +- .../application_inception_resnet_v2.html | 2 +- docs/reference/application_inception_v3.html | 2 +- docs/reference/application_mobilenet.html | 2 +- docs/reference/application_mobilenet_v2.html | 2 +- .../application_mobilenet_v3_large.html | 4 +- .../application_mobilenet_v3_small.html | 4 +- docs/reference/application_nasnetlarge.html | 2 +- docs/reference/application_nasnetmobile.html | 2 +- docs/reference/application_resnet101.html | 2 +- docs/reference/application_resnet101_v2.html | 2 +- docs/reference/application_resnet152.html | 2 +- docs/reference/application_resnet152_v2.html | 2 +- docs/reference/application_resnet50.html | 2 +- docs/reference/application_resnet50_v2.html | 2 +- docs/reference/application_vgg16.html | 2 +- docs/reference/application_vgg19.html | 2 +- docs/reference/application_xception.html | 2 +- .../audio_dataset_from_directory.html | 4 +- docs/reference/bidirectional.html | 2 +- .../callback_backup_and_restore.html | 2 +- docs/reference/callback_csv_logger.html | 2 +- docs/reference/callback_early_stopping.html | 2 +- docs/reference/callback_lambda.html | 2 +- .../callback_learning_rate_scheduler.html | 2 +- docs/reference/callback_model_checkpoint.html | 2 +- .../callback_reduce_lr_on_plateau.html | 2 +- docs/reference/callback_remote_monitor.html | 2 +- docs/reference/callback_swap_ema_weights.html | 2 +- docs/reference/callback_tensorboard.html | 2 +- docs/reference/callback_terminate_on_nan.html | 2 +- docs/reference/clear_session.html | 4 +- docs/reference/clone_model.html | 2 +- .../compile.keras.src.models.model.Model.html | 2 +- docs/reference/config_backend.html | 2 +- .../config_disable_interactive_logging.html | 4 +- .../config_disable_traceback_filtering.html | 4 +- docs/reference/config_dtype_policy.html | 2 +- .../config_enable_interactive_logging.html | 4 +- .../config_enable_traceback_filtering.html | 4 +- .../config_enable_unsafe_deserialization.html | 2 +- docs/reference/config_epsilon.html | 2 +- docs/reference/config_floatx.html | 2 +- docs/reference/config_image_data_format.html | 2 +- ...config_is_interactive_logging_enabled.html | 4 +- ...config_is_traceback_filtering_enabled.html | 4 +- docs/reference/config_set_backend.html | 2 +- docs/reference/config_set_dtype_policy.html | 2 +- docs/reference/config_set_epsilon.html | 2 +- docs/reference/config_set_floatx.html | 2 +- .../config_set_image_data_format.html | 2 +- docs/reference/constraint_maxnorm.html | 2 +- docs/reference/constraint_minmaxnorm.html | 2 +- docs/reference/constraint_nonneg.html | 2 +- docs/reference/constraint_unitnorm.html | 2 +- docs/reference/count_params.html | 2 +- docs/reference/custom_metric.html | 2 +- docs/reference/dataset_boston_housing.html | 2 +- docs/reference/dataset_cifar10.html | 2 +- docs/reference/dataset_cifar100.html | 2 +- docs/reference/dataset_fashion_mnist.html | 2 +- docs/reference/dataset_imdb.html | 2 +- docs/reference/dataset_mnist.html | 2 +- docs/reference/dataset_reuters.html | 2 +- docs/reference/deserialize_keras_object.html | 2 +- ...evaluate.keras.src.models.model.Model.html | 2 +- ...vedmodel.keras.src.models.model.Model.html | 2 +- .../fit.keras.src.models.model.Model.html | 2 +- docs/reference/freeze_weights.html | 2 +- docs/reference/get_config.html | 2 +- docs/reference/get_custom_objects.html | 2 +- docs/reference/get_file.html | 4 +- docs/reference/get_layer.html | 2 +- docs/reference/get_registered_name.html | 2 +- docs/reference/get_registered_object.html | 2 +- docs/reference/get_source_inputs.html | 4 +- docs/reference/get_weights.html | 2 +- docs/reference/grapes-py_class-grapes.html | 2 +- docs/reference/grapes-set-active-grapes.html | 2 +- docs/reference/image_array_save.html | 4 +- .../image_dataset_from_directory.html | 4 +- docs/reference/image_from_array.html | 4 +- docs/reference/image_load.html | 4 +- docs/reference/image_smart_resize.html | 4 +- docs/reference/image_to_array.html | 4 +- .../imagenet_decode_predictions.html | 2 +- docs/reference/imagenet_preprocess_input.html | 2 +- docs/reference/index.html | 12 +- docs/reference/initializer_constant.html | 2 +- docs/reference/initializer_glorot_normal.html | 2 +- .../reference/initializer_glorot_uniform.html | 2 +- docs/reference/initializer_he_normal.html | 2 +- docs/reference/initializer_he_uniform.html | 2 +- docs/reference/initializer_identity.html | 2 +- docs/reference/initializer_lecun_normal.html | 2 +- docs/reference/initializer_lecun_uniform.html | 2 +- docs/reference/initializer_ones.html | 2 +- docs/reference/initializer_orthogonal.html | 2 +- docs/reference/initializer_random_normal.html | 2 +- .../reference/initializer_random_uniform.html | 2 +- .../initializer_truncated_normal.html | 2 +- .../initializer_variance_scaling.html | 2 +- docs/reference/initializer_zeros.html | 2 +- docs/reference/install_keras.html | 2 +- docs/reference/keras.html | 2 +- docs/reference/keras3-package.html | 2 +- docs/reference/keras_input.html | 2 +- docs/reference/keras_model.html | 2 +- docs/reference/keras_model_sequential.html | 2 +- docs/reference/layer_activation.html | 2 +- docs/reference/layer_activation_elu.html | 2 +- .../layer_activation_leaky_relu.html | 2 +- .../layer_activation_parametric_relu.html | 2 +- docs/reference/layer_activation_relu.html | 2 +- docs/reference/layer_activation_softmax.html | 2 +- .../layer_activity_regularization.html | 2 +- docs/reference/layer_add.html | 2 +- docs/reference/layer_additive_attention.html | 2 +- docs/reference/layer_alpha_dropout.html | 2 +- docs/reference/layer_attention.html | 2 +- docs/reference/layer_average.html | 2 +- docs/reference/layer_average_pooling_1d.html | 2 +- docs/reference/layer_average_pooling_2d.html | 2 +- docs/reference/layer_average_pooling_3d.html | 2 +- docs/reference/layer_batch_normalization.html | 2 +- docs/reference/layer_bidirectional.html | 2 +- docs/reference/layer_category_encoding.html | 2 +- docs/reference/layer_center_crop.html | 2 +- docs/reference/layer_concatenate.html | 2 +- docs/reference/layer_conv_1d.html | 2 +- docs/reference/layer_conv_1d_transpose.html | 2 +- docs/reference/layer_conv_2d.html | 2 +- docs/reference/layer_conv_2d_transpose.html | 2 +- docs/reference/layer_conv_3d.html | 2 +- docs/reference/layer_conv_3d_transpose.html | 2 +- docs/reference/layer_conv_lstm_1d.html | 2 +- docs/reference/layer_conv_lstm_2d.html | 2 +- docs/reference/layer_conv_lstm_3d.html | 2 +- docs/reference/layer_cropping_1d.html | 2 +- docs/reference/layer_cropping_2d.html | 2 +- docs/reference/layer_cropping_3d.html | 2 +- docs/reference/layer_dense.html | 2 +- docs/reference/layer_depthwise_conv_1d.html | 2 +- docs/reference/layer_depthwise_conv_2d.html | 2 +- docs/reference/layer_discretization.html | 2 +- docs/reference/layer_dot.html | 2 +- docs/reference/layer_dropout.html | 2 +- docs/reference/layer_einsum_dense.html | 2 +- docs/reference/layer_embedding.html | 2 +- docs/reference/layer_feature_space.html | 4 +- docs/reference/layer_flatten.html | 2 +- docs/reference/layer_flax_module_wrapper.html | 2 +- docs/reference/layer_gaussian_dropout.html | 2 +- docs/reference/layer_gaussian_noise.html | 2 +- .../layer_global_average_pooling_1d.html | 2 +- .../layer_global_average_pooling_2d.html | 2 +- .../layer_global_average_pooling_3d.html | 2 +- .../layer_global_max_pooling_1d.html | 2 +- .../layer_global_max_pooling_2d.html | 2 +- .../layer_global_max_pooling_3d.html | 2 +- docs/reference/layer_group_normalization.html | 2 +- .../layer_group_query_attention.html | 2 +- docs/reference/layer_gru.html | 2 +- docs/reference/layer_hashed_crossing.html | 2 +- docs/reference/layer_hashing.html | 2 +- docs/reference/layer_identity.html | 2 +- docs/reference/layer_input.html | 2 +- docs/reference/layer_integer_lookup.html | 2 +- docs/reference/layer_jax_model_wrapper.html | 2 +- docs/reference/layer_lambda.html | 2 +- docs/reference/layer_layer_normalization.html | 2 +- docs/reference/layer_lstm.html | 2 +- docs/reference/layer_masking.html | 2 +- docs/reference/layer_max_pooling_1d.html | 2 +- docs/reference/layer_max_pooling_2d.html | 2 +- docs/reference/layer_max_pooling_3d.html | 2 +- docs/reference/layer_maximum.html | 2 +- docs/reference/layer_mel_spectrogram.html | 2 +- docs/reference/layer_minimum.html | 2 +- .../reference/layer_multi_head_attention.html | 2 +- docs/reference/layer_multiply.html | 2 +- docs/reference/layer_normalization.html | 2 +- docs/reference/layer_permute.html | 2 +- docs/reference/layer_random_brightness.html | 2 +- docs/reference/layer_random_contrast.html | 2 +- docs/reference/layer_random_crop.html | 2 +- docs/reference/layer_random_flip.html | 2 +- docs/reference/layer_random_rotation.html | 2 +- docs/reference/layer_random_translation.html | 2 +- docs/reference/layer_random_zoom.html | 2 +- docs/reference/layer_repeat_vector.html | 2 +- docs/reference/layer_rescaling.html | 2 +- docs/reference/layer_reshape.html | 2 +- docs/reference/layer_resizing.html | 2 +- docs/reference/layer_rnn.html | 2 +- docs/reference/layer_separable_conv_1d.html | 2 +- docs/reference/layer_separable_conv_2d.html | 2 +- docs/reference/layer_simple_rnn.html | 2 +- docs/reference/layer_spatial_dropout_1d.html | 2 +- docs/reference/layer_spatial_dropout_2d.html | 2 +- docs/reference/layer_spatial_dropout_3d.html | 2 +- .../layer_spectral_normalization.html | 2 +- docs/reference/layer_string_lookup.html | 2 +- docs/reference/layer_subtract.html | 2 +- docs/reference/layer_text_vectorization.html | 2 +- docs/reference/layer_tfsm.html | 6 +- docs/reference/layer_time_distributed.html | 2 +- .../reference/layer_torch_module_wrapper.html | 2 +- docs/reference/layer_unit_normalization.html | 2 +- docs/reference/layer_upsampling_1d.html | 2 +- docs/reference/layer_upsampling_2d.html | 2 +- docs/reference/layer_upsampling_3d.html | 2 +- docs/reference/layer_zero_padding_1d.html | 2 +- docs/reference/layer_zero_padding_2d.html | 2 +- docs/reference/layer_zero_padding_3d.html | 2 +- .../learning_rate_schedule_cosine_decay.html | 4 +- ...g_rate_schedule_cosine_decay_restarts.html | 2 +- ...rning_rate_schedule_exponential_decay.html | 2 +- ...ning_rate_schedule_inverse_time_decay.html | 2 +- ...ate_schedule_piecewise_constant_decay.html | 2 +- ...arning_rate_schedule_polynomial_decay.html | 2 +- docs/reference/load_model.html | 2 +- docs/reference/load_model_weights.html | 2 +- docs/reference/loss_binary_crossentropy.html | 2 +- .../loss_binary_focal_crossentropy.html | 10 +- .../loss_categorical_crossentropy.html | 2 +- .../loss_categorical_focal_crossentropy.html | 4 +- docs/reference/loss_categorical_hinge.html | 2 +- docs/reference/loss_cosine_similarity.html | 2 +- docs/reference/loss_ctc.html | 2 +- docs/reference/loss_dice.html | 2 +- docs/reference/loss_hinge.html | 2 +- docs/reference/loss_huber.html | 2 +- docs/reference/loss_kl_divergence.html | 2 +- docs/reference/loss_log_cosh.html | 2 +- docs/reference/loss_mean_absolute_error.html | 2 +- .../loss_mean_absolute_percentage_error.html | 2 +- docs/reference/loss_mean_squared_error.html | 2 +- .../loss_mean_squared_logarithmic_error.html | 2 +- docs/reference/loss_poisson.html | 2 +- .../loss_sparse_categorical_crossentropy.html | 2 +- docs/reference/loss_squared_hinge.html | 2 +- docs/reference/loss_tversky.html | 2 +- docs/reference/mark_active.html | 2 +- docs/reference/metric_auc.html | 2 +- docs/reference/metric_binary_accuracy.html | 2 +- .../reference/metric_binary_crossentropy.html | 2 +- .../metric_binary_focal_crossentropy.html | 4 +- docs/reference/metric_binary_iou.html | 2 +- .../metric_categorical_accuracy.html | 2 +- .../metric_categorical_crossentropy.html | 2 +- ...metric_categorical_focal_crossentropy.html | 2 +- docs/reference/metric_categorical_hinge.html | 2 +- docs/reference/metric_cosine_similarity.html | 2 +- docs/reference/metric_f1_score.html | 2 +- docs/reference/metric_false_negatives.html | 2 +- docs/reference/metric_false_positives.html | 2 +- docs/reference/metric_fbeta_score.html | 2 +- docs/reference/metric_hinge.html | 2 +- docs/reference/metric_huber.html | 2 +- docs/reference/metric_iou.html | 2 +- docs/reference/metric_kl_divergence.html | 2 +- docs/reference/metric_log_cosh.html | 2 +- docs/reference/metric_log_cosh_error.html | 2 +- docs/reference/metric_mean.html | 2 +- .../reference/metric_mean_absolute_error.html | 2 +- ...metric_mean_absolute_percentage_error.html | 2 +- docs/reference/metric_mean_iou.html | 2 +- docs/reference/metric_mean_squared_error.html | 2 +- ...metric_mean_squared_logarithmic_error.html | 2 +- docs/reference/metric_mean_wrapper.html | 2 +- docs/reference/metric_one_hot_iou.html | 2 +- docs/reference/metric_one_hot_mean_iou.html | 2 +- docs/reference/metric_poisson.html | 2 +- docs/reference/metric_precision.html | 2 +- .../reference/metric_precision_at_recall.html | 2 +- docs/reference/metric_r2_score.html | 2 +- docs/reference/metric_recall.html | 2 +- .../reference/metric_recall_at_precision.html | 2 +- .../metric_root_mean_squared_error.html | 2 +- .../metric_sensitivity_at_specificity.html | 2 +- .../metric_sparse_categorical_accuracy.html | 2 +- ...etric_sparse_categorical_crossentropy.html | 2 +- ...ric_sparse_top_k_categorical_accuracy.html | 2 +- .../metric_specificity_at_sensitivity.html | 2 +- docs/reference/metric_squared_hinge.html | 2 +- docs/reference/metric_sum.html | 2 +- .../metric_top_k_categorical_accuracy.html | 2 +- docs/reference/metric_true_negatives.html | 2 +- docs/reference/metric_true_positives.html | 2 +- docs/reference/multi-assign.html | 2 +- docs/reference/new_callback_class.html | 2 +- docs/reference/new_layer_class.html | 2 +- .../new_learning_rate_schedule_class.html | 2 +- docs/reference/new_loss_class.html | 2 +- docs/reference/new_metric_class.html | 2 +- docs/reference/new_model_class.html | 2 +- docs/reference/normalize.html | 4 +- docs/reference/op_abs.html | 2 +- docs/reference/op_add.html | 2 +- docs/reference/op_all.html | 2 +- docs/reference/op_any.html | 2 +- docs/reference/op_append.html | 2 +- docs/reference/op_arange.html | 2 +- docs/reference/op_arccos.html | 2 +- docs/reference/op_arccosh.html | 2 +- docs/reference/op_arcsin.html | 2 +- docs/reference/op_arcsinh.html | 2 +- docs/reference/op_arctan.html | 2 +- docs/reference/op_arctan2.html | 2 +- docs/reference/op_arctanh.html | 2 +- docs/reference/op_argmax.html | 2 +- docs/reference/op_argmin.html | 2 +- docs/reference/op_argsort.html | 2 +- docs/reference/op_array.html | 2 +- docs/reference/op_average.html | 2 +- docs/reference/op_average_pool.html | 2 +- docs/reference/op_batch_normalization.html | 2 +- docs/reference/op_binary_crossentropy.html | 2 +- docs/reference/op_bincount.html | 2 +- docs/reference/op_broadcast_to.html | 2 +- docs/reference/op_cast.html | 2 +- .../op_categorical_crossentropy.html | 2 +- docs/reference/op_ceil.html | 2 +- docs/reference/op_cholesky.html | 2 +- docs/reference/op_clip.html | 2 +- docs/reference/op_concatenate.html | 2 +- docs/reference/op_cond.html | 2 +- docs/reference/op_conj.html | 2 +- docs/reference/op_conv.html | 2 +- docs/reference/op_conv_transpose.html | 2 +- docs/reference/op_convert_to_numpy.html | 2 +- docs/reference/op_convert_to_tensor.html | 2 +- docs/reference/op_copy.html | 2 +- docs/reference/op_correlate.html | 2 +- docs/reference/op_cos.html | 2 +- docs/reference/op_cosh.html | 2 +- docs/reference/op_count_nonzero.html | 2 +- docs/reference/op_cross.html | 2 +- docs/reference/op_ctc_decode.html | 2 +- docs/reference/op_ctc_loss.html | 2 +- docs/reference/op_cumprod.html | 2 +- docs/reference/op_cumsum.html | 2 +- docs/reference/op_custom_gradient.html | 2 +- docs/reference/op_depthwise_conv.html | 2 +- docs/reference/op_det.html | 2 +- docs/reference/op_diag.html | 2 +- docs/reference/op_diagonal.html | 2 +- docs/reference/op_diff.html | 2 +- docs/reference/op_digitize.html | 2 +- docs/reference/op_divide.html | 2 +- docs/reference/op_divide_no_nan.html | 2 +- docs/reference/op_dot.html | 2 +- docs/reference/op_eig.html | 2 +- docs/reference/op_eigh.html | 2 +- docs/reference/op_einsum.html | 2 +- docs/reference/op_elu.html | 2 +- docs/reference/op_empty.html | 2 +- docs/reference/op_equal.html | 2 +- docs/reference/op_erf.html | 2 +- docs/reference/op_erfinv.html | 2 +- docs/reference/op_exp.html | 2 +- docs/reference/op_expand_dims.html | 2 +- docs/reference/op_expm1.html | 2 +- docs/reference/op_extract_sequences.html | 2 +- docs/reference/op_eye.html | 2 +- docs/reference/op_fft.html | 2 +- docs/reference/op_fft2.html | 2 +- docs/reference/op_flip.html | 2 +- docs/reference/op_floor.html | 2 +- docs/reference/op_floor_divide.html | 2 +- docs/reference/op_fori_loop.html | 2 +- docs/reference/op_full.html | 2 +- docs/reference/op_full_like.html | 2 +- docs/reference/op_gelu.html | 2 +- docs/reference/op_get_item.html | 2 +- docs/reference/op_greater.html | 2 +- docs/reference/op_greater_equal.html | 2 +- docs/reference/op_hard_sigmoid.html | 2 +- docs/reference/op_hard_silu.html | 2 +- docs/reference/op_hstack.html | 2 +- docs/reference/op_identity.html | 2 +- docs/reference/op_imag.html | 2 +- docs/reference/op_image_affine_transform.html | 2 +- docs/reference/op_image_crop.html | 2 +- docs/reference/op_image_extract_patches.html | 2 +- docs/reference/op_image_map_coordinates.html | 2 +- docs/reference/op_image_pad.html | 2 +- docs/reference/op_image_resize.html | 2 +- docs/reference/op_image_rgb_to_grayscale.html | 2 +- docs/reference/op_in_top_k.html | 2 +- docs/reference/op_inv.html | 2 +- docs/reference/op_irfft.html | 2 +- docs/reference/op_is_tensor.html | 2 +- docs/reference/op_isclose.html | 2 +- docs/reference/op_isfinite.html | 2 +- docs/reference/op_isinf.html | 2 +- docs/reference/op_isnan.html | 2 +- docs/reference/op_istft.html | 2 +- docs/reference/op_leaky_relu.html | 2 +- docs/reference/op_less.html | 2 +- docs/reference/op_less_equal.html | 2 +- docs/reference/op_linspace.html | 2 +- docs/reference/op_log.html | 2 +- docs/reference/op_log10.html | 2 +- docs/reference/op_log1p.html | 2 +- docs/reference/op_log2.html | 2 +- docs/reference/op_log_sigmoid.html | 2 +- docs/reference/op_log_softmax.html | 2 +- docs/reference/op_logaddexp.html | 2 +- docs/reference/op_logical_and.html | 2 +- docs/reference/op_logical_not.html | 2 +- docs/reference/op_logical_or.html | 2 +- docs/reference/op_logical_xor.html | 2 +- docs/reference/op_logspace.html | 2 +- docs/reference/op_logsumexp.html | 2 +- docs/reference/op_lu_factor.html | 2 +- docs/reference/op_matmul.html | 2 +- docs/reference/op_max.html | 2 +- docs/reference/op_max_pool.html | 2 +- docs/reference/op_maximum.html | 2 +- docs/reference/op_mean.html | 2 +- docs/reference/op_median.html | 2 +- docs/reference/op_meshgrid.html | 2 +- docs/reference/op_min.html | 2 +- docs/reference/op_minimum.html | 2 +- docs/reference/op_mod.html | 2 +- docs/reference/op_moments.html | 2 +- docs/reference/op_moveaxis.html | 2 +- docs/reference/op_multi_hot.html | 2 +- docs/reference/op_multiply.html | 2 +- docs/reference/op_nan_to_num.html | 2 +- docs/reference/op_ndim.html | 2 +- docs/reference/op_negative.html | 2 +- docs/reference/op_nonzero.html | 2 +- docs/reference/op_norm.html | 2 +- docs/reference/op_normalize.html | 2 +- docs/reference/op_not_equal.html | 2 +- docs/reference/op_one_hot.html | 2 +- docs/reference/op_ones.html | 2 +- docs/reference/op_ones_like.html | 2 +- docs/reference/op_outer.html | 2 +- docs/reference/op_pad.html | 2 +- docs/reference/op_power.html | 2 +- docs/reference/op_prod.html | 2 +- docs/reference/op_psnr.html | 2 +- docs/reference/op_qr.html | 2 +- docs/reference/op_quantile.html | 2 +- docs/reference/op_ravel.html | 2 +- docs/reference/op_real.html | 2 +- docs/reference/op_reciprocal.html | 2 +- docs/reference/op_relu.html | 2 +- docs/reference/op_relu6.html | 2 +- docs/reference/op_repeat.html | 2 +- docs/reference/op_reshape.html | 2 +- docs/reference/op_rfft.html | 2 +- docs/reference/op_roll.html | 2 +- docs/reference/op_round.html | 2 +- docs/reference/op_rsqrt.html | 2 +- docs/reference/op_scatter.html | 2 +- docs/reference/op_scatter_update.html | 2 +- docs/reference/op_segment_max.html | 2 +- docs/reference/op_segment_sum.html | 2 +- docs/reference/op_select.html | 2 +- docs/reference/op_selu.html | 2 +- docs/reference/op_separable_conv.html | 2 +- docs/reference/op_shape.html | 2 +- docs/reference/op_sigmoid.html | 2 +- docs/reference/op_sign.html | 2 +- docs/reference/op_silu.html | 2 +- docs/reference/op_sin.html | 2 +- docs/reference/op_sinh.html | 2 +- docs/reference/op_size.html | 2 +- docs/reference/op_slice.html | 2 +- docs/reference/op_slice_update.html | 2 +- docs/reference/op_slogdet.html | 2 +- docs/reference/op_softmax.html | 2 +- docs/reference/op_softplus.html | 2 +- docs/reference/op_softsign.html | 2 +- docs/reference/op_solve.html | 2 +- docs/reference/op_solve_triangular.html | 2 +- docs/reference/op_sort.html | 2 +- .../op_sparse_categorical_crossentropy.html | 2 +- docs/reference/op_split.html | 2 +- docs/reference/op_sqrt.html | 2 +- docs/reference/op_square.html | 2 +- docs/reference/op_squeeze.html | 2 +- docs/reference/op_stack.html | 2 +- docs/reference/op_std.html | 2 +- docs/reference/op_stft.html | 2 +- docs/reference/op_stop_gradient.html | 2 +- docs/reference/op_subtract.html | 2 +- docs/reference/op_sum.html | 2 +- docs/reference/op_svd.html | 2 +- docs/reference/op_swapaxes.html | 2 +- docs/reference/op_take.html | 2 +- docs/reference/op_take_along_axis.html | 2 +- docs/reference/op_tan.html | 2 +- docs/reference/op_tanh.html | 2 +- docs/reference/op_tensordot.html | 2 +- docs/reference/op_tile.html | 2 +- docs/reference/op_top_k.html | 2 +- docs/reference/op_trace.html | 2 +- docs/reference/op_transpose.html | 2 +- docs/reference/op_tri.html | 2 +- docs/reference/op_tril.html | 2 +- docs/reference/op_triu.html | 2 +- docs/reference/op_unstack.html | 2 +- docs/reference/op_var.html | 2 +- docs/reference/op_vdot.html | 2 +- docs/reference/op_vectorize.html | 2 +- docs/reference/op_vectorized_map.html | 2 +- docs/reference/op_vstack.html | 2 +- docs/reference/op_where.html | 2 +- docs/reference/op_while_loop.html | 2 +- docs/reference/op_zeros.html | 2 +- docs/reference/op_zeros_like.html | 2 +- docs/reference/optimizer_adadelta.html | 2 +- docs/reference/optimizer_adafactor.html | 2 +- docs/reference/optimizer_adagrad.html | 2 +- docs/reference/optimizer_adam.html | 2 +- docs/reference/optimizer_adam_w.html | 2 +- docs/reference/optimizer_adamax.html | 2 +- docs/reference/optimizer_ftrl.html | 2 +- docs/reference/optimizer_lion.html | 2 +- docs/reference/optimizer_loss_scale.html | 2 +- docs/reference/optimizer_nadam.html | 2 +- docs/reference/optimizer_rmsprop.html | 2 +- docs/reference/optimizer_sgd.html | 2 +- docs/reference/pad_sequences.html | 4 +- docs/reference/pipe.html | 2 +- .../plot.keras.src.models.model.Model.html | 2 +- .../plot.keras_training_history.html | 2 +- docs/reference/pop_layer.html | 2 +- .../predict.keras.src.models.model.Model.html | 2 +- docs/reference/predict_on_batch.html | 2 +- docs/reference/process_utils.html | 2 +- docs/reference/quantize_weights.html | 2 +- docs/reference/random_beta.html | 2 +- docs/reference/random_binomial.html | 2 +- docs/reference/random_categorical.html | 2 +- docs/reference/random_dropout.html | 2 +- docs/reference/random_gamma.html | 2 +- docs/reference/random_integer.html | 2 +- docs/reference/random_normal.html | 2 +- docs/reference/random_seed_generator.html | 2 +- docs/reference/random_shuffle.html | 2 +- docs/reference/random_truncated_normal.html | 2 +- docs/reference/random_uniform.html | 2 +- docs/reference/reexports.html | 2 +- .../register_keras_serializable.html | 2 +- docs/reference/regularizer_l1.html | 2 +- docs/reference/regularizer_l1_l2.html | 2 +- docs/reference/regularizer_l2.html | 2 +- docs/reference/regularizer_orthogonal.html | 2 +- docs/reference/reset_state.html | 2 +- docs/reference/rnn_cell_gru.html | 2 +- docs/reference/rnn_cell_lstm.html | 2 +- docs/reference/rnn_cell_simple.html | 2 +- docs/reference/rnn_cells_stack.html | 2 +- docs/reference/save_model.html | 2 +- docs/reference/save_model_config.html | 2 +- docs/reference/save_model_weights.html | 2 +- docs/reference/serialize_keras_object.html | 2 +- docs/reference/set_random_seed.html | 4 +- docs/reference/shape.html | 23 +- docs/reference/split_dataset.html | 4 +- .../summary.keras.src.models.model.Model.html | 2 +- docs/reference/test_on_batch.html | 2 +- .../text_dataset_from_directory.html | 4 +- docs/reference/time_distributed.html | 2 +- .../timeseries_dataset_from_array.html | 4 +- docs/reference/to_categorical.html | 4 +- docs/reference/train_on_batch.html | 2 +- docs/reference/use_backend.html | 2 +- docs/reference/with_custom_object_scope.html | 2 +- docs/reference/zip_lists.html | 5 +- docs/search.json | 2 +- 674 files changed, 1613 insertions(+), 1388 deletions(-) diff --git a/docs/404.html b/docs/404.html index e10bb8028..1c8c9e7f6 100644 --- a/docs/404.html +++ b/docs/404.html @@ -31,7 +31,7 @@
      keras3 - 0.2.0.9000 + 1.0.0

    &*p>>HXP*R&2zTfLNksPr_NdL zd>t7jKQSaZf;-f+uBjLhshtVfJ5a8m8M;GJCFeoHMUZ>4suC05lGnf8NH$6aIyd7drF~f5 z%e(2jJAA%?KEREY=Q_aDJZq<|oxGZfkBU|E@94aUC!3uD88VELn952J^e2jso|PGr zUYk$UketJs+(6b2uE6BC&5lE zB4QPLmrAJ(2V}xVRkKU23G%}pL5m_u67rr$_v{ji?w~iOt4XL#jtKIQ;}(+rSL|nU z@jl&?3U}l)wFO59hl9rqj8NG*1d&Ma3~32kiW~bsu}kPp@*@^#u~1>~`Q*DaN`0rw zKiu`}`+Jne?;b$x<Uk=p(sg1VZ zw8wj*2kj`I<-gV2mco`im)A?=qgGF;rEF!064HVxW9;jubBMw+z_e6k_Q^q}a5kE1 z$CXiT_FD*ae)3)KJvcTtm(_p-XX^cHk|0vD-T4u_B`PTTtOS>(YOTZ7(pvIoVM%f& zLyH?glDAHTLJ$Vt*rq_x(lseoXDCzHL2{o!-owF6^ZH#$M&L-luMqqD`0<5KrxUgc z=iu`)e%z1^(+=5S{-OmR4I?8ZrQ|2=RbIf|hzPyvCOJ>VKkM~wf2YAXB7JFjA2V6s zpN_hw)wsw-(9O6Mvy@4A4(IRzmx9KU@%(>*;Xndj1!z$3iwy}pvH)Ztjo$J{E4Y69 zSnX5OWw)bK1obuM5)Pp0xi0yA&bM_^3Wh^VnwZFx+!<48Gs(L64d8wtR_8nj92Rs>~DYcw^&}siwaeH zYb0Xt@23V`>5I@8sSB<#j59jM@w(>*n?(x}`+I}J+<_kqYg+%^hE&p%Y@)lVONEb# zleOs6-ckRmvT(J4O_zxWsXGI12@v9?eM|=z-hzSLv)!o@uM1r|jJ8J}1|c zdN*z}jx1sUh2!@9H5jAH#AZ0%%0652Ue@6P( z_}eX5R0KnV#pNDa2>kmLx(?$REHMnze(FGOMagM@0P7o%JI0HDYC>fqU9GV)lGl=| z&nXE1hsAvQ1HU1c)~R^mKx%84fobS=oe;HvnmwVN)%pc$&DANs6Nl!qI_Ru+Ag0K= z>CtT-_X`X!`yA}+t0P6MFhFPZL#q8aP*^ZJsrDvHhB>3v^u5E01_dL{V0w05TLbhx zh1n&s84!J!ssLxtkNDFQD6L5KJuP7kR5J4C6xNb($ag3y_+ZNlxu(2f_t6S3zL9&2(vcx&*nEPHmz<;rIwWS9z3PiFUEjJ~4rgZf5F;yw zxu7*(CMVI*&?z@ltMSARCx5J7akL`Ncm)g_gUTePj~^T<5qVgQ<+jY;OqylxSL&{A z&sB>txS_QKO$k@+835KggW?%EcV0AV2lK5}RBb#MRGFF}rvJ8Eb~{^}Z&em;!5Jp= z1_cSO=Xd$lT^Devf;^Ym>-S)t`lJ|(t0xa|lhwbALr@#ej?I)6KZX#ve~WSv^a$&- z#@AYEeTGR4P`@ww&jZ!?CEZbz8(KWFdS>w(IQCLnI{&jYV2-sou2cK-HLs4lGLzrK zl=RB#Uxu7W{OC6=6t2p;FawOxxHc|0YV$$p7VVR-VPgamokhyHGg_gxBSH9W#$bCc zKTA345WCPODXGAXv2wOHk=`D{thAr0lgCdto$ki=Gf)luWS*I^=w3d80||eR(J3O{ zyHfb>NPG&s03M{}dQo$yJg|?~3()?RNA~HYv`Izz1m9HxF;?d8b%f4qmBzNT) zO0La@+OXZ-JVGK-!4S0hrBwRi2sdJt#*6U-zRyAk=;_2w<)zLu!A;U{H|#~H^1gZ5 z<)*l<4gnqy<}1`%)m;|$`p6vEp&dTb5{KgVEPPQIz@pCrTX=Y36fdeX$&Y6Qql@5`7o;Bqm+f~-so1E$1=CbZ zs2%}k2T?B#T63AWM|#Eduzo!^7rK=D>>?82LYDTaE4xl*BiAbyVRPQ$!=y`44+&>P zJNkbaLCY_usR?2a#&%|055Pq81~^E!HxXxWqocFLUUnk zl$FIudzGL-BpctYAB!a!=6r{iC=p~iae2ogtM!l9XX}T(@76*4;7~Bh8iSJUsV!5O zt2u4mKO_d1QuQ{9Gc^r4+PFqkU$O?8s%INCz0<{}hsu^M(P_ z-a!C!wO>+sytT86^=HSZVdgtQkg_2mq6Yxlr>tD0pUJpA5syZ6U%JoT3N1xAeIY1U zAZg3${S1TL-liLNRr-!Y)^2QFjBg>9I4~Qg8(re~#0E*oUvCgEYIS52h%s69lQ?yL zs`YfH%jL@2>zbhB5fr$x({HT>egHZSQ5iKvyqW&#kl*PO>HjT|t}f}_!zOB#&mY*B zl^4;9W=69&L-ps~L(UX3P$+%?VtG9bkREE2Pd5|y(!bV$HzI)uz^G<>@=SMHJsrys zF@eJvVvSwe9Qkt)Rm@pTCfSXkpKTC;&*IhQ4Z*QH$V4tKK(OKq`MI$71n6laMSXRb z$)h?ulet`pCl^%t`e#Q8H8ieK%~|Vl!3h-c_q=^r4~@+c0=!Whmq9UL{+hfxhJ|^N zgn1|gi=~i*@nd28+o_X<02Z%t(Ue5Zu*J##5g9$HFsB=&ok93s3!FL#s2V>N|F$IQ zXY!Be++QM0l1`hZQ=i~nz&t1~>-%#5Xdp6mx!l_dBGr#A$D$p%C3~m}8l&I6NHNbb zEsi^mllWn|!$-JS%;Mv&ZOmyAusBgv`#Oc^aIqnORrgFQ=bk)#oS$mox-pbRIpNzd z(-!VxXtcN=?z=&@dX-_W-NC$5=G)Jj@;pftNLNJzthhrE5_Zv5o$6J`8bLhA z&sE(ymgM+SuI;+Ek8qMJa%QsR9<`e@^q2rEM-QGg1odVUD#drv0ckR071;U;_Nybe z@AK|>T&*u;^Iv@n%fhHw*4HL!OS;Dr(y+A-`LJ-fn}WaTKo-u{fVcS_J6OEB9fzUD z^ppw>6S-(}P?%U8rZyP7!^rOlPPiTz3Owl^E+;M-QrS^6uWJvwpxQ3;%aDojWPycOSxF&blE{U)qN3st>~f;TQx{@6Q)@<)!n`ME-_v72UbY;c_@ZQX<(J0)_2P2vSpZR`~dqdi%OptmYoB zKlQ#9D@);QTuVA>obf$gv5&)k-oI0N5@z6R+nW4gkct?NSs?gO4siZse}!`YXkYvD z$eLDec!<7~>@K>J&*3-1%~<}PNQsgp04A%{_Z_00DD}lKyFC)p{R8jVa`&Bq$$Y3( zkQucpHGr#kgPudE)oP=595haP6QRy_-xuyA$F^>I;MkXJO`}E07wS^Rtj4zcKo8df z%?4XvwMSJ0&hE`TG<7W)(AlBWW&Es4t?*Mpadvldc>;PTOi1Fe8t(*v_^txjL(5cO zuKD@dKWG31)I&ZTjQivwyI^|6-Z+_B48tdcC8MiSed@&#$Nw_5(oH3OLbs%)B`2#Z zY2&3(h`Pl`Em6DuIr==Cr?W|$M3nJ?P(;1>v*!-=&*kO1b`z8<3FQ)vPr~{ zD0euk9x#KFp|FW}IAcA1jxr(%m}qENSV@a@H*m^~mSSS_Lm@k#M`M7e!{^Cy;OgT2 z1f48G{cIv}kl)~`km9M|+{p#9^e@1es38{bGsDJ3NL znjPjTG7tO~nH$ZZjBX?>n6a@j8$Gaoq?Tq(Jw>6)zeY;yMGrv}7FD0ypYP70P* zUUpUdazm-Gkh$i-L!nk4-S0uzTo(S?kjuqPK9rV6J{;XwICw<<0qbuW%G;3j*EOf* z{eW~yIbomDs1;m^y{d6IEvV)f-R-f6$(-;@&lDG41%#h zuS4CjKXEM2HE@{qp0A2&LeZ7qwUO=&x0At{Me-Vl(jVu64LS_>?xwNh{595~+4r+Q zH0R@9dBt~szI}AitwM({XGkqK5gyAfH7a!95t@^jB4TAR$KBo0#9TIMc8eSp#qk>h z9U>Jq&1GEbT-%;KsWdyWq{oSbxH%76JC^+AJn0-_Itn2@d6#oHRdh~ep{;M8x@HAtvi3vL3PjGxp zS!Q$BS+~G|3aZVdmFZ8jLx^-2@aze$Z}ak$K((=gl!Km;YFI{a3esl1QDr7PRf5Hc zjgc0ziS;7bPU@p;18g0n;*V-1Y|JmLQ!MaOCcZou$%^X~jwd*k!rnJM4Xw)hl)Gs; z;mn^GoVnv%OtuwcG325NZ)Xgg5~>1;k>{`^(3p#V+KRK!+sB_-FN!02@uRr1W0|SpE`GfF+7j}eGry0=M`W-PdwXDD zU_n6vW~q&}-A^kdRw?CM<^V41oy6IOo0yR@n^UdU-JxKeNul?L)22z%jSlYz;OJvn zkA6ii;f-$5lqts2q$SB@7d>$iB8SI-*$o$TFb+M->yJPmvd*@SECVso-hc)~t2#^UihxNrXTQBmdPnQd(WNY&=eyvrqt2#*p6$#^8J!A>u( z*{zPZ8;KgAj2S}8H0g$4`SS5P@OS7R3O6*Uq>Ltp+;OzN-6_=}WzmcQzxHr>hWFnC zGf%w?o{!SYBC;_m?_;Sm)YifjwhycE%mhda{pL zq9=HWrA&hu#8zH=Q#EBL(Y7jN>(Iz8t?+)vcBf+))KPR3`m;QL&e*QKsRW}x6(M*5 z4}G>=+RZPWxX!PXvX^LfyXnPk1i_xNmLzoP$INWmrV za{~G35*jFJ=IiC8Dr#-B{0*eB zbF>9`xfw02ZTM@}J`rmZj4Ti65I1A9#{tYo5<#!~2TJ#-_nYVSTi7O;iL52DOjmTK zfg7wK>zh7O&}2;9QAhov)3-WDdk*7~yG&kFALtPetS`8U9gadJmxE;VKvy#2Rm}em z7xBJXZYKNOdCa~fYj6Ab(p$o;S{Y!0jOtZ79!a>>N{?i|$9n<}TM8Jf$fN!bRcF~2 z$JRhu+}+(ZNN@=5?h@QXaCa@--QC@S2MF$(;4Z--KnU(Ib>DgB!}K5M?&?$3NA_Mz zh|#=zZlJRskz3*3;MK{0yQx#s(|@*?-@752a%3OH!UPrT=e1nDZrAzQJif{IoAZqA zx7+KAWfkDBfe^6!n}{n+Ysd06Bg}mh%f|QK@ZIlP)Yv~cqK5%_wLe*t5R0p&iA!j1 z9q+Le3>@*aTt`iSM;fh1_XTi5`umAIPVr-oC+qHSf9jqk{jVR7wt*)EI)$Tna-Dg# zEFzN{7GZO)p|dwbC;7@8NXzCjW|pZ<0|}Qq7{CsJ)qWpOf34?kY?|8k2w#f-BpOYB zLoF!M9$X_gEYL<{V?y?cVc54&4k9VJh`I#n9sbItwcO28o$Wr^4~a-%IGLlrcQouq z2z=5aO&j8__&7P>OkuDUTz6z-u+q~&h1aLkg4oJ~$6EGEtV{hx*cvrlL)6X#4Bi%k zezvw+2x9V2`mqu}tIZ!}BT!MClDR!%SgBa+CwU`%|8gfiZ1;5e`*{97OA^wL{6qIM zrizmP!-w#9)<|B70xwQ=Q*0|+2uC<+t(wdZnFAi?H7~Eh;A}V1z{c0%BT9HW$wM(~ zb*U_?gNCta#AFGKor*HGuP$Q*9i!ZrWE% zO#|N2QOI9idU|MRVL>*54+dgU!o~vQJ|i_qL36fi5#G_D+wE;CswCp>e5=*=DE_~S z_g*Rj zEO)^AKe}@vvWAMBrZi!@$WJ3N4D%<&2;|!5O1r-)I{#6%yf=A&qEX!!-(I%J$=om_T;5Tw(T}uRbL};)RN|dr^SX)6N?S`&+gNgPgm+A^cbzrkU3sWpwkfna&1~a<5RHU+JCZ0 zlxuEqb_yeyx8yfa?Mwi=pls6Ls<@GP3%Z^o>z%eldIG+_AEqJe$A8;Sk%HdiQN135j^yS^gXh?uBaP&7+ zC0bI|*6R1zE?&DU`lQq?0IAbn1z0a{be4Bq3*g`0+s~|My4evYBf^ zoT$854Y&iN>EE_MBGu#iFUP+rb`MumRwD4&?sEC2Ux;Kx8n&YF82u$@XIhnNb2kLL zUZKSD`B&C~@d+ITIdzPhRJ7}12E$Lnau%fF-Ih*vK4zK?2{n0PNo{RBP~FGDLxTSr zEER(s3v|DKIn9y~SiX0cD0huvIz4Lncy?~Qwz;ONmYGIE`rF1LG8U@i03~mL!?ttz zW9?-4*9d%m1olsfmxY`k#r6%*s!VIBSnRmn-OY&;fW)EP=yX`u8szz6=#APq6ftaE zNj1umn=CYZf^f-~!{(ff^Ui-av>d4~FSixioAjEJwbGxih`D{DCD_Ia_V0Eh(a*9uW}~E-5TF-5Thj-Ml{H(#*hZg8A3q z42#Khluie~b~5SG{N$y;iLH(yW27brYm#<+Ush95QSr;|E~c|b>>Fl1QKM}zP*PD2>MxmC$Kt%~)tnt|91wdF zhwKN2d6JA_b)51}6WQENT`C10rs)q;xm!LOb``n?*eZZ0vJQTrU=ytNDTK9yjs##G ztB`QNVQglgAFuYnt#u(yORP{sdwV9ck}k?+F0~&5vLiS8u>Js9&o+h=d%$le=a@PT zHnP#ba&V~B`YbYz!s3|7Pe7W|Nz;oP0wBsf4y%aDh2w_?u{6HecrBU^2}Duibx)idV)*mkOmd7J_#q! z>&aaFjg5`&=+R0a>uvSBe5@@M+)btZGQZW-W%YD+@rnF-7};wKz;A!xz62tf&JBQ@ zyHRrB`fYRqTK0-GxNEakP1sJPBHD9J<` zpvNEyau1)8QBZ`Ot}=@zr?5CE4=^yYw=`#zy=QCrf~(1u=t0Ml!s}Yy5YA0V#cTV{O4q9kI zh$ttMV~Qm+eTk>d11&zEVou#)b7NLrBRK^Ndw0*yR&33jA}*XgphW`uTB{a%t{UH7 z*!g}QBosc~oa~JzkpIowY;CGzrk&Z^fLL5EDQtNzb-O&A(cdJvgG7MK%`Q2*-} z>}f$m?nv4Cuk-C0&hN}Z1M_p^Onm&b-&^Wi%NpxDi(4uK!}(Hrlx)A z4Zrh5j;@a0`Wndp{^0{3K1yS;pQed>R5}v&=*tI2^YP`F#ba-qNwHGDWV9tId~u*A zsKEAqf7p5b@!gT_UpS%>rpY7UQUUDZnhgc%uW5GFNxzV}*bW6yJ?0%iMnE$6WR+g5BLJkU9tZs;54A(kIcBN`x!R#79==;rchv1BjfklR! zlPNBctV0kK5tSaE{Q>Ko?9@_#rX0H>H8;CHD$UqT?sQ`Fh& z+d21Akt9$)^3<#&p&B1MPp_C8TY6}TNiWpZB=^Wodz|*2eQ_41$i!NXeZm)_)GeZv z?7B3ywJ&gPzCij&0RbVH2o7OdB8UM|Q4qJ>QQhJ`yaZgu$DsyqAp{Cq9nFfc)G1?Rk-2ki7a?CM}c# z{@t`%c?cF}kheIL z7hs3x>Onmx7DHN-m+iNwWTa%JqpP;SPhM?sdtMz~Rz6=}5$J7$FtG3YTUg30!pR6H zCe8*0f4WYwz$!~(vPmYH$N_r8%z{}komWqZI5K(S9gG52Tqcr^A4Rh?Ku3*~l7`H$ znM_FbrC)amkRJ>RTTcEI=qz-7xlRhI0E|U|(tQzShg19Ugi9`MslYVdK~`cJ?wK~K zmBA4mL+LfODI1V@|C8WF-R;)D^=5c=R8npthZ`MsDR z3tF)p4@B5|ZS~`%XKwr3%X$XLI1=)8yI8uVCdOZ~2>(Pp@k*~WZzU-#sa_e;nqNFt zi&&b-)r-M@GMJ3~XDw%jNhP-fD2H2s!m-z(xRl^bApJ}*0>_pk^NVP_qH(%#0VnV) zVnt6a)F4w4%7U@5&=3Eevg>rD*`c2>_m98^p{E{g8P9TZiNQdTD@#l%>3R?=0mM{$pK{9a%$^Zu94qCPy~Zd%fc^Y`9$Ni9b8&2jr=7xj*_SscXbnbDg{% z_whADdN{J4XW;e}UKOex%Bnd$*U3_1b#*1jHMWGb_yf~KOcm`gH>8G5WcjK9Rav2j zk%oooS8>U}2%&jNbh*u$Ifj?tj1dcGbUT^jA0g4`>cK{IA^htao{e0h0%Q{~Au6ikWDCipLL-lH6+Hq~$_45hE3JO>J@d8CQ530Cd-9_hbL7rPo~mP zmLwl1q1Cfy=~->&a~CiVlxA=SzCn#4mV#`@0ne zK%Zu`q?Xgr)6>$@(F~17c&+9@QhecuuPWmj!}qcJEoElnq$8=RXdtd`;O2$URMN~v z7vL}6T+zJmOmcR9Zf9RxS4T1Ow7P3@$$&x%l@gte|81@5V(0*DPQJffK6VGqM|jj5 z3xA^$+DI#+i{3yOA#stCWQWlaBxFznR0aN7V<)RE@_PP5idRwy{uEsUt!aysfy{i> z633F)m0Q<;s+pP*BHihXq=r(>M>ML;pQuBq_v(Wlzt@ScKcjBMigv|bhz&v*Q5Gx zreYV*vPnb9o$N%W&!bDy(b}HO7*FMuW4epOhkjmmP#5fk9aSi*#SO{vUaU#o#yGno*nK?2G2wE~+JfXZ(cF4CH zBa-=Kh)9{mZ=ocVva=C?Qdr)R->(*R;$6nAbd5JvHKl+Co#umlo^4Jw!W{uBM z9>>iSa5+-mPQr#3WoW1^FS&|GiM;PGSK!~*T8$^T&GJgQX8cB=x>Qz#cK?LQDu(z; ziEk2iKwC0nXh|0d4&G3ux|0r)Rq7j;i zcxd{q&&qv>o`J-?NLgjShh9GWLoWPZO@c^wkLSs;M`(NWr6-Lr-i6bbeRf2ehwvI> z=K9HxbjTqD#FjEP%uw^hnY79UL)3NCH?dQdR&_s>5M0=olVJg8Y%wuPO4H&_o~Ceo zVG(Nf4=d}iTvOI8YAwA%T`>w1V@x&Hg+sio>)vmd9}|As8ER(jPbb25n8JJZs&cVG z#d#PNT4w5e^1<@&uDUDuSK44HrEX-Qa1Y`=O`j066K$B&guqD7QRG=?SdPzODh)h8 z5hE4G-%JsM4|KrHhy1xGG|H^jLSmsBLfR!1nuvi1*`PY>Il1Z-44P%A!b- z*0LS#%k2Sy?ZKk*fY(;=Bu4RS_;dywY`m5R>@vL5S>6@&H>^Rp&Gx%?{$}7kYA94{67l#!?xmJ3xo?z(zbPL?|AE1ttg=jg$w33v_^Yi8f_;@II z>c%$zbn0X@$KQvQzbT7G`PDx6Xp3gl?SAne0ATC=;dXV=T;ErJQe7gbMn1K9FQVNg z6v6^nxKo{~A|y$rDoxL49gbEL-(4-_{KbMi5{P^KjQ_K04APQ7enkDVytwXmvaJ4B zYe2%?+DO{Wt&)5a8zyHG^R}y~Dy+5JRYzKD^p8J2SwN4wiMKz;%#IUMktjqGi>O9+ zKL#2_apHkE@f{RnBtzSRk^+ zY}TH}CN#8k)r^STSS*Xh<>voK+^Vap<|Ec}_DHW>O~F!IXm&#lmvhum(iQtGZy=c{ z;2+iS;?D@;%BG^1wx%OK3O#uF8#}Vhu9?)25c56Q zLYK)wdWbFPj_+cDb7l43k29olCB_4@P%kBByL>}mu*@0h%8m%KwR*oyj)Tq$;ee+X z5CU-VH-B|gq?bczYIsc(o@@AP?5|HMFi>?A*G`F)r4A*!&5TAr;vo-qK75Q>4wFSj z*DIk?SK!I79L|*+>&``+2Uxf|8hUJvT)}d^gO3>s+{iqMOronBIzocVuW#0;y5FCN z(%_j7yw6ajO)s@}DrB&X?J!}SSE}=y>Np!+KxZ}NxA}wX35^g^lzq69mFe`kwyXH@ zI(^jw{8QUH&f0*rm0_GV-BN{+Dqpv^+@3s3a#gNb?Qf3x6dz`b0T>ZtB;-LJhp#Ye z7&>05J#i)zR3(Mtxf8$nf>k+pTQ&t)WU$fuqH?20zle?j@YHGq?zzl_TH|q*8?9FaSXngAMRsgh8i5A zwrFZDE^r41$SEg;!_(|2gj&I!M}1|3)5W0@r9*4-aYBwoE$)^crI+n{YRM852gX`v z*=b5TeK(7Ojy~p#_}<-&r;H|iJTqK0%Ez**KrWGkWR0)d`zjnvN0=F>*!cADJ1j#R z{HuZ&4eR8%A`nL_(x6W&7e#v&z%Sztf!Qct&l@!K8!?PehVEAMscES= zy4Zb1>`^^pQF@x&sn$nl>~4&LI8D5)V(hr(u2g=}L0K|xMuW-!b)csd3S8Hw$9lAzZZ5^G~*Pw1Q&t zFd?sjC~9lgCq&rIZG(Wka6qx|N8az$xeovJcw^u)nD2~C$j>RE%so&Fs1}9Azk~MCtBx*J zIybhf8kgfEK5-lz{jcD>FrSz#jA!=hH%eLAqLRxOqAw|p%T=Tb|Kt881Wa=F_}o48 zZ|X0jf4iubzx=+0@fc%#w*u2d(uYhbXq*!6DWktVwvf0_9*HKA40~UBxHwAw`nJEn z_K8qf+6?<4b-Ei!nGjea<8SahYEwF0u06A5QG#Rl{);%@5o)1%J9V~Ea!r(B_bK3d zTIBt5{^y!xQZ>(jyrN<&1`re!x`ik;SJ=c`wQ{Z@XMBe#nRq_8?*qROTfp`(3L#m27JBtEfs{TbYx_P__k3)u%VY(X#lGlucAFuO7 zp~>mq`#qn5UN@ijZ{|>8KeD(qz?tFFVv)5)UAI2iyhlPaPxx!l>*w(T4q=ABBo-)9 zdF^4tG>L4Kinc{PM4CoPKYxoCC$BB_AP&3we9vF$s-&CVR@X9t>V`SBD&YNI*4Wcl zO+`;RG`Oa!m8`A#8TCL&u(h(s{IUGi(!qeZ-R%vS8aI#7Rfg6HTKKs%GLdX;%7Y-K zLLxQRf`s=H*%ww$HFhegC>gn+O=#yBg&?*aLNxN}LZ{t>BeFJY%^PO)VA1{VLeTkj z6&wX*+ua^J3#PH{yCfgM@!L{9@VP;!R0`s;Z(@S!17pZcU^YMUOuSMKq4FF1*kyMO z9VhtyviX)!HW~gUoRgFC7>fMZ{amxfN=Br8b#EXb9VAr5e0ErKJv%Ofe!e?f>q&Eo z()w-Dfrx1uKY;NsuVJrW6IJSkz4A~;gLFh8br@4OEYX}Ha6bSDh`%AQY_*J5_5NhZhbWGcsEb8OIaF!Q+nvA4(9=V+oTL}2N*6}0$vaA-CrsuglL*52R0 zt6NY=R3@aoMh+LrTmb-uC}W|q!O39!|8VJ!m7*U!9dP$((YBNcX(7a))DEm2O+k^sUky&;_W!$2$#UaQ#H1en%e66`l`CR8j$!-O)V01 zg+Ay;xUzFX$j+?mlSyDK)o8H_n9##N_asri85PDk4rTw{NkWqvdL*YK`^1er7UHfh z{kS3Zs()7i^gR8(U0z0qQ~tZUvW&Rp@>h{m_w8hl(&5g~Po(KJXgIMVR&r+v_L2#o z81A-u){KyFywMbrInSoDyD@>GP6Wmu(#PH2&|kbbr8)WoF@{=oCB;VpdV1cEAA1W6 z*=VQciL6OyaN%5_mUv8bKC#7_+)L1q8B%!|nU3#l0eAa+c(xuiqv7!0gOM3su#xgk zS8iym!cL^mG2YvJFmSvGAh7_R24}(Z<95UI@gs4#r0;szb#cANF?-?< zJLTEj0ICzCV;5Q^7?@%4N|MZU!kl%!j^~Ks@_ig_?l$gaExaQvk!*y}3ME-ZaU?f} z3^#7!5CsIajoRE=#TL1b)OyB05TJuk64d@9gOigXi~;`cSBk|I_cjtNlcSu+UB58Y zEZReZUVlE3!mAi|T;FVd&j2%?+cWceNw5uol#tZyD$Yl15)o3y*ndaAEo`z6qcDCQ z$A)ReT7LO@AUM@a_*C(a3l(vN6V&QZVM9Qz3j#Y`;n6Q#5ZWD`zCO=T1Y7H~1}cPa zlYBGLdF``?mvKKC>qndrm01Ti&|lcsa%vP@)XgL?eIpDu=a}nypN#e}61|3?vF1$x zpOJlTX1(4JO-A7Td^j%U$J0(Qylhry?C&Y(Jm#XA;6fu*k7Nw!!$z;n2v27nTc@_v z^fFI3WhF~ep?K0K<2+Ho+6a-BloS42V*A2ba8q`9+t1-V*Hb3sW(~8!!DE74FTss; z%>_0#b6h;P-JEC*af4}-1AYa~;jw<;BOS4c(IuuB#6Qlt&ta580`%(X$r?mABl8A$ zwQeZvBMBZ<+-}*lRrco@2-pe!GQSLZZvPEGgXe^#+e^!zlQ4Joh8DDwun0uJM=rQ5 zXHZ!1G$D@SGHul1r|a82#S=yCaehQaW?ytU25^lX3-M5uAy;9`(%h%*Ns$3xJdYNh z#m}kxmSq)m^drNPQYi9*LRTh7SQr@^l=8?Mqv%S48<%(>>~b-oH+9O~teQ#lv+;ql}zn9yy2R z22Lp#A*tz*W4>CeFUV#7IlJ_O3eJfK&-lFPs2ul6(zSk=ycS^}u>#xe_YVg@ekFV) z-Dqf_{J2E?Q;o=mcZB>1y$DTAd2curwx7WW$_S5I0zg|e2gE~)xkr@N8Na`3QF_vCZ>E$cbx(VZQ5WNAHs%^GK~9oln+stv@1 zlGR0H+Z@tWq7$}O-32a5_YbXXqqaQw7ZUxuTT1zCl_E|^ph~+L3IDsIN|fV_V~$L{ zRhE-ct{L^40sn3eevp$Jt$Z(U=I11dCeR{Gat>YF5!Dh(PR~e6ra_mb#pT9>hO^%` ztqex(@36Q%57C%BsP1`7`_ka7@t%BlI1wEC0M-TAdT#P%G0_~{J~v|(DAMLB9X$1L8-1O%qq;($PXsrzufYsR-tDC%_2g2X%;g~fQ=mqHJ| z838DL0x1ljN#a_UrT9LaLk{7mj-Y1$yil#)s+LmRF;K{>7SaxpN=euooP=#xq+Lg6 zhC8%|3c5lzn%^;0VSi*#xMIQ6=8rrC^M2~AWamOiW$9HB4BOHKdsD|<$%$&3Qmh(Z zrTJ-+5x?0pX!eGpv==4)S(1#sEE%p*Mzww4kB$ep;X&7?|HV$q(YG!CF8HyWVlQ$9 zYJ1#1UKR59p&Heo(CxsrQd^Kv8$T5~lSqQ96pB7ZbMT%^5j)3}q`4s(Y$DEZ5RoW-J-N>KkER2hJ^+Wqtyx9! zPk-b&8lJLw{(95Pv{Agox(&w>;!)u5^sD2M5D6mDIm|vPDST(KWsG#@)!NMoM87NY z6A9q1>6;4Q$^+3a`~hC?`K0dPx9?2~;H%cS85 zx&W(&YlSL8-5;<6nnTCF#Q>>cad3J^4V@g)kprs4c%|D-o67*ouYo%FGr8hi~2hPYRa-7p23G zr8LRi0uexLq%Vm3yevvsQELKlop_)pL+tsquCGr~0MD&tF9dBK-cc5XCRI&Dw6I^_ z*38PgG%7EXZ3|ToK+ED6_6wy1_r!U+eYViQm{>gJaoBA1eJ|RxWJTNPx_=nXS+DS{ zw_;L3b#8$vaTAlQ&4nx^VwZEqocWdeDP+h887W4tnnh5 zf}$meU1SQCn^W5~()PEEiPvu3cmJjX)G}?g```EPDZocvvGJ~@aOal{FD1Hs5Wj53 z*5+*2vku+^oHgZ*yfvI{G6gjB!yS>}zeRGXKAaa)CkJj%lh=;G@BQhwU04~R<`d>; z9$Ow9-XhxZ9eJ2l&I;lib(uIcavrvS_5E0!3wj@azje>A`{qQg{nR027E|rz{~MIb zqEP}ZWT)hwN`tX0on>|M&z6fz_T&K!Jf^bA^XJP0;F(e|72iN*5-koA6?=UTCHuH; z*)1pw+Uk7YKL`q{S*|zib>2ISI`^-ml?%En%wdRc`0G`paB8iz^Ba#!-kp>h**76D za%gIxx*SWLBNQOYXsFGmoF9+iTVc6LrHu;7b898BtGd~=Y`a2G`Vb1~Sopo>)hiQo z)`=a^DpwI77o@sW!HC%1%3J4+TB|4feba=%&4mV4E>QwoEXc%)q050B6&bA{D>vCR zWgQOpBQUlzD$ml&EEAu$Q2gYA$<``qgmYvJ9|o#)IM)Ew3xr@@+Z^88gN}{6^Bi7K zH|6rU8|ELli0o<3Fe#^2Lb;J$qi&KtP6GIi<*#kci*V5~a`v{AchIm5%*(5YCB~`9 zZxX@VrAaqr( zU7D1#85!zqtWM7G33F1F|9Z>MQ+L(g;)bn;;h@_26>~7@O>$C!$Pik~6o7=mMk0&L zV2+vt2|W=khOUeJssM(Sc}U#Ok-G4w7zWOH&uNzq1n~Kl{grr{~w#bFc_u zBy(ZCp!6OqG~K?5xa^&SeH&1V?z=mauSKdwSoCuwnj++9khDamPL&Ff`&R6iYlm%# z$aJj32S4=Xa34P{ReO<#D@3FrE~x2P(HRvvq4F&I=VIOvFfy*19})VFCm^3kwS^EiDWp^sY42D1J5R-1KDc*X!#bVEI2B`hn^rR40G)=pteG>Quq<(i*>~ zvVwvx+=0_aN8k^k@m9y%abAh-5iZpq((xM%91HeNXN1aim?N%_+rGD;^G8b z@-YI!gNtv5fIqBM+oOKf^KuqM#lW%V3whuC?)j59VnX+x`nP*8mi_*D z`pH(BcB}cPk?(MGK0WV(vY`nEYFM9>0N)d}$gpp-I$O4IVq#L}N~gL>bpwLS2740G zaHQDDOo6Y@`&vi65a_AU&a{6DlV#m`*H%Yo2lJAWO6(yc-dB4!PPn<2DqK!&(v>bV zBMsdB5EJ9a*D6wk ze@G>jhS>Y?QZ$>ta>laj?NlSB`XEi?0H?=iyMGQrs*zGN!gI3^BUHAs8trrq`sSJN zYKQCK)lyap(-oG4kR3`YxE6S9nE0ov-er9YyA@fJ(*ZWVp`1#Zx=O*H9`nhCUw&6` z0^F6|J90Sg+-x=Vut@&iI3@eF`rdj3#{O_6I0~7k&dNR?p*SV;_<>18kB<_d;DNhv z_&U50MhbuTccaak^bC_%>x+~(lu?pY?|Yp+la8;sb8to$)dj^@UQ9Ph7>KmXs(Koh zjh}1WqgYNho#kz99v*jhcQj=Y3Ja^N*<^P!{daE5TcFQ)Dn}SoGi1;&m-+S*kH^6r zBBYAB;gtPHGRdyZR|nH7TGUoxaZet}g+qOJ&~L|3Ju#3{^y_)>^yo#wN>?GBP@gzv zZw1>N_M0Y5ngX2bwURzZueZ9pv$BgD#)>xh4E7&HMge@i%LZnE~&6rAVneq~p+3z%?5;}bKc5V6VT>#3z+qUAw31247ot=Q-Ur(j)a zkHtyxQU}X?g<>^v0xLj_&SVH%H2WSD@y@jF*C01M9&|jiLnO&*hA_wB-1%n={^ixi zEZj~OOh%D>cR%4k8S1@Z=gf!8_otHZhA7ga;_QyP=B?G^^5p+pLNg*A2K)T%)wyOG zZN?rT-T_0bk3xvONmgIS@RL?Y51t8I{m_cSO}QRMk>j54-E?og@J{I zg?aE6kxR?E2!WC@MWcA_>$xf^lSZe)svbe>Vb3bVw&doetk6!4oBj{U4!_mo*vm1x zqREyn4jc9zGbLF=9X$MDBMjup9;2Zr^vZQppB^~Y9~coL-tRz(}ei%(`x_r>Z9 zN*o*Kd`KF-PN&2+ajG$=%jnmke&MK2W>LRkfaXaF$;1|lh%YVdq_LkML|I`&{`kje z#aG43psR+>2UixCf-K)9uwFtz2whedCe@me{$zJ70n2(|;ja=urWMaC!#u zKnHB)vQ)aex(K(A@MqBBf{%H8U}lSULlC7ag^NAe6ojd*f+%6qXz(edu`~*C6q0Vf zUsFL@hd`$(h^<^ldIlYKX;V#L-aCUC9%5 zO5?R1s}?h_!FA`kn7s%ZnA$2}8;k0l#De{*(S^N>xU+Hw`pPi-;-gBm9iHvrlMrUS#F41f zT{t06Ru-BqFD|cd4)-t3O+{iIn3KQN@lC+9ZHz+@z*#9?A|sf-Y7>3}vq$F02)6{S zCZ!cpe7{U&f6_8kAq04OiUV6AVgw%eaHeeZX+`+hbRBIFXB$MT?GNF@>@8^&XeYP? zWblI=z8dzlhzz5$4x+OS3{_Ty+3WniaG}GhgoP-65-&nw3w5s=AF{R2gaH%((=VE7 ze8;;u&^nhh^rDQ#(L`U~`x-?;4OB!cg9b7ID@Ao_;s5T=n*fAGAd#!pRELTy5GLOd zWxWA%fxkCx=aNxX-l~RaQjT3(hbrl4)6g&%^oQ6brHDNkW+tSF3$#D`cC1O*mqC56 zr$K<#uqpPJ!w5>lGMsEGgo@7ZtN^S6@e@l5)eXTrZeVM8Qe+DM&~L1w&4Vypi`Wr{dpPA z#%;+*Xwhw;X4yzADTyByzNKleH{4-bur zs=#NM-N>Udh(kNJq{QTaX#!>*$H<;!NP=FFFMszAuvo^ygR$B&+hJ z<>lr1VKaCfxo-HSYn}x)jiGh)kud>>JA&J=KVCCj12y*I>L3p&Jw89^tw$1dt)Gai zFX&8C5&?x#VzA|Fe}t0(bpU^u6#m7TU2Z~k zcK}}EaKIAl+uE=6RwUWOD<6J6(Zx_BC1=wBGUYZ*iJpS(@iyienA1Ne!~}n=tC*O^ zWTTOyW&@mE?h#R9lw~b8o8|&-U9XW75)jer(M!YtKURG}m%Dd@(h-)nV%-oEWHPxe%>I@jZ^{zMi}0 zGSB9qRuV3vR9sxuX~d_IP*#_fgzaA!q0lmr!_q?38VW0)hS}gAgo-?EU?@o|t0!#b zfu_LR4N=%gxw=^k(uC-g71`X1wOI|^HZ>ew;^E+ZC>q%XdsCHe7`i7tn?Bu7DjW?pWqDpc+C>G2&Gt?;=VV2>@?kL@O5Ok@1?Ptzmx^lCL zA=w0bKPi#e50!;?ch_;z0;3IlJ{F5{c7+WCT4&lo`$BDs-2y`YTmr*{ z-s7W}mGjcYp-1!(!S_wYI#R}2duPa(aB*yS@~+zCHS6n~YUE_`4KNM3AS#Iyx#P+? zpS)*IHE7~0WvnHgnbZ0%YO5qEBNZMI22+%H4vScqmc>3nn_Bp1?<>3!OW`~=fDf5( zFotSXHfIWj6dn&Q;;@gnKNqgA_sdFYrs{d(K=TW*>V)lMY0dC>Ud72q!9P)J!`li{ z2hu{C`xZnl6eDUJadILot;JOq$A>A1D)KMszC5X9oF(lPpr%N;NjS&t4E>-IwdH*f zP&6kTtiv;6k8T)RM_fS|eq4zH0%DuO<6AAgY@AIO-_GD~KfelPdjNW+gOY#!vZaz~ z3oKu@@`cZ@RgySdMkENsv@aoNQ#b8w zBD@>l%qkb(LN2Rx;J*S(Q>T0&3di1~AuhWQ;+P1oVwl6$mRKJYLBX#~<~O?>Mdd^+ zab-vg*xt_O7Sqxz^!F_7y=*rEB=5k&oAb-N+Vkk;yUaQH=(~BUKY#G^0tD14S-ugE zwSh;iNOi}M32sR3E?Xt9jf{b~^fFjIbM(93RjR?CcBp2Y29!)&7p0NMPyg4mqz`Y` zee@`T;^17qRPmzn%+21Yj7jnm%u&g#9j@e{?dX%vof@#;WnnZR* zflw)gcsFnOOpjOE7PiCs`!cIr;_J7;{}%DfHCi*8y&zf-+hM z+58w*8HfqSloH}w=)g^}8RMHCT^!NT*F{RVW19~qWn+2Z%eEdzc71zbgh@&&&@OI8 zS40(ylhn(l6_>Lm%+g;M`0)%ADmen@UreJAck=LW^z9J+`Qpo!Nh;vR{LJuGD0|m2 zNh3L#a@V@T^#qmWcx9pbb&FpdFR2RTWnlh zTr3JIDk_Rw>jI=U@&kZQrcC9dP$Du_`yUUAYFG5ZM}gvnhi$A&)RFQQIaaz&Z0&F?U~e+ru) zJ)(#CltX0ROEF(o8pOvo4TaB(j>p^pMpNTrkS_0Cfc{LD?C((XsgQSsG3#SdPUsDJ zzc7d)^)THk7PPcdaV}%?A)jWkZuP?PM7yw4a!K)zZHicyd95Lem@pY(wO$%~U+3S5 zv$!*>AZvS~k(|`z?M1M5#B}U2%ZrpTz75k_>_bRG5nu^}5RrtH;&EhN^7Ym>cN+`k z++J!YAb({=M_*s<*$Jvo718N~vT^`B2tqZtrB{*Wl8?uWqcZryQ~&lCJY0a_wS3kL zMU{aSJqZVEZf2EuIsk1MxlDtrSgQIGPow)Sy2{v>s!g_~Z`=3h1$WzHY`;j=u9EO} zO7@9>p&t-B0r9HKmzUSbJGXQe+^AIa3A=$nbs8XlFs1d}nebPK+tKBd{J$(&65hT<;BWx82{SYl$Kv?G<$|l- ziRo$PRhVqJq1i>PwxXKyTkU5ABJd`^O#I2=OwjNC_nE}|UpCnEb4xMgk|NNHq<}H$ zdHf%R7!8q3A!NB^od&p~E28t1%oRQElTknL(H#x9I2vhK1iAPaX10Hgu1^vkY!oVm z%}d7)neY9U9?wc;7Dc6HgupF>8$(c9&nEnRJ`Tx4MX*-gR7(KJm~+cHO!+dz8A&Ok z$&F73p;RSi7T1@7e-k4sh+%T64FI7zm#YTC%6DK5pjLp2L4vtS%_f<(j)3xG1Fho$ zfEcDt+}sRK*}RWl12b*W5fP`yTC{&g{`MzNr}}cXti$?(VLq-tQmhrtf-;>aN|@d$0AZIl~1b zD-Qj=h%bu|%SNX3UE;JcZ5)g)c1QR~2hZQHPxp^}0Qg(!L@z%FV)fJ?4OA4@6S`rL zC7#p?-$UgTAvZOZ&~FK`xt+q33U}}*f2XhSAe6oWx7uz$ENz}6lO!IT25p6DKq}l! zsgt31RWP-Yb%5h?f^9eAhGFdfh0U-&uL)EdHC(EK(*0|-e`6=9z2GXpL>$Nsy^%s$;Q6e+4uV*$&Bkk&-4_seTl9Sq!0eQVlK&@ z+}*A0*!}a-1!{1)eywc*5&>7XA-h>d-g>fV3@4&Cr=u_~|&Zc}woZdhv=u6y~?{37%-_{^)(NoXG{jF0_Z-+Gn zspUA(h`h3Xpa)R8ui&-7G)ZyBEm0QmDbvIkgtYD)j;roYt5$}3MoCsj;r#}-k~c{5 zWAf1`_O1e{QwR>yU51y zfD9v<1ozOut|XUM4<({!cB}J`RO)TPY z0WlvQOTuF#2gJqsSoJK|6OZP_C4(s}@$W|g85Ftl*^Hc$*G97({|8tAj^BG2vM}WGRMjkT@|b3OOH0y^N8jq+%>}P z&6Yc<5rIGqTfu2njpPLM;uwC!TewFe*8A1Aw-|-|7Sl+Z&*u2F_ z8^PeI$lb(+M);P7qG-Y40aUz2f7(f{$He%e8h0Il9j%(U)W+f%mL)%|v}lDg zs0R64DN$A|9`2@PeoQk9VGR^ARni;M)uc*iHt0K2l#j8L?`KQ&FHHSTGSp#3!G^@r zDwos8ihsj7^?ZM~M){ZEJZIzJ=gu{5*1Uneh?xp&kaOA4?iAH5d?hJyw&<*lzAJAE z=5T+w@1drN&5WetDUc>&?px<|fr9o?ekcdgGsz4r5$b+z)3dWSI59RU0|GH)z4ugw zp#j|1I&ly4_;1IH*yv){YIQWRHj-bni$4M26&cSr9h1bAFnxfMD%xsibXY-1UbaEia zARBX8HT&1Fm>R>>V-Pr_AOUWoM zk3hEn z|4uBTqnfDnp=Cb(icV0wnv#Nn8$P%<(4~t2i*b~NVmL$*VL9rECEot~!q~)weh8JJ z^VegxxY*iQK+iT%-3q!DQPBj$nS@bYk=mI9MnBT+6HBv#!U_ne@BEU0l*V=vvF~$% z#+#O;F6K8X1T#{n!PpX=Z;|Ja=%z=197XUDJ~w!`&Dvw`gl3)HSYU=$2L<`e^=x~A z?l0^n=O=5OuVPS;dx+%mXgrCER`GTX%tR^m*^qS3S8w}@^jE`yN(WecFEu(kx}~O# zvw%Bml?BPkO9I#%+308w-c-eOX|~g_F|a{jf&oZ`-#LqqAP)CVKMhteQqm#~8?hL5owdgwz2xxV&Q z9g;IP_Sga>&&z-|a9UZ&x4X92TuQM(XukspexEJ}1OFq7UBA;L_*PQRViV&qO5BWQ z`x?|h{*2E{yAfqf!z==VU}Ps1Bj_ygUrU+gR3#m&TP31%5T()N0~53ir6opUX6e1p z2w$;n1?fqs2o`omGrpMt6-$lZmk-KQ>;sRn7jKK5o$R+WfIu$zxrP7d;p;F~9t_8N z)*J#rcVQ#^Zf|a{??=8*BLEx&aBxdY3d2x%AX_8wBt<_N6YZ1`(^VTBnqKc` z{KP~0 z5Nq>n-`vQc%uF91qB!u;?%8AVMMjn|LlYbBB z2P6w|QOrZ*aIuIJ?eZ7mS3v zIxCn-j<+GlcBE_>P`$!K!$RT>vg)=#9O9z3^3qfFnzQ$Q)E*p$`F{L|s7LQwZOvY_d%=!Wi*0Dim6p1FtRMGv7C%Z{b2d5#>^788|wOLGg z3a`&O`~JCl?nxH^dh~6Ie}p_Agmx<(sv>QQ)5q(8Ri& z{-I2vM?qV=$jGApWBtS3-J<)u;2xP^G)Tm!okFALU(-2lOi5?%z1AW71Tf!V_bYZD zaafVpIHf)oPaR-`!nBbkbU6gfiwgH~)aSXzEp=L4S!~fpZmK$v+HImKj&=$R&GoWk ztC0@%Ee^%h7pKVbL-9;$4nt0|+f-G=(?z$~<;hINp>^?>I;Ht|4zXV#!I5~7z3GR4 za)+L=Y^|N-$th?dyIqVb{rXd*J9L{<1mO9Mv@2Zq;CbApwZAld`< zXhu@4-?7OFk>A@cF|@b-{8Unx)xpJf>-hrb)BJ@zUgsNHgp?_b6ug&!7V!z)4lKgP z@58*?)ts8+mf;!A!IUQkGBB)B<6+x!^T~3mRm2Qs+gaAC)SQ1rYhr6@Y&+^?A5qU| z0@Lou1k9OTgLM$iKlqo?m=i_f(Qy#Uxe@4n=#~<(gOH~n$oz+?ni`IxvIuO0DeRCb zTNqOo_Qw}4hW4M5YCAQKb%J%lG%^qI@k%W$r6tI64VZ|WzjR>WxWGY>aspkWbKN7e zBC=}n6Lr%3^0UIjW~Ae+`8nv0)svKUwQTchgYrIc`?Q}6P4;mjnMu{t@zFz4x^jlq zujo^~XcM@Z*Q;%nNAtn~OsXBZo*wAKudC}5h}F#upfniy0CFe}WJW73FQ+*3?LQ#k zlT4yvd#NxXceb~7;D4DR+BXA1W)_CP@-iF0!~Ur- zZ*3cwGUV=m{lboidZyi`MIeV8RRvK^H64}IS*?9j5tp)3`2yQ6dtxH2NKx00chPLj zDTg7ut1ZZ?gPdO#o~ZIbNM4+3|5BNZL@)`}PDPWK(hU=Q?rI~>K`iB#nRU6?^cd8a z7dKl6c(!Oc$`psadydclKX;C=-K1E$_V{VtTPfCNl&c&kS}JVAXD^cv`EnUdq5Ex`qN+-MW$NneR< zRXC7k8M`d`_^EpNuu3|`bFiiz!$(AmmPmD0!WoX2p9h9eeW-1UuFmQ7?W7u+6ow(P z@?*mJ-2aH>Qd0HwUXIS1Ri-~P7|4fIwFTeXm_>unH>Rp9%U>|{?b9mJo0Z?4%rz^>DBcPEoebRH`46$ zp6IQG)OR2Jv7~bJ4VX%GE;$U{WRjcEk6*!Bnvx`~z9~yb8k@ ziC6cA4Js1>0!0M^DcNC$o?due3okRpkE*2IvDfKi#QHnb*g`q0j3o^fT@lDWR{HY!b8 z{cUkw^&QnS3i=eeN_Qd5w&O1II6%kZD$mQ`Q;1 zwi#81B|EUnWzH`%GQ9|6d4Dx_++KQd{?(k#%tZH9L-thL=aWiQcyyE^1Otu}*anu} zHgcn+W(HV4u%3r77zrkdp73<`)*(Aj#rbJmEsrL9rBo zQF|A)xpX2)`>{MW`Y(N8t9@YnLar`Th>Uvl|D-S*A`w!X;FxVSx4QRe!l&2e)F4LH z{!Fx6^xb?cuElSu)a`V6=vKQ0534thCuw8=^EdKQ&B@}huY?(ewE$rbAT1Cilm>JJgsF&l>#C`oq|DRfE-9~b^Vcve z5ByNjJ?ufftKk@M6D-yJbn=})OCDyY2`C?w?eF8_L^BVZO7SC6l2n160=Ls?5@fsS z^W1>R`x+fH@*0wl{j2f_U`1=Lt!t~qVIA8RGY1l*Kw=_l0;2TgeDL$(B1*@xE=G*VpY7lwg$sZ$IHP-PAlrJ z)*Im4)2H*%1>4n*2k_=p)Qyf8H;W!ydj&6Z&*)Ee-QQdTuf4&;`gwgp?t_tJ?^Lo7 zny?(Q+5F6$C~DElQ&a59TXaYFSI)U{Gj&{9F?ki)VKq)7HYV}&|I9O$1-O|>uo!Wh zTC;fz{o<%JOV}_5CmGN70he9+?*tu9E_VSY|hpG)14PV%HqFhpH$Ko6x6 z_V+I}H-iakk>E<3q%Su6X$>Y;JZFOTx13FH^XV_>m6PT6LR&!-zW248jFrTHWCBf260-8Tb%o6g10H?~ z>4~}d{`?|d$%#?AWhC#3Cu{$>5!i3P5mgQHOX9h*==%C&e8X1Z`0{0XW~O@C?5C%v zq@=0o4;Jt(ODWAPMdm;A(=f_uGuorN+R}twoi=Um{{>IkqFtTbw{E*S){Xso?MXoF4H3e&uJ2}JhA#o}7V-yPdunuC#>D7t1LHQCzjNix&W zz)~%aVm>}PIyN@)<3WhnmX?-QRwu{D#6+nDz<0vYiObN)b;8eWw^ILcSv`Z#veD#q z0m*-+m>~pyI=tWG&;gdFo^UA~cDSsgHwyE|1@OZ;m2*+c`!x^=VWX)_fv8E13hgAw zCOfPUh1`3F$t>@}g=<0$>%o_!wYv|-#@ReMJK8@rH`_TS#E7;WuWqUdAf<=6{-mM? zJM=z^s&G~6$&T7HUdb!5t;Jh84A3az5eLEf?ciah{`&{2X0W%J|pk{FH zi}S+!nMN(`q^^4KjmmY>2iPWSB$Yr3{2%$5!6zHGR-X#@qE8 z2tybdcd_&r;Qx?M;kH@_{!8cW)~k(P?*BJl)n+lXKd#kaz0~5ea-ZJnnv3pJg)Nk^ zLp!z89E!vn2OfU76&6>J(gg$hsfa+RNB>H@2t_Ue*u;=a-6;T)@+VIFBI9G*eR zF9PwI$*=F!xdZG}Y?C+=GJcO{iSt~I%sTA`C+C4Wg%g<|xBIap6!EBV{&3GKX-??p+n8X?8K zXz`xBYy)X4q}{^{I_T{c`Tb<$cQwfeu}z~uqT<9Y7tYB`-O)M8)*5Ng<)v7=!0t-F zrzHx{U+iNXc^{4gKcE^BYs$LTWVG=o7QbTM_wn`!V3v522{(Z+*56*x$pqaO!3P9c zO%rKXjf)$gx5!g`sYJA(&%w4%dT8B>OhHc8~xRshwkoruQglT4-94kE1i=PAxV;eTJjn z0r9KaMPG8n{2BkG%k^u#)`OQ`oBR9eQLOInE7|E8Fv~)#ulNT{QQ7MgJ;BGnzxfcV zgYx_ThXyh&IzOHPc>X%Po2_Ne(`C$5Vr9nUU%x6<>Yd(YG8%TZ3^&ej(-~3$3|=1JxCv zic;}$*XA`eyUfi8N-3sGX?p&fQD@Z?q^+P81`ndad%dSMy>TI4jCs&Te_Zav%2?a! zv^wjbon8@kyQVPdUy*aC&8?)0{`kigppRJ}StcUR351>s9Dc})wq-^&;NYJqPZ`gI zRToVR9F8OJZMG*LE5jjk8Tt%shH(ZG!d zvz)w3Ccd^byLe358dy-H-uwWx!f*Sew~2}wo!&RcPc!Qo@NRY+O->(EvG|o6Z-Rb1 z$(pSMZzOb$=--(#n!4TkiO2Qznd0W--OVwwp-}Hk_zBpIb!8e6 z8}U~6R@m$5^s3jZ(N6nF7>p=XwT^G+OVoAcgD~0m3vxxim9%lBdVrQI{t?cw!{?bB z5Yq$$B=SE%OwVOzpZQ|ZW!L&4p4g2{P^|KW*j|XlYh;VHTh|{L%Ph!T(S#@CBg5rv z7kaSUI9y)j$CUWyBdtsk4ko`xCq7>-?tPyjXvlU~K^#c+-MTu0-LWjJtCOdfh1KOd z7q%c;GIhMavu~jKyLl|hZRI8DD@4Z>wae|OmRHux@#y#$y!$8e9 z-xA_^q!>0Hl>_fnC%LfC9vqqzoug=Up!Y}k755^s^;?_5s>190XeFrK>usB!)K z5AzASif(K}FKl@}PnT#6yl#DA0U>HkQ^EHuSgzUxJCJ96NYI?ir;$pDweYqT zW~mA4faT-wnD}r}eX*f5A-N9c6;f^&`td|H*eUw3n;Y_=V57In$-O=rNBQ@aWDxro z582e(7jpVr09FFFJ^8{?~#~!<7^G=-aS|~GL{4P>zKvA=2Z5XHETT{ zwp0>r?{0-fUHFXahUyoe>e>rWdqWh{CLT%o-rrW#Su^g0JwuP1E%L)U@MKWDHpv?l z55c>ts5YyCJJUC#G@KLKRnE)`4StV7Pe`k~kOTb8EfkDJ`ugM;nLNIpHV&R~G40hU zpUD;(faV$Dl2=F}jw;uLO$KKNCl52r7%O+9=kvCFI{x`ahv(MppEm)X%9WPNlT*O& zyZ-vVJMw27d1@_y=Z46%u41vy2i=+PKd^#Z?#tLzU~5B})>L)v&2Iim%m&J)yE(2o zQLfhD+I$cMf6@kFZG%z}5f!B8CH2~C@t^3m%c)gky2$v1l7cbdZ9d?I}i-n(!8Qn6KYG z!e(w@J~)T>6RN4u*I;=R75pr6Zu7{vXl7ICWI+~zdGy;Nw$HK>Ix2%BLY&R^J+}?@ zvik}^A5R+TA!@idrJ-o2tGRW7HRF7_(`d(XF`0ke=j6)D{xv~DWiUUauV626K|Xz^ zqs8dNR`prC$@2wiY>T^Gvqc}=Kd>e>v2p0Z<+npPKO(|o1ua+Buc6nH@z2`koscS; zyxYIo&pDFx&8T)jKBLv}Btx8bLa+Vi5LPFn+WYya`h734qrE(a^yB@^>hd)o+UjS? zbl_=G$M69!S*Clim!zDo4tf3|P`x;M%HN@t&s>Rq#n`u|`}acS|A7uB{9+8F?>spN z`x80{@|T{%;0PlnF#SX_WLkEMBSEOzQS9`o+ngzR1E_1HrIW<#e&=y=7z6}UTNA=n zUMmCjS`V)26twThQ#P_@k^iD(CYaON@=dlFytfrIPC8s)M)-CgqkvMOR)fL9meT^f zvmoD9!?}M|(l06W+Z-@0D>^z4kGaWfn8AP<@eJ>7mKq~O5Q85**Zk2aWA%P%?6jR)nHWU5i$%jk9p>&U>MR+c+Tx0u&#di5Ee;dYsI4s%nL;jYrA{9i=_~hSd~-fG-L;LK zpmtyHgYYF62}Dh!QrdBA@ep7rK9?<}#o>U#@ijWC6mMLo#rI&Vc7Ysi*ZrqYPZS~d z_e&_vwt7??d1$b?p0|UMM%`1NzEfW}2OCRio$Wvm*9tl*XvPN>pDmA+BWnYMcKK+R zJsj4WrUcO@q8qY(f4mm~KR;gjFG3PCxn&2`dljzFkR@nfZHj0()&+6Ad3YY7otdGo zot%nsYFRRBOAgC&Qm-#t5Erjwb zAi*R8Z_L)Vj2u+ac!F|f>zWrF8s}q9mLbkf$a=guzHV0}2rVEZeVn-)Y^+2Tf z!cvN9!V5lo&*iP^|HwfIsW?t}l`9U108NTiaVlTr2k^ocU|i)y$;{9NJGWX@x!Ogs zfHX(|w#|a->e5r~RJ7A+_Sm?p1-1!*Z1|NczTu6y6YSXd@%5opZ%g-|(czj1h4=O0 z4^@}^5Po7q!^wZ6$Nrvp9N_KrU&%!RO!m3 z7S^_UrCM5|$pnI9y2Xojsy9VfW=qnhQ)uF5E)E4z*=kF9Y}cCIPz8MZdlDq98r|NB z2RW{dilXrc%GYIH$KdpUt;t(6WNp zZ*6)}cio;ZhQNQ5;ap#4baA#WHrhSvUsj8aLeNh&h1|9mzk&sHLC#4D0Kw z(+JYAqdsW+?J|CD+eNN6CVE`XhzkGnhui#>fI{ zwV(#8r|2sV&R0A5&bEwlJ8Rpyx?jj(E&Q=mfmW0K{|Y~e6+b&IUe0~s(OpPE9{aET zrT^*5uD8z=J3*Z;_gw@1999t}G>vtYORkr@d!@6+*Y9`8gXp#!Rc$tSuTMv%=x~mL zGtEZdwS&`zR~Lr0rGNoGtub=~Ni}MnPxqsAl1DNxCGuX;Y0Zv1_iq`r|G;|fCz-Vm zcMpTGB<~#C_lZMiFt2G8&vm>Y96lLWdFhz9_SABwa+Pk58jbb^F zWlE1n9I<-aP9wRDap&rW6jB4JZ=L!dt5<$~?faZhZ5~XK^R1{N>WGf*jxZk*2=jgY zJlZty&GM&b7mTl{m6q0um@$|@zs7VeSYFHZR3eNRrn42D4CDjZ{*3Q7LB3q$J+bSE zbEuv*wCHniu4Ad|0Zr2B>v1yntF$p-M-Oe&Jseq4_3u_sE_|4YX7#%Q&GBDBu*cOV zIzf9CZMnhmE`F@?_XR=l(K0h2gY58rS?`r%b9djUL|<4q@kwzm1A)cq1vk+SE&A(6 z@&A#4+Q^%I=B734C5A;OXi7A~AY=Vr4I&^S6i1nhOYAHyY)Zz$?&@dMF<`PV6z&k> zlZzl^-OxA`y1x0vDt<+B+a8akmuAP43&~7`S5c1mZ~U(yfpbhp#3+1zs=tnj+?Xbkfi7- zNT1UC1}7UKUV;HW;9ecWZMC(tv3n=%uI&(lE0o4u<6ZbS){4|-^Sc4k|7ogDDBg?g z)_op1(`r}O7w&dH){WYRId&gj4sAQVuU3z8)4dv8%5=fY+-BeTe%z^j>Z8u&O7DgE zC#c#op44ePzAquaSM2Y)jCGnf%v2auygP-7w~38`7u)5pBmLuh5IHx-lKa=Zct{aD z=o*8X?EocAtPW8U%q+wG*qKIjIi?b;$wvio0Vptll`cZg$mtf@3#gY9ka?+ zk1?X^&Nesj(c<}Cgz4NrbFKFBo7;M_*Bp>n082wEz9PwDhwahp5%Le)C9tFZAP35c z#v&9He_~mOiiYIgtqDg7&`6HNasN0bdLpl;$mR7gK$RKC`R1kMIa6)4Vc@58E9iA~ zJ(t>eA^bW!cm@5G?kKdj>>*`&zb-X&q3)pIX1@SVxMN&C7*G424ByIr7)Rq)){_$|1sN384nRhmnbra>gH#Y-la$ z*MQesWL~%?E5jR_v9yH_Yx%*3HTYKkhqKk?YS;e14e@kq{y$Kl^Pk@40vTx^Y<>!( z8(GGH^;#ab8})oWAK>Qq$kxQ7HyUh*+bnLTNbRpj-uy{Eim&KWJZKXXbXu&I>aLB+ zkxe>S_t!r3#g_&yBV-thjusyQ%D%kS#o`7~X4p%8AOq2=;LrQNKls8gaF7aJBaneS zLu2_h2-fO7&T1N#W{66VRe%HqiW+s3#ZPbx=-sLyaO>Urq{c-HpC|tFvqllZ>$e;l z8F>ovor8m&o!*Q@@%YRy83^{(F}pZj0x0uzCi9e=9_GheiRph{;^!OgqbDlTTI`pO zQMFvp1)NcQFWLnfoXeyoT!!udMiGJ7Gz(%@HDzkDbbP3Xd^v66jUj=_Vk&8ZB? zXoT1JjWQp(fAHQAfJp>CRkfcUl6i>=DXorP3&j9{Ys2Gl*F;Z50u&N!%e+=t`164` zJMbAb83qtnSi{piZUggLmZlwnvg`qJgg%nywGML|#@6(M56?>~C{9R|y% z4F%V?Y-UsvkgNXs2fI*V%DQA^=HC7_RKGdtpdKjjh$IO)Hy7nK7{gGA1zYY>ojK>? zaBr=%{bzWA2gzVYpp-&dv;F<&67l~*1Jn-?1#O?AAoA_DeyqRiXbH?Sfwf`+6d%q8 zE5RR^&ldmEPu9$0E;d?RuTJT?@|W^m=#~LG=C^>Dgejk*UhhH(BCA>~$)Ca~V@wQ~(Sj?IWPt#8ZYalh>%fJVOBYW0#3b@HP! zX+|jpbIT$>Dt`2Nq2`oQ2JXINDtX5dOH4#cDpF$hX)g+a_LVnC{6B1~q*yF+Nh)61 zvTG>AMrP+Z2yB|asvvJ#-MP`0{fCe>LtF)qkCgiAK#^PkMM19-kR?7bkE;+_GRPu3 zO~)Ei1+=Fzq0a5~KOVBLn0d2|orN*pFXlyR`{@uB%ih#R1(e&gbw*fB=*K4(DI%zx zlz!tKgm^{3{qxOL+sK0UG5 zr9=l{ks8OR=W;J}a*)?k1Nz_KS&Jr2+5M|UhzQXv4aLk&h?p4Z1<|h3GaP?+a(e^3g>=GhBQPH5WQxu>D3gVgs+;QrBSI8KLSt&{{}cqkfDT`}n(&B~ zy$y(?mgXNJ1j0=6xwvLUdUZs}4x>HTUjuc(09}!uO}Mfp$JyG~RZ>RGTGC;>?nhDA zgiez)toWfl{PswG!~v^LCu&hGdS{2H``hVOI&s2;jaH4NkPHkOxfvT@CHb1*M!nfg zIPCb{&b12Vn~uMh5H)zUkI=@+jFU@_K#HQxXO*Pv`S5VEf&kG*1p>KQ;AiTg1)Vgw zR^xX^_|BDeu=@A$p>=q;%c$B!Ymuj+D1iqrw$=SynKS4$zYw%nMwAxM;efRq)$?U) z@A8ZF8sEJf502EVt@OoVerCo1{G?Qu0)R7nBZ6tomrnnZRGQaL&@xb!Pb{mi&#?T{YRdnOQH8_gyMS(BVb4YsFx5&B*d8?UDZ(dT{G@fKlk`R5_4k^jI zNJluRTxFG8R%{37taThdtpR>bCUSHdC2W@5n;+Axb+qt0NlTs~B2K|)x>)qtJ*|fq ziXnRt2AWvZ(yCkOG+jsNppR#qpSNeg(43lFMth#oziQjaGM~HqUe-=Pz_WGP5Pwss zikBye{ls9R<0M6nb0K>@y-nq(joMj-Hes6~Jdv~)=>@an7W_p^6HK@`K1p2B6{_Kb zI;g^L6Ar{I>5k=7JDu0=18G^-bA;(<8V#P_NUsEh5A^*iBo+6!0=*86wcG8VH4fHE zQ|Fm=*lHcbG<`j_KQpl}YNi|>LHx=KNQ=aYqJ75}@ZWtO;NZas@Lxt9;b}7tz0(QB z3}7J`ME^xdfB|k*23taDmodWvCXLS75zSKcte@%HJ)`q>Ap7m@ak6<+2&ZE92%L8H zmP-O*{??pgm$&s9o+IXPJ#e9ONhz@X_9l_9-<22;Iq6!S15xtvBQ&|s?jeZNvoSyM zYaP-ijtD$EQGjBkw3YhV|RX@C?(dMR@3M{3#=S#qwSWhSCY z;iG|W;KeXFRS*0!Yo6Af``>}Od^F}NbfPr9-Sy*FNZGIA!iDIwuGX$k47oJSUEJoM zV+b$`TOt3XGz9Rnu6(jgW)-CF8SI9sO}l&fwisOP06DD{bu1i3^lY~FLY_g9tw=h~ zl5Mh+s>JEAp2F;fmfq(6_Kxk|d&T%Zl^0J`r9uJ5IA#AbcIv$IJU40<<8r=UWBb&@ zC(mWlERE^Q@`J{+DrH_OE9S2i@vB)VGktM~LEfFHEW!=y@3(1fo!lk^2s_Kc9s#z2 zQtPe6pX^R^@6ay~XKSry4;4D_G3o7*Rt+1VYCZ5%awNHJ`YIx6g84(}n1lQoDf~Z> z`{gEBxW?<@T<37L&6#Erk0UDu6PPDnX##L4$(Fsdmr|~(!be&yj}p&(T3EW``wJ#y z@N1gi2j5IZr~}@(6v4)kybWpo*ptkx%W@dq=$Y;L&n|C&aA$+wsGZF}wQO{{9RT8A z0PS|vVSj!*Y@`!%Z+oKAZY(-F8$6OT76i5jsS{HvJwlqIYe4qf7B0YPL_~pCAG@kj zL(mE3IB*<%>U@SL?Zv9hcJThf>~U+U2yuC^`$h|w8EDtQO>Ak-aj2JRb~@ZNqa1?2F(x1uz1bk*=LQ0JzE;;-e_$Ntx83GuD`TfG|+ zYV`F__n0{a|3XO<`4_Th{rMjzAy;!C&<6JhT1uu@XBU;o@rki*Tynz4*|F|@hX)=q z?_WCey8Jdt=ZwVdo1h*&Iwj%92f*LH@rvRRaTmL2TH{AL$e3$*N|>lCq_4FYs|_}^ zha~k_1BI{GbD$HK0Z`^LSKAxv9kfm3%*@3U2+1a`*J?aw2BM=;PuL6bIrRvXP-|Ue z5fs0AEH%MU@6P&l2P%_L&i}jWUEJL##W!d@(7huJ;9+$0d)~A?be~xzPPo`=a(fwCNXDt#qnw_|TWBuA6-DvYnvJKa zY9`^4ZkqN&&2^20;FWp1i;s#bfB%g=e}m&s7(GQ?P#&|xPLI@yK}dL$U50SVD$rW_ z#+ydDI^~3*P@2?XymD2GUny32e+TjV=NBVdUn#fe@e}n{Aid}bHs4?=p%-wQza4nK z+B0(E_-jN3)vj~Kgi^1zmseGX{qijVk8$Vz-@g+!ht}wlwmdf0mrHVj{dQp?n-r_$ zg56$mflp_D-;KQj=PM&d=!!Gz^Nco%0ToZS;oDtnCcOP?h`J)#YK!Ch?jKUCNBbi#F=6+!6s*T$ZqkIGWswefC5E25mI^5@p>nXOyf~qbU#3{( zl@TGzkq|9DIvDg~mGM3_WJAf4tAC1@tRmobrweC(huISiH@Eph`ieF_2IOhcFIJjO z-b(V34-5bh6przXNo#rYpXipqD9RyFy8JYSF9wsD&H}LDb|`8J#BO#f_?ge8J_t8S zqomyblJ7~`ZV|gpmh8l1G2ams=#yc*CLZiZk<@m9p43sVoyM2KYCu!^cWZWZd?K&u zQrsIDo4Dh`(aa*+b(a7b*Q_X*fqKODnK|28zFe2@1P+4Tb52TXr5FP+;jh$EVC%6K z|9nO7sa`0mv{xDE#VRuNanFG-&M_fR zQ=Y3a1-o6`Boa7WpFl)|Uv7cE_8|H>OhL!r9Vn0}5Qct%i6L>XT+L{L9>JKzeqp=sW1*a|VJ|VZZ3tUmUaslJ#va^Kr}9J*Tt0-sM`!ghy7z^i+j`Sww8Q zO0h|ur%u*B)n8!#f0h7IziPXLg0W9jbo$vx(ejWpt^f^sJ_@|B@`MjgM+zr=HkJG7 zdb!Wanc1%zLZRyMHRD-LV)?! zYD!WX0sRpI=|K5cPc++*KtTU-?oJMXDA6?73Ob&_wv+Qz?dV~0;;z3-daPAM8bq;by`$f)@a}8pv{05{C7x>=}H_5 zscpnt?I}Q=+BZOBNBEb=Wo~PQsU+ncRlpsB)yr0!x5e%xMZ&32zN{||>1);O@PFgS zvl`@VtxVFyVlaZnbU>h^q$598F{!f<`&69qn?CjIM;GE`XBN1SSBu^4GSMR-PWe{! z*;Lm-0@Wt9rRyq>ew?Y3y?9NLcN!Y<1z0^SnINZ}Qm4US6XX=yA9$vpzruM4tRx+G zkFtgtl#>{jcE$)kC$h1!DPf4lPbFdYISsj#RY`ALp+sR4R0O-Tw?>r(eEH^Oc>XQ! z;ZH(mf|K0vmd2id^L?tp-p?7@SM4~ySP6y=fZ$Q=;Os&O?R_zzR`tZU_s~dERQL#3(tq*iZ=nsuS-ghP776s zeRXL)0H+jj4%eh#;)yT08j@xIr(-}a{WwlsqBKL%iJ`B_-&xs+D$f0n_G&VGGRdql zGLbwey<pgqYOlqOAk}S)nTHG*imRn zN-zMm0{E%L>fR1B(|~E~-bHZ7t;B80>A~{>=os4SwYs|+xhQ+e=>yiPt)`ZOga%kA zEmH+MOY0)yR4kb|V|GlgS8b2*Z<*jjf?Q}tbefMv>}>qKt6z8d85G=$;Rz~p?A7;D z(RLfFE@w-A(X_k*&*AVjEfJHoE1f1TUdWPvem%D=b^F6>T6?couOu74N4#}R>wmpU zjloYh5!LWZpjb&%<;YVMf-#Sr(tgcRs_dck(O3O{G@WByrd_m$vu#@wCTp@M+jf)f zx^t6_$*##Y*>+8~n{2zz^PclNeSSW)AMAbawf^h6R2G-V>Qa+}8C|Oz8t;&Vyi!-}`K9l76-iH|S^QCh8<U4nBp{=|tt!LBly4C&=KVlO#U9%|L5O`rJf4p49CvxXRl>B+3vZ z?9~VcpGSPeTB702V}Hh%xSp&7&0gwjazu~Q#1_b~2Hyj4oM`QynI{_*o0+eZV};Ai z_fuYugaeUH6a?fBTc8F-ism4S7q7Jk7m_UHt4T8PNl(tL?4?6OJAC(|Xr{ItYhRs6 zhgG$SM{SNmaDXGbinWYWnLoP_d-dal|ApZ$=dTOHQ7^XsfXY`7L%RSJGrNR=bv1oO zQFWDrnT7f3(e93saalxyMs6rqVW5+t|2OU|OsKK@30ue{*&oA@XC>WxU;a&IcEt`m zKFc%cW}c4UCQ?qrvq|O4WyMjflW_ezb*wVwp;k{#D2BK4vDtCg7V7CE^Cl5Wl>IIP z|8LNjGVzw4z~ZakM(ifAuwLZo086VWXGMhbOP$y5I+aq>8?+@&*%);8^O!9VRY5OkI); z>aMh&4m8rf6UU9WG}o{iV)n?fEI*tbLuRJ^&DKlE47iv2_N|>1U4vE&MPP=tonlj6 z3XcvY1mx$tmjfp2yeor~5UmWq!^b|?4?i&DRmokVW$7$J#RA^~_I{KR?|E9x`R&zv zsoKcY@3N{Hh>2w7X1Dft?begJ^J_GPFns|{V(ZkV`hc16SYYho{z^3D{cVmeGex6` zT_XA19)Al`rz>gk**wRZYUaMl?7QCaM?&Z%?w76wa09LDe&9ncb2M1RVU}ug&?mc_ zTS8#Wk1^wiiuOM${`S)59H=gFgB=@P3DRGWhUBn@4W#4PnO$r7L*7u1T^|jUCSnT3 z?`hNKpxnzjH<#N<`te3)9t{xMKs5Y3S@l)Vp#ekhX(1Shf>*@1QXY|!mF{sLOaF*k zQY-D7o&`X{Nb+_wQBzq}Wcq#(1pO?+#O%ALtAg8YVwFDK{HNs9^XuaT-xQjwP>aXo zR8{6ujXrN(v*~ChsO84mx@XC_;(jM{d3l*5(BiZsepoGUmlV0nFF#7GSj5iJ=qj8! zRu&gVW``8PO6uqihhXBygtD$*;=V|&%>ZV&4t&U#eWvVtCa&+qp7*zhtp7Qkj&*x_ zD#{?m#mN5!A2vGyv_@gY%)_*gAFL2oyezK^?{L~J;c&XJ18CwFTBCr zzg4JC@8kE=Q+++?PxF!Ph7pEkKHBK6z%%~LJ7nEHO}KQ};$LfZ+wb_I{u~kN#zd!} z2l(8)o|0(QX?43Q_$iwNRK;@OBJxR8WY|=U?J=5t|5OZYcUDmeF;WgRJ~LZZ0I#C! z8GOL*Nu_F?;#8L5LS`;scD+bOdxr1|~!Q|>EI&NaV0u(J7j zwRwJerKTWU=@5488j>4T+;!6I!XJn{lZ?Y+G(XK<=j`~0ec>5SW;{gRJmYp`cy3_^ zr{rfCnId$MbshBm?ILN%)6tUQv54B=jZDoQu2X*R8zSSpA@TF=cbn1&2OTa;XJ}c| zv*X4+K8=Pqp@U5b`fiO z{fvQI-e~K0n7ki|x)yr8pxnHiV12-|L=qTzojTOE8Da*h!vt)R7mA*iE!a8~>+*2u ztY@Z?z8x*;V7Kd?##TUH;TVq3Z;to=N3`|XjCSY_CPmKjjDPU};D`O*s%kJ4J8wc- zMtwy4A~CK=jvS;c1>_tH-u0`H)QX;PmAuD=IIqROwt7N8*SQm~@oS*?!$TvB$x0nf zVM}yBmEe8+fuKmt6R(ltN%}H2-iMx#c-W~ZYT)I!mLdhbKOaNpbD}m9&^=`FY^=E8 zBPw;%Xy^aEL~#uQz+?=pH^cN}>~Jsnhx_g`HL0Gp!P_EHN%&;S(Wtn8GWf15{X!BQ z&=S$#njRULU+)_u2xv)!AaW^rx1njzt4wWm0W*c+-w{D|%<3;2=zgZTc0KrF#o6{L z$@-Z6?R2jWyt$z#=o2&FF4?mdYnu{Rv~uFl@)K3^J!AGeK;cI$&Fuc|2;mn8ByLiC zGFfoqIQzrT(G@ksq;{cvKc9!Eold?o$xCaSAJ#?pNMEe4GGCXN8@M!5s>ig{n+~s5 zWc&XL3AK0@Sj$J|LjNv}J@1BJ5FQImd*%zV)Y+aMn%bOMS(xk}?@jjYwseWC$oK|J z{f`Q!J$O?(`Z1bu>1 zxqdi^Na7Mu@Pn_%s@h&u3vxYgOsh-1-?gJ%);*I*{3ppoYzJI(;|$SGAcFjkiE^}6 zTyAcHyFWldKWzR*4+n$e^KX8;O7ENR!>d!M>s_BgK>pgR+0pJwNk-La{gT~=M}v#e zzrjNvT$EHx7~L*U@%p7`c`MSJHXvKEqTv?X`(qX^h;>F$|FCbrHTgt`FDmDTk@Wq$<= zo$bYU07&#iNE20)D+{ySO`UDHiI&s-MY3;RMLjwB_73D~xqUvo%FUjmM*YjX%`upL zyWW``FWoK{#{0LRp?+p(d(q-~`XMV?j@{G2$2*MEd@)=Qa?{|L9H=T~Pu+>Qj{fX@Dj5nK;| zIai>g)YY7zMWx|k-Sg?=VI`x$j2ZIUDU%x^@Rm>lHU|o4Quu=mBKza4!{o-OFeL2- zG~N+4XZn^cw?OTs1!U3|nVki#4o*Vf=)n~f2$*#38eE^D?wXObGEbs(`b#v0Pl7&4D+)OnJjX!zAK=!@YG+ z84%bD!J`2v{Tt@$#&ZT~)OzLpVqV4{KRF zUXh1m#1QQJbHBnlO;ygb#q8st*rhaf z{(M!h!`G>(1{4X!`Z$wg_aCZ+hn1va)EeoHz*ZO`Io8xe{>1}JV}UDMP|C+GajCA(+LXKd~c*8qghm#gQ|#@OKHNE#OM_LiHT+x{MYp7%rZ20M;ki02>*ZgLr{W|c+u{yc#G7%YBpK_p*L~uj) zEQ7-tw!^V~DvRH{whR6)ODebH{q4$me6!%rh|kR>Zse}d4!QKJ8&SoYay^AWsxh1B zd|cGiFhFPl{-&df@=xi}3B$}Jj2%16kPBIIC;aI>u0O1c zD#-(jk(eaieak+Z5DFyPe&Kn^K{tL(mhG%kL{_t;W%Gd3GC=X_WpzXvx6$g4PeY8H zLWnq9@JniNILHrZU>RX2be1u2#zbOF4kosN286z5J~}C^Kn*7Jh(c~fQ`!KyGjVFQh zkF}@4L;H1?hF4eB_v)L1w_Xrfbp zaN}JtfyGmQ{noV{JB|bNjtR*B&_=jfqcu z1j3sS#Fr~>#|XcLmsC|R12DGXO=;LQWAX@2oT_PB1LBKu6e>s#;yQ^$5*8K*_2%O^ z!{M+-sl^f5Qc4rMXA7Cr+HoX$kl0%6GWjox8W+0OkK)i)GDg)2WG6)Zsg zP>p5@onBH(#M#+PAJ#(38yL6#l^@K}GbkzrjuH1&n|}(ow0dRBs)0~MpR4iFwP9K_ z1^pm{FIaJsi=*O9cjYC+j|~axTPiZNW)E4C$>5!A@ced)>52% zz;+@DOU%Hz*pbypJr{7d0zSJo_?nWdne}jRx2=jO##n>#iSIz;6>QP+3=1A+U&qJB zrbhL1qzXi$IrceYZ1o^1K-tq;Ev%Q~`R@XL(d3`u2koD0dGk{iPLUPA+QO)qnOEA{ z^N;6SWw|9UHvr*?PGud#ts}f{0J8A>wXh#jfAZC%;17ZvpRsN~Ab5NDv_l|vRQ~0= z39n8DuLRNkSMWL!`=c`49kY*=<@JI;Ii$F<|tYDqc~KQhB7zogsH`n`@Z49$IEIG=4yJ;aMT-fEb7rTPp%6LvLw$eY)%x^=@PX8d z-}B8?b88{rM{$dvq-!-8UQ8WXYRwxaoV1&mkjJOCo`+$In^Dlt%lJ4pL+suMq&P^JQg1&fX==uNNG(Zu4(WiDfP2&CaOONcTWUc}|iSTTUJrS<(%K37n1!0$mr0 z0@rdi#J}MzRsj<`1wkJX-lX<=j|1?up&!9EGw2%s* z31cM2tIlw7G`qRGJ3G6&);7cD5c9_&;xC+rz}7X0|Auv=nYMx>z0&2B* z!f;EAnf066KvU}n)qy*uk73mhZUz3;2R$>Y*`B)W?t3Pd<05K@Y4)3KpoI2`PM^Q= z^KA0+l`xna{%PP#CzVwS>s1mJlePq??lCbt)Vne{K1y)k#a8wxVV4VqW)C36Ofpv5 z5l;sjJCwlgPMn40d@4F+WQjAy{#y2u*k3?qlxBD+s3-QZMkV5PD(@sLCebw&qP%!{ zBps4>vr^B3?FY3rU{NE9Pt!_6+H|dhY0(aSQ-5Ld_ss=?$^Mc!bFpCKa`=N2Nk_2k zEm0)-vJH+h$2`D>RFMW*;S7+&ios{BhQmC0xALxN|H3~7kqrPq))<_IgUs%0^q~jE|wW_9P@=`6%`d#RjX}Ic7h$3BK`(s{`U5A z72jfW7cg6Np|O$eAWdCtTqmuJL&$7@dO=H2n_;Onf>0l4`kikZO28y7?EBE&7LcI~ zJ~*E~I@SvUBNo`1#hgSh&sPQ&%tmG}AcKa;F8H^E9Er_IpiB(9y&hvH-qMz%X&=Ku zH(EZA2ebaz-K+sJTvb=;d`XLovn|?GzEbc&1#kcPO@+^tlFhk3bFcxWzyVCnCY~<;zA(nH4EG^wsXIP{vplQcE&!q8!41Pa zN8tc_Vog6DrD?$wi+Fo`{ov~1;^f@G%{{FY54MZcSv(}Bm!51~!LdDOyyL92Nx5L- z)k816wZ6F_)CZbGfb~86o^qILrX*72PcXM0$}hTGFSAMmaDDCC9yX|T-&@o-s)v(o zT?&^ZEx@?MCeIZ9>uQxSm!?P>jk1B)u{@{JZKrQhnJZAM9EwxNs+g%IiY#`4B%m6d zD;FzO0J;wn$Be^ZzLbhXF8?tT1mNvoC-Sg}nkU0G)DVwYB+_DA1b7lw;(@JS2q0rdi za|{eNW0iK{9c#A<%-CAvXwAH?e3+~9%H<<>Ci@yW=_>#3h&NY7bZUNwpjW;(M!HY( zHerK{T}eJR5*nIhW(M5&!r;h6AcOuf`Bv{s-_2x$T zsj75ss=>o`chBK$CaM|e@OFLl1~hF{-!BmE#w@8Mpu<8WB!{V~N(&}-2*aQG9s#0I zn4YPhL`u*zr4TtneRyMAD{r)RrrpT9R3xR+3Fa+TQ~!37xX&YEeq)$6(dTz@od zO(6tuCwLFmLFjP+6bL_x`IYuqakEZuENY1J2zJgxkV6hh4WNb&XP{J=%T4X84=vbU5vmy}1Y4g3T4NP$7t&s1f%kKNheXrm8l zeTvG#MFLf|Is^%ea<&CDH2%RYe+6ZwW7mm}j;#c|^DGWi6FI$pm62<;G4gRc43^)~ zIS>+S3oc$}EpQ}gC}7yytsKN#J9_p6yvoty!O%tZr(S-N`R5N{t>D5(0^`4}33Zm+ zLDn1E5_8;2Ch!D9wZ$BJA&-30i&pg6t{}P_<5*v|w*L|xaVE+>P+ zr&7qm!NI~Zy|l0hD5+{B4^uj$lZ*HZ8c1`Rs<9PSEi37CxvjXUi*nG+?d$LO_zAXGyDk9@q@t| zJ46R7>?~?fjOfMcu9MvuO&_g+FQg_`sDrTO*Bq|$jPQ@Z=D)kjjs=O#CYG0W@cFHc zK?R9%ggJFiK$|i{L^Yw z5S1RDnBn691O;rodNT@;&2>H0k{uYo>itUVbloq>MxH#ZUibS*zfjfJkF436I{*;kg8OW^tsKl^tK2CR|%vH4*Ml+zY+_juWT=FA2)d{<mi&E5l(DsVIP^uxu4(}l3yl< z8w1c}-kw<_2sTYT41(-Jj$uxY*f{>wd$>P7#C@0htN*9YL=m#%9?$nF-Z8^pN+%kG zlDT*eZpVvpb9Fe5Og6GKHAhMbY&;5?2Ogf$j_jJIr|5Kpdtj@jU?w7f_J{7lMEO~g9NGoJ3uf+5@L z$DB>GqzZdA4n`NffAqW@p;I~}<@Xi;{Rp&Arb_|cw?jj7BwG`tPxm{&`NAdF$b7IDj+22>`e<6Tchg( zvh2u+p=Oth;a;6aZ3aoNk4-#($+@|qfCTm5#_>*l`F8Gq1J61(#x-@Va_l8?BSfWm z6nvXo2AZj9q1StG`3`qFh~;ZA05j8XUQSQz%eFzml6pj%8B$v=zM7VT)QGBf0b^I* zIAf*njmomSVt!dn$n$0rM!kKI`T=>-Z3$IUj(XnwsnZe*<*wjZfO3d?$Z!Jm^z4!_sS-LdfPl)96>cY$08$@EghFn2_1Y6*-?7lGI?bQr%7pbfXzE@CZ_ z;G;9`4V$UJ#sAQE=aNU=hhj7L(1|QxTc3yH;lL_`2-&#V6;xpPw0IvYmSQv4mxU}6 z9iL=Z5cYtLRx#J77lQ?T;CndiM7I)hcy2}F>sD3lED@5;M!R>p9he>1=mSF9=Myyj zEcpESOIK!Ymfb|Ux4y^`AcbYOgI0FE4my5IHneboV>r?VSqeftwNAf8I@klCEH zx0Joy$!i($1NRqmxFqW0(K$BDwaZId7;7}ZaZXe-=QjO!SV%3Y8Nff%e*TlDYj%pp zYADLnc={MWqs4Y1EOG-`O3}lx%`1F;jg_m(GafQ?wYMp3((4)!#2Gsp5=Xs*LOw?% zuLl7ztL~GFrMrhnMmr4Wh?wIka;Fft{zo&cT@@q?EkYOLw2N;6>YrW4X$6_HxN!~A*%&)Z!<4nn*Ovn@x680DG92GswyysN)gr(R(-u%H*M zj0RBK2ZR5!R3y~ZMMS`Z2W$1P+0EX0g~Wx>{vMe4%OeYi(;k*jE%4QB2NEHy2lD`S+fH z*_J?fMZ+;63Rj(GAXe5TGpF8!Uw<}JpqbJ zDBm3%k(?NDDevhYwd|i;4ICT?#x=QEH&!!L&@TP@pmAQd-0_==nG*!aR1|?jd^36b zi!1Ywrv)bg<#GC{0MTM>KosvIIM13NVYVl-i(B~zG^ZV;YS2IYRIoOul*Vwyrrb-? z4$hmaXI-|<4lf?p){5tzi%H>a|E}CMqW@z= zf*5?DI9d%ib75Z89S?~VR_OGQc37j=+0lseX$VB(M zOwhI9Tu(@{xXTOD3wXTPn42NQ0VwXKtgm;4Wdpqk>0kq$%u_iVC6Cl@9vep|fm zQ_T*|mV0<6Hhp#mK3Z-NtGD*3WgwXvf86;7L8Hn*70z=q@#b9p6@`Pd*^PKpyMd!` zLCcuPEyww`IQR(Tb12<+h0m>{7{)HQ47gR08fPhu) zu6q}SOCaJI`AQC+5x_kT^%LptE|s8DhUPb#<4(T%=# zJFdgUsfg}LzT?f|Ci9wj^4Yz}{bvzt+26mnJ8F$^pGh;zmD`7yuwj{snej`Yp=8Hr z=dsR@E!7bR9{eE1C<^wHaG0h4g03(Ov>wlGH~RO(Q+ImA$GmMe=exp$F-}-r(o`Hj zQCLKvS-Ft=d~PgR_CNa5#oGnZB$43=HL8|<(Ch0-52*< zc7NmC=1T4IyKf<#+R1;H8RzBGQQsAxUjy<={Q@d>L7^bq!8#L%*RwYo{7HxBElJ)D zoFb6=Qc4ezSHZ4$X zu^dF8bq)t!Vk`QR3y=DQQ-*zEi-IoUr(1J{rS{`oaC+A5n5))4!23F3F|N(2#9mb+ zy|d)XBf0p~Yuhe^;-PoLr6XJ=>ciSf$gX3O#SV@$>ZQE3$n^{&Ni+G9;jiM|9~D5# zgTMbiqF`Z8%Qno6f9IViYR6%Kfu_dZYX2WGXea<3ADbAHFfBQwi_v4Syz#Vof#}C+ zr&C6Eyg}1B4%;x5Q;_8*|Kw>qXI}mtC>hHDYG?m{>%*b_Ow?6Zl0qr43jb< zh(5||GwwlZdrndW!%KJVU?}M03jnT98p9v;S#Y#=GnW%ppI%1BqCDm*nzpNcE%lDl zEM*dLif>CkD643ZwdAJ8#ycgkzx9+7lBCoH-klSol*yfp5q|M*j-dEov{(~4s-%AX zP>#Z7R*;vMmR3+ONc^R%)Y9c@V}72Xx}kZ&?+uCJnVA;4Over#vc~Dkfs3gp{#mlG7Mxx5KpaTQ>GZt~Ohh2U zKe1k~=O2?$gt)8yp#3cVWKAZ&tJH%uox6!*SS$)}#|P@FdTSARB7Yncj-f@exJq0u z`x;1N``I+-EjL&R!A1{SbO1Vc@vts#ELcG=wPp3@#@WMNXr*XuJmI>clgpz*G^Xmk zksa%2=CX6FCWT1f)rVKxm^X-gUM_BzpNHzBg%Q0(8{mVIGUt~l>&Oz3xH>r8D+hG4 z4No85JO-$A|6L?gB;yvkz=O znB|Y#J$!`1lvWPWiAD9tpb5!rG&ppF41yip;P`m|WTzE6ZfO9Nh~AY;9n?NXlatN2 za&`95Kmq1}Ts$yrq%BcmWYVnF_)H1V8@V}yZ$rqV zeyk^j1kh~>FJ|1Ty%n}0wG!xuxV@jB+IXsR7%GKm^O9m3>(g@O`AA(21S zy96H^_l$@Ki8+QQBMwDc4e@qFmPS)F1gGqn`eW}1c1@_x)^ri+^6SKx`zS2 z^tCq~;KCDVTk6E}UDX07S$?Hx}OuD=| z5Km-#;0R}$S1dcAF(tJ1S43TYU>6GXJtmF6(B|dQ!&@5E{@yd8WHdz1=oq`nX!*@a zp+3jS+a8|^81UzEd1^s=v*ZTzhNxYbM-@CBKA(Bm1@bEmx!Ie(ggn*1vb zeWU;~l?X)+2P$6kI;Hyq*M$fPR}mPm{-NrF+fDkdV4V4Z8VbJH(oxo|PIP_MdcBjr z$aQM@OQGFijS+);%cWqP`vNwt*Aap;fhw5A{5*RTi2wcI=;7w>T-yxo$PItD7d|TR zB>Bm28cB*=Usoz@vdh-i)K#Y~!G~h>eQ^W!@8+Ax8m7TFuGR0gxo zKqyZ~KR+fVz`)u*+zY*Numl&J!w6d6ZlIuJq@e$(vi}Rn$0HIk3iV9&PSQGT<0aP@ zRAvxtbXl;J!75yQ(IGM_W+R8yq7u(bOG-&-ss}iZ_gOzC${>n~F^)NeP=fW~ zfU0M0u2en~W_DW@zKl+7Dyj^KW(!eKQC3}=pPgAK6^FI>cwiC*yFIHC5KRhrFZnw8 zm&;{nLc7e((qu>#=ZA!wzG+9E{=gJlHlRB*LF;uNOT*~xljr^zJE{Jv=&ILozs=e2 zMnZglnk3*FDk7Dbgjy9L060pTX zw~}`~;7Tl}Dyu6cD~1eRJCX@vG~-@)a*FB3p$RLMK?a#@>dm**v9Kq!!K_NAY6Za_ zwTX@$8HfM%y%HAN=sFQl=M#~HY`%0w!_c;13#nthbGj*OV6SU%xxTx3xW2x>MHP;K z6^=k#T7N#%k~Rbp66lmIl#D7z0Um!2ZA|<<%(%^`f@~?BRc54h0zXmO4}2Nl`-!g>cMlb}an&5QC?K(+HyNmgp> zK7rN&Kcaid#Y)yaJ)7QG6J<)gOil^9rz?i|OF!C?y=6IM4i%W4x#38lj^JuOF0pyH zX(InX9E}Y{a2NRTK(6g2ImRbE2I``OrcT9Dsl3`QCwVOmR#uoJkMr#fqA2NrA^|27 z6)HH6GmI#qs4+A_bHE4{P|24^H#8Yvk+2&ss zN;NQuT5{{GVH>d(rOYxN@H^XsawsmmI0cFUCf{#Hr$3B7soI@RaH&w)5AuJ+hH5q zW-QA2Z>~uCLH$&y*VTHf=TNjW>hIyxHPYwJp~0e>U7;6pLmGeW>*~TP;?DmvEnc^@ z2~UTZS)NEL!MC`DyIRX&HIXuQoY;;ji3y2dgXAbygvWq78R&FnE;T*J{-vSRX8ohG zyRa@}z~e>sNRgFaR#HJ(TV6~TS3QWW;7Bl+GxV33lFsDxD%13E{~)-TeV)=lQ{D83 zdDVuB-#=Rqp;YjXp6_pkfr}aUvi;c&3&{aS0c{*DBRk0uI4L>5WByo@)dJv5;J5QF(xu%VBMgvkk;XQTNmw_6x|+BHoG2^72f6|F{`3+e z%i@(hiw~Mxfgx~#v|cx}CP5uUWty3i^LBLC$>j5l_W1hkJw+YzKHN1^KOdTAQuYk* zCYi+((sAJ9(byRSf9mJ`!a*1dQj*rH{cpfA7>EgtNC+h1VpC;tMUauKI=e>1t=S~- zx;nd;lH4UlZCXfUihJbhx6ZnP%4d$k{+G^^XU0&{)3A!`XiI?by&P${?)VP+ln^caao`_V|YWCtoUMBMiOKQ=gyj9 z^gwV$Z_|RTC=uhGa#GLu6o07B@L!8PY(O=j98zn`+Gqtf<+X+dmHH7Gk!O3AVgR4q z|DR8x5Lxy^jWY;SImHZR9upBtijmvs&rK&Py1VsJGyvdpto07gYz|?lo4uSMBnIgj zmK9C28meqDeeK?ze#TrV_JaRtTFndS+?J)(`DRhi`lL~w$kJY{^Y$-fnGWgf5vb>0 z7$O)E-s+9dS?f1N1vB}8rMy;j$l=pbPsBXjv#Ktn8e-pc4sg#eP`^0NbIgBJ^NS0V z!n}_0`}N4|{2AvD`q$0^BYu7N9ku6gZFl)x(Ovy#YJwT}O7LQyBN!(oC%v>jx-^ch zu15p&?Icn~OT>1p+X`&Z49P+S0DP){hRGY9oScJzmSc+W?jT7r^&7$=OYiIO0F)cH zI;KL(Km8tx%6+^9RTP2|Q!3yIdq5V; z!&}#ST%!nzuaA(qub+!hmTh+{M}hxYal&l98|n#Dy;@IcyZ;C3HRTo|5G%cRmGrNd z9kX9`8vR=~zj%bh>6Re$6E~HVIg!dYcknOJnWu^#4=C$IUQcfuhRN&4{jy9f^^F?l zBR(I(N(X)e>!GtXAW67u9s4jXbEtpm;}Mxm;LaQ48-irD@edpNNS7p$AY~0O0%3(G zYvbL1P=U&2C7~SmPnbgg)MO( zlpHf(b2hu}iX)XdEqnL{3n5glu4OfuoxEknGo_C_khMQTBDv1x)6jAM*%y~m z4axu9y}Cw6!{dcE*Gaif`=up6+PAW_k~mLZP>t=OiEBwK^`BQxR+Z9^7+Ia#%e1+y zGKQ0uIdJ%GV<&$N;C9gK_CG&a=gi8hIq$QcvHt%pbUlehD-R%$qU=hO7i4Gkj(dC#C0=&~x^F zFAqXsRWs=Y?~1~o+I)l(;XzQ-lT(+L7371)0}=Z5;PDPbcL#Sc0=vtprh+lzc+)^B zil(N#B=a9XjO{Hzb`qo;X@z`Q4F?C?ZiLMuG42{Bwsu1yC?kD!%YenW9q_-4RtG45@Y`nbdxn%1{EoFGb7q^}ExO=vTKN>hQ0$En z0oRmMkYAeT#47tT-0on!)TVhUD7tHC+<%=@m{Nh+DZh_@q9BBZ*CYve`~mIWwY~p# z=?tYXk$?DeeVc@uN6}B>cnc1xu`yxw1m;5~O*4kUAINLJ{&91Dghz^#M!E)LQdTG# zrMotX?8z-A&iS&(!^Ct(P+B3oeZ0~69-Ne#cE;~|a5HlHUn1+?Blm}(?~&2o2S|~+ znlV|yUeHn5X#TyhocjsUe?aPA-AJ6>J!npu?oIRQ;}rf^+Syr7Ot9uE7_~gmrJZDt|X0~ANr$Psr3?$*W9KL)4xFq=rIHAi8lcxc?>z-7}ay zxh?C_?lYfIm{nrw)P8~ztN6XNiv9J&3l8AA>PLp9@cDM?ko<(JNV-AT>T`>U<4*H!5K zIU_*mjOlCFK*jrAnqSps_0);&+?kS$BK8&Rt|^S#vgS)gxx=>&zvsnwT+-ZN?!Q3Y zi@td#mpz?!oPj6L@%fCj5HRM7VE1K2Eb)kLXP*b{izd#Y1#|&~^2DD2O77nUV2Xse z?(^@U1-E6wH+3gN@T3RzNW3K`gQg$LuBOQV)M*%%RCMxEoidbO7PM$+vT@XPG%%|G zStt^p?vdmyH{FW3tn=>obYqQ&9bhtwHt(6&v(4R9qa~?&AY>ZqideDGCLKrmhY2Bh zpS@3qD1?5A5RyGIjA<`>z8z9E()NY)?v5hyvT{h9y^o(4G&Q!{f8tQaqyc1c z$qZ&>aVKqRPy=W_f|^mc@yFpu$zm)?N20IqqmH4^ZEptgTC>BNMxEO!kjhjsM=8L> zLDecO0Y_%s5zUuVuPPmJ)x@omvTaO_n_ZUisv}{%gNo}h-)HjR`&C35+SdOcCQ(WY z6=Jrm_OIh8RgAj#{9^K#j&p{jsEn_z3?g&IC_EpuCr#Mqv@q=%klXr-n!1R3R8Ku0 zVKbzONK%wa(u&N>O4`7#>u_k4rbC>dum9)N!bi2L6snr4vT73rKs_+3Bw~b8m$0Wd zK*#08Y<)?XjedG*R{nLc|Ap`%KX?pFOd_znkKCW*nq`;@kEM*~8Z}CKYDBx$elBd+ zEwln*y0HPOcypt-PgqsLfZ)}|WC9;1SV>h7#R>?-F|s`+!OPC*^zLsu`JVt^J)pva zEgctcj6G*K5x;r*@Sh@4;?;oq-lS5Nlu)%m4-M) zpc?vCAd`(@#=rcy&>%5Q?n^I&dW?$06V|^C>3!0YF=wh9&2$-CEOh_TuF$SFhi^edq4zog0G}FLa$bdHjDw^T}2$hIMeq+VoIo zLpg3P5*0X?7AdDj$OTIxpws7Lr7v{Bujh}me{@Mh@`0w~x&r+9GV@jyfhKhWMv7uh z_VVJD*Vvz?^ebnNJ8 zs-sMc;>{5R%bBc_J$unvT(fWAzS_p4C(-MUPU{;NyG|Xc+qJnE43g~(Rm8bzlTVs? zKaX2f4s;R&<1$y5?KyP1_ZA4;fx_L;&1+XKfsIMq*^Ym%a~FF1E)JZkE6JB%b0Ws_0dyikdW%vz0yLbBvP)use3sQm|^klhbO@uJQxa}OZ;3Ai& zDqkwtGxNym+WRNutY4L#8WZGcZ^lp#ohPp26q&WDuC48K>&ccA$B#C(kebX-?%f{j z>qM6{x|>r&osE=)<}oO~l!VEgMWPBi=IEwalD~hUaz6}iU^jDT=+@2aR|f|!UF_?* z(0u{r{Oa{vLw9?QRTZU$IOvEAQ;a)W5Qh2++v7du$5&P&evL7ifckl z)PDV9A&*r`VZLTh&DZFdBcNpB9=Wt=XZgCk^tcc&2SUye2(aw3rhaK9b?rm9u7i!( zx%Rfso=ew;Mjt(Y`{L2q(6viFou}){mdAg2m?-ef7$@9Aw!+MuqKf*~9wABD>nipg z?;0G%K1_H!Gca%&#idK&T6717m@jU$@87&U*27p#>w0M5WJdRS@A0xyGCTJ-Er{P$ulVHS8v_DbNkkfYl8!qFM@x& zPSuu@RoRPULw%gV|3yv)=U#wMNK9H@8T78u;hF+c2yjGp_YdB@`+$%yfB)%E+Ijua z@L*5dv4-87u_u+f_{6AQeHoOOhr_pC9<0LZ)&VK2wjHe5R#LDuA=Jwro%T`!9H=Ab zP$o^oKfZbXXmkiQ9+$77n*7-27Gwmk!zqes%fYBkh;(zW7Z1 zoa+O9{TD9{Tp7G}{U*s3|MdCcrRLph7YAB@M|~9~!N@f{y>Q3cj0krVC4o5%*OG7l z@(%_LiWO3`@=IR1^*}peCivhf0N@`#d~k1c#dItYL2O9RzV zTt*Q9h?aIfk&E-NpE};cK6v_yHm3TE_8@$4`%+g+%b=|V-D@chb_Yj0jY9=mh>a&Om} zbA5xiMjyZY@b|~pPw(HkKG1*LbqEz@A&&YoTpS!63$dmGus0UMl1xNF7uA#TOIMff zI?!_d>e$QApWeQFa)0FZb?SY;2<6_j8@GmrNBWwpH|4~7nJa&rOSt20@EsrHW2+;> z!~Cz`rZdmu;1!aPl@KBo>?bNnS&%t^LJCM-z5P&E@1?6ZhsPd0dxd{9{|H@Iw+7Ci z0Yy&qg)K`#C9xCsVbq77RtJ*qsPN_zS!4$p}VWA6GaD#BfIfF-sC%p zCr%F3$H(}ANh0b+X_;HvB5$ICR#g<$vI|;LxU&frWq5)999w^fJ$>@%Au)qEcA#eG z=Jl(WXCy_3U@EV(lY^ZtY^(!ABV!XY3rZ?#4z->GM=Er;zkKt7YT`b=eFe%lcWzxH ze8pF1Cx?665re7U$dYX0f*!@tiN`MukDxfVr1B1lU7Ves6cg&_?qFrCtqe0bl=ua5 z<^fAL?e9jX{H1>j?XAZeYY(67#MGz1-#of=rTf&8+8w3q@|Oa*qEoY1m4L$A*`BL+AHVsGg`OVW8yUKBb)diJTt{0g)XAt%s;$`y55AYJ zfif{Y9G`f)CGnwJl3(#8eSAANQSl2N4zbK-6W4YK$tZuSI@Wvn>diZlIznsw*^|eQ zMs5!DcAPraxNlcQY4NJ%OH<=xqoX3j!$N|CLL*}mQqq=Y=dCTR+=srbeyHglJc0E) zZsD*)#j}T~oxO7L!s#RXwr^OOnFu%oyl$o-Jrnk67>T!|5o77Dc1kkGJjP`656nzv>nYG#hKwD(-Oeec=3&wqX-WMA+--`#%d#Nh*Vdv|Ty zylH)5ZWCZ5J}(F;J@nuMP2O;r5y+wXsbmW!mWV_4?;z0LiDH-_%sM<+cg zHjZBUd+6G`&~fVcq5A4w+saDT7Ubq+FUwq-k)8&!o%t)*6qRh+wx^+~6+2X5k*hcF zKaxG%ySL9Dg8%aQ_SQqy73=fU7}HNsZ^Ifq&|E^{h7(Ue3J#9Wu5KP)-oBo$ z;23{xqzAleeykhGCS~ZEw0h_9OJJR|zh>u_4cpPR)pz6mtG{0iUpjNBYSW4(X&ISW zIe9Bqu3lBJB7b>qPS&!l?A+z~D+*Q-p7E%xZHLZ(?D4A)pZ^53(aUE~@JrKq>e#`3 zRTZU0D|0haV#5QxoMCAEoy23yv@guY$n<}V6Y!a+pcf5N`pywq8*5rGU%!Rr#^1cB zb><&Jo!irO2JE!ZbGv;@DPA?LFD_cQeq-6@Z98`DsX5RD1CMJ%_i#1;=G_OPhkJ{D z#FMexgYe-ScW+*|d~uY&i-m!Pf}{ZF+*v=taDzy^wuvpB_!;wg#Fcd|oG}#E)!Bd1 z-WFg6z_nlqS4dhp!Ymc#YCx1khm+}Y6FJvjRE?`O9zoT!HRdK5_V7ng0{ zv%6|104g?@ZQeq<%GH7U9vCfOh5F{j+mE0B0&4J^S1+GKfpGT3!F^PL+3vuq`s=W zFeeo-23n}Df%X3MpJ22?10Zp$28o|VASwgnB18PZOw33}TT4?z4ZP;)?{|Nmn2sZQ z>}yY-I8e3KQ{B$8!ra9%0dCfYs;Vj~%F0k6fqB>8%<%dhHFkM}m#IVGoqd5A=(M)9G&eV& zIC0`Q{@m@I=gt#52`CM)-5>~qc^lz1lC*Et6!WG#*j@dB$(Os|!dm6c<-e9aZrvS1R2?CxOq$%A{gtj$Rdhl)-dkGREvf+;P^zle=xeB!_JepBkJ6J7>G^?<*s$@9**5bsUN&@W#ICqi~armePmp`Gyv0y+js7c-3M=3@RI*P z^zYbI80G!x$km>Zj*Nb0-A=5KH6 zz4zCjfE@(&uE$RSQ}*f4&;KS~jt-tXQNN=kFD2B?9Gvk;q@IYBA~p?YnZTLMKZ?l| zhD*`RJ7MLv!`+}m`4qkIAF&lYUa(N|bazpVjEszqj?x5?2M-@Tc?!0oq(Jo_f6{(i z6k+Pgoy(mk8g_qfT9ug);$eeYuz9oe0M^&jbsM8%apM1g#G}l=C*+PtQ@|5qYt(3sEu11AL5D5d1&J>cLerPKPmA_;}budQ%uF!(LZ)+Vz`f!nU0b; zFJR>0g_nQER}Sm!X}>Oz(szl<-c)w=~in=Glij zu08&XnB`sW={(3)CmgfPtnKfUMhy1&K_6y)6wTxhIj_u%f$ z!T#>{)?*F3%GaWjHqg!1R98h>c+q^wJLU=g1jQ~!;)w;!^hq-@X4%dw3=e75<;D5o zpcj*nl9mO_7Y?9Aax0qqrLL_yaj_SMElrK})r}|4_FlXD`0d}X#;$fZH&kw5oB@At zAK$&&bLRN|J^KzEX+GU~;nG!TfS3oNI483Eb{$!w;Unhmq|7YD)HPuQ_xQW_hpwetrKYy1i<5Y}kLiV^7_o zrVa{VHBhwt6KsW5+cNnEg}gBhkQ15b(6>ze#CJoLU8;NX?(v^kuD(kgo9 z4mM^09g`6gBoBI7d1Z+zDWhJK7N$;s?GcJivj(%NV*wW&^Vq zwk$BQ{X{38TB{PNhGf4Xt);+Qip)BJr~E{dCT?HuKGjsWtGpkcv5#<4`#IB5-)#-@{SLBIRzOB5n@&%qT>>~vhw()Cyyxu@H?Xq@cR63avNORa#j^@#wL5@@$ea#|Lf9%Y*clOtsFf3LSvGX65``xq9Y^1LxThT zePMR!;o~0^8W9tp1VkwsM^8#KmIdy#t15h|!!18}PgR=C4a%YUmoqz@AlAhTsH) zZ~Sk+{ts09|2)2!)#JoZr4%SN)l?Maq$S1Rf`@}%UO^UX)}dEk+`uzw?cUQj-n^v@ zz%hvAqn@7VnASEU=WJn;NT!4LL;JL6OtFF}2zkHMalB#Y#+8`~ zu)oKOp@fz{`iP_+>(9tLV>?GDo*I~dQZ>Q+7Nf{+n4u0#0VxyTB^w&LM*jMDvlxbY zQF~*>s?=ZykHDyutd;Ax?%99*OwZNf$8Si1VpT43j-+X1W9Q)H;^yJygDp@aqGI9_ zlE9oOD>r|yAU!6)*-TSb;NS6yF!)*5!r9-&Qcsys#hD=srMeg zc=PeAtd5UAsi4O-e^TAwTTBTbywua$SXH_*BR0SZkj#>x4>p4q{g{A0^xMEZ{~2?+ zgk)6Fjc%c@CM&#X-pt8UXR^$Px>!b95)==G1yO%9hly@VDsa|=4$mAhUDw!x9Y^~g zK7ltKb>x53Y5w~!qCpUFQIK0n7XRsz*$_^+<)?FT){?P_TS6>pTwUNb- z7`^HuLV^N(yciEIEvKkLcmXV0IFDIK-8O$Xqj>Mh%K$oq(~gmNJb?u19@Nx4dGh%2 zqer*;&m5_S;d^@Ss`Z;Is}CG&Y3u0j1LzUZfa5%jWESuUODSsTo7uXea3KT!x0@Th z{(b?Fe;NaXE*nBfpJ8b>l~ARbIiCj@x;AbB3>~Zqy5lLPFuRzBwQpixX-x}YC9!`e z?7R0=lQu5C^ZGMdKGeNG8NGF-rvtjUt;PB2u|e)O2J|wH##a7}ypvxC6FaXsOl)0I zm#iegzmOS^q%prsNRXcogTlG_g~X)flvFiUDEcI?qNzt*ZfR|6XYZApBadFbXC$7! z%Y`mTb38^W2q)6E~lae z?gL&P?ryHmPL2TEv9-a9DOfQBkO59M=7w6J$iRm^YN!21)7c>Dg!l!gAilTU0~u)X z399NT1kQXBHFM9HWyL!Ww}AXAFd@kP{EG|y>(qbxL=t64*OB{UH!pX$0Um!Fm367n z0d6)%G`s!_@vMoy-l?09Wg+%Lvd02Acp;C;XFvep!-`f5*s*Z6l$^4<4k%vZMG2R* zF5x?eK}3MKq7(ne`!_FOM|Jzw%^TORT^+nK(A#vxjz-fGx4UoU(?Vv88{VvnLiob9S(^v9vHVH8BGAou0m-k%_69g{7&Hp0>KO zybKAmo-u`C*-KK>*cb4jk{(?co zSrP7e*faslz61FOM66*;A}lGVqN#_S;W_6sPh%HRF?I<_&f8d72b0?SuNaAE;AJoM z`9-!p001BWNkl-rTK&BG}Vlq)+^T{StfW12l3kEACUVn+q-3^fm3@fwC!F1~*No|YHmWoKey0bVNG z0?0ZR{+`9UkVi;DURB$WcCeYtC!=ZM7Muu#h@+hYBQF?<|A-xNuU@)<-s+C_Gi|3^ zTU$>;w6vT)+jXJu^3@xF(ClbEcCZ$2V-muAoGq;FNn_z)e=j#j8*^hlZBRjzkrWdW z2J0hn2}vn1Kf-^HfvmV7&jQxjzfYpAdcn;O7>QJ+;1f(+A^mHDX7%*$pHEiT#y4hZ z;nqD3N1-hpeM)DZ?$^hso;UR&cB;?g}O>|Y|i2WEdr?9+^ zxwC&X`uue#du~5t^mQLzJs!IaRL{0kt(aVO_~`MLQ)fEPVNTSITX#n8J-9R2bM{1I z&5lj$3bNA@qk?^0u(fPxcvNh7ppTn_m5IKlsv=Ac&~*+*3S3-^7J)m3gfuEOh;wHi z)3kBQV+(%>gKkL$H5diC`-XS`kb$2_{J$omE25b+JkpvL9$~5Z8@E?Co@j>!#Zy?g z5(^ld`tj%eNBV7tw4-AF*`qN`4DCE#yR9fEDb&LX^arG2!VJRF04SOKvxYYG$3PD- zOzL&a>^+0L9Dq_G#5EV&h=P$Qk@cxlew{fN>qLL+nGuFRbEZ#52L+*T6A8W|o!1^S z5>HS)yU#Qq0~+D}`r3W_k2Dj+I*=>H3P1O5^qpy{-M*nhVEnSevdY>cr@IG+9zK5Z^#5z`I>V#9t~A)7hI$|MHlxvKMw+6LMlxS+8V+I>?)jbHgw{o6t0~6Zr*eqLNUF z#t$ZGm`q|>$A&#;UiuJTy4a-?zHAw|8}4|G?nT@JKJo+6q9&kioo|@eCblaXM9yubcg{C;32|l1zkZ zNc>5a3+h`d3sMcC{;u=scus5CBPcwvpsHZ+-qXwj%$9B<}zG%b$Mq?i)8Q zpF4Zz%RXzyY$Ly2&De?ZvnIN*MI*{NbRqX)PCc-HADTqU2QFR%ddYP7#bZL z=xnSk%1(|B3kl*Vby=+xxFj^XsCcY%_=xN+o>G zBCRY;sox)-$hIH^3u7}$B!I4erom{@%q)PSFT*X zeCguF3ot?Plh1$kyRU!q#Yb=5xN!0i;B))h8Y&92mzPyHb*z6LS-*K~paXhTiF%D9 zkc945Cc=Du*MZ@l&H2Y?-;gPv#rx%|~vzaS3(>{FPb z|M2~H-+AlJn^%9%pL~Ai>1~^aI%uPsS|ZaY$$cei;I8f% zo)~Vc%1_iv-K@AP-jov)cM(AtkdR$e-P#MYTu~~qn+?xD6&R6L(u_>3*I#-0+SMzU zaoX+V@uSZlI&k>tiP`fPuU>!k`qfJ>o;i8!xdX?}UcP_%7Rh}7@T;Hw=l=9@rz9@?P)(r zt%O-*sU!gSlvSE=oiXeFqItpGv1*YWZTw~~FRyP~y=K$)J%_j-`r4aszx%r;ooP0!XM^R|D)eHvwS3j+B7P(;EP}ZKG2& zr%#Hdr7JgHhas!eN1lJ(y=~Ku{m0I|eEaUte)HvLI4N}I zh5g&s^){Af$7z83tEqc*0tPMHA+;1lZ+X6*>G9FtRqzbN>eRuYP-?c=)Y=ggufhyE zEl5d|_2q$BDDU zzVqW>!hqTBTQ6TccX;Rep4t`3;iy$p-!-~r&-BLO?xxDZtOPco$@A@;I=E|MxE*BA zBb2x&%ody3ID3la8a*hPDPb~NwO0W0@V`y+bqr9w~n; zuWRidTsyvH$8IP{pTBVB6>{mncNaLjvqirkGb%D+%lqiMVJ3N!VDk?Rf9>?*4){5K& zt<)WOoFMD7@s!bxvt{$d_=a_BM~8n0hey|rt>3t5a?7rnBeR!o-nskPyVuVi-UZZm zjeQ$;J$LTLd!K&>K)p9eFaRVkRXNdeH)(iMK~3kHshM3sCQ)0Gn+y@07tkW|d^>lp zoY=QzsC8u)66fLUCV+*cN?lwUkjRo?P$aO^GlD}#KKyMZM){Jzxs|=MJ5YZ#Y9eD( zvX+-tH@5W-jZFXr*3lDZUcCJBtv8?zap%o9Z@=*d@%p8g&YnJT^tppGdw1{JKDBur z32;O6xm^H|?C6Ue{A!n5KW1Bl{GRhC2ExB7sGCaG6qZe;~`te5}zE9$u*Kf`48}BYp*ZNs`Dx$M1 zJJxPL{LHouLmi+T$p&C~zMWs+y>WWqcu#c>@`$-Pkmui=gKxm;L0*3*e8#Le2@Vqu zkU2lKdiFUy_6`_V!lM(?a#pMaW$U%$Q%~(Z@ci*JFI~C*+N-bLx_R>k34E?xI6r&h z=;3FH)2FvilJs@ByBXPWwDLe+Vdx>S9^BVZszC(D-J4vAnuPr7uCeV0&&*7&uF2L1 zIvP=$@`Lig<~KCHW9EN_y<3LcfSbdgcEo`(o@zv_Y-*^ju2@-8v^*cmCoLVl1EZUF zAD+E>`|cON`}pRm-D_J5JB9-G-Y zv8D$h^*s9q&$mMXdLs>ak!rbw1pFk^T|Y6k^O>2$$BrF6a^(5v z4j(==vj?3%Hj2RE=7t))<>AZn%DgKa;IG+AhmVyl&B0zIpnP8^^^V^1_WX&u$%RDoWD$DPtizhZKO0%pW{3HQZbbTnCjV+?2S=|2-Fx@7Nfw$d2u}J1=HG* zECe{ZfuppxxxKq@c1uCjs;{Yp!;zUpsm(E%H^*T9 z;l^~##9#pwTO&f9fy~0H*43RYbrr?=St$aGAtMrsNXRa20Jf%y!PbhLIE`3GBg4Z(LxY0@tGhc=H+06<#(aJpZ&b*!u)+=kknby0T0IEb=j0cbtgNi5 zM{IaQLqmOiO;rVGc;;ix5fxl{Wn^n!xaPa^`=SuAU}=D_CyCIo*`n6Prr^LzWo<)C zTlET#L5d9xNyB0@OUQFD0R!_%5i);ILAM42KuYEDsQV@Kbb zo<^?h158E4w~crT;N~mMO*W_lJsmA5n+-|KK#eRVIVmwA0m^eY3S;RiR>hDkzq_rm zh7MH;cM?^f@B>M743LFlH@S-Zg2PC_p8{197zUlM1?GW%rX<3%0|bZ%h>(AUsI+9i z$0sJIWn||9U=R_5x!FK;hkDJ1$Ovs1r&NVs)XM0 zq;T4jvq`E0A$okc!e4}>)rNnhtir1D(!zpVa;ya%TYlz^6Df*`6}-!jbdhtDn~mqj zpy6se{MKa96(LZvaP$regTm7anDq8>wwyo5FXoZG=A33V$PQA)MHR?1=%ZqyiA51J z=p!S-!$6rVL>?@Y21)|_8P0|u`u&dFzGzVdm|7tv_l><3DzJ)R&uV`_I2Po$QGfxr8UHpG#51L z5WivP>J3f&q^$Jhgct*C6-Keav)PCPvCl#d50vNJ!SO7)&>LVw#3z6pCVd64y9`|i zrUApe%Yp_d^{L=BnKysq>Ou6v2i*xTqHuo;Xx#A{1}?<;vJg## z(4=AW$w&mOi;5G9dfaogvSU3n-4J1)61mkObzUsc+&=ae38qm< zXt$f0gCsJmx_5Hs?6aHuYUh^lcopcnG7^j_#qLH7n~V|&(`9^RxfuserP9j}*+pSb zEH0%Pov1CgE13|r+N>7ky-~p86 zOq&E+=GlLRm5rTs#hLT`#(!Te80=nhXDaN|uzEvZV@ZZy?r9`P1*wsoq((Vu2ypcg z3A}QYLX;eBZm@UB;w88h99=kua(5385!QRmO*t7|lJv83EHmV;fqIA}SQ&1JPsxNm z7Ap31v;+}f5ECMw2r`op`~{1B+?{MK?l%y{s*QgUQRGAN3d;aA6poU{kG%zeF)B!A z{6pSOA97=SDyJnJl@!O9ADH4LMK}|;*kgsC#MKy|!>dmxu-rs002fE7fwc=KqswvQ z8v)|DATdy`LO%bTL&X~%aKq?XeVwjURhm~m7s&KJ+c`XUJf4noytSv?kXhC;xOt?bW<^S5uor!UzNJRv<7%vS z%j#+mNT`fikrg=7U?kP2OD(GJUB7F6cMa7JV#dqgH8i!hclGuUjg0j)lw^NKEB&2G z4(LgqAYCkW=zTN7nhb# zPJB&04pcQ#P74>lq@#~FXqA7m0B?~a-_U%5F`)=;cq%&DI<$49y)rLe9pGfbe&@Gj z#Q6T3H8l>ExQy3re1d^2@9{rQ55e3R=HdGIbP9~}71@~!Zw8ND#}g`3k(-$hr+G>N z2QMktmTf4@NemD6b~MAzCWxsc^FmBwdQSfG!eV5-DkX_nSg@ZfOY?uAt0Tw3X$qkw zuMzE%k(^D0`0Fo1-@jU}~ZXbZC7kBSKm1P2E|NKypFM-`h3fJx|W823T%eYxwa=8!mkp2&l}h?Va6y0;EFA zl@W!}7%eF?KZABwU2GArC|7Frdh8%X>U8?3=-9Y~q-0(6eS65dY|8QBLC4V#wD|c84@%8cX_Hd&GRepSC z$&>dP)#dd*9K7Yalme2Eb<~k$D_ri&L2{Qq!NC*A{{uZ#XYds(4l*PU*$#4Lm@X>L z5U!^C!p%nj$e0|@QEK=iuoRJ{#1>}79}&Y^eXuMjNE#R@5&MBcn>_$R*yz-~p68FVgKubb zR#|iZ_)te}QF@G8;>O^%bZ<~V60#>j%?{D66z~ciJnDZwd5AJ3SSs=N@p5P29X;bRhT_+C<@E9cs0Z%re#Az9>LTAc|@8s);m~=qQX)|m|CU8 zaufND5-9lv_=7Ffnm-bT&?~Yo%FqynoMR=nvtpx?_tm!Ja0d>4>V$&Yp7p@lQ_MCj$p3Gc zzYNe^nFSE`0VSUuCA_k=cOcId$8O8;0f_zrE>=21Et4TAW?@$R5iva&h>3yTt6G6L z2?raV{lerQsaZnEXCI(VDQz9uc4*he{^qi*7#M%4!7yuyFg^|j#X3Rx8Vi3Aq51og z1MK4D05<~M;9fpKnyBR5lG;^$EtLhS`cQw@WtJR%hmo!^&=PcbA`>!~mp4F7PA&Cv zG^Ydnj!puSXED;FkU!=^LM3S0s&SixEyQ|1GL`@qk79BLePmcD2RvuQCmgBb{r=Qm ztjm9_>e;k!_RtPG+$#2wy za$Pvu!&=kth0zmFkGuxz-@XX9MZ@HtM}>cJQNB@_&)3EFO^@|76lX*${k`1pIq`J+ z@C71b$dO8tHldx$y6>{E=#>1jy7qxpRV&h>lmQ~7UO|>C3gjRsp4<|Ud)V2C{6ln! zIVE)+4du%-<8{hFPq+%;E)Y&UGZVh>gGXMaLh(H1Laq5DVf2kBw_j)odE}*H$_amL z$-T@D$Z2Se%-Lpq#K*t-Pzlc{Z625y>8dX!VZ99Sl5~iUz47LZJBK%n=z*n<lfh4 z_cGWUbriWr9&F)O{Sh!Z7=-mw2Z94E zjlHedE)NMXx??%dn^HbuvV(vn5sgInG$Hf%cB77GT_0a*XgH$pi}Es(q9fFDi0CPe zkpi2rp5(MUL7B+J;m1QNx zML8+45s=t@v&&3grX^;`(Byx~B@u9c5L>`yUwFgRh?VYKkh#>x3gJy~AqPSJjPVqs zI<(}Ml^;vaN{NkB2aCO2jgA`64$hrrFUZ^c(ER-a0>seD_xECs=VPx%AxT6*R7-bg3%l|QY`|aRY*ehLbcU7?LL)z9NHF-`2k>&PF7%$|y-TN4 z<(fz>uXD_5rF@l#CDMT~NFvOX1QHWc0O<3QC&7lBG*+m>aLP6%op`*Uu()((MRhUH zrcGZP;#lO{GbCjrK&OALt8ZvccYSe2l+xdsO`+irWb_4CN^;<<^9AAJ`Zj06J?T(0I^3jVb&u7*&Np=B%WJ zA{-ne7q^q0CCmMY>#c1${$W`t-1ylA$Y$Ko+}ci}$D9Q0;IV(QlBJWUBvcodUQk-y z*xom?Vav|-J#{M*!^F-)__>I06LK(p%eg;tK^K0Z%~UWFvYYaOILtZ(D%26tYB|lHj@r*hQ zahi~ddj~3Mai)J6xlM;h*Y(sFryCSL_I%^$iNzN7ZvOJHsAS+4>|HalbN|t&)^%27 zaJ)UNvBdWYsYs1cTKVmyN&deXE4;w8YOqQdlf*H_(;FXMe{Xr@0mfHO3{g>0(b3T{ zF)`%h!hnX(cyfyI(x7up%^bXg!xMAM8hiVPM%Qhe*g8vnACwLor7o;#ADVdT(CKSO zcZ@XUM+Z60{Y7&zIX~F_?FYv{ruKv5A5;6m@sFwf;P}VI{ukbGoCGA;NSFWs002ov JPDHLkV1hC(f$IPO delta 99907 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%0ABFg$9B?6I3>W0TIYa+oL8ZlDef^8=cOFC(jt6 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