Skip to content

Commit 9d63d99

Browse files
author
Sigrid Keydana
authored
Merge pull request #1017 from rstudio/update/dcgan-example
update dcgan example for TF 2
2 parents 09de409 + d5ebfef commit 9d63d99

File tree

1 file changed

+6
-16
lines changed

1 file changed

+6
-16
lines changed

vignettes/examples/eager_dcgan.R

Lines changed: 6 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -6,14 +6,9 @@
66

77

88
library(keras)
9-
use_implementation("tensorflow")
10-
use_session_with_seed(7777, disable_gpu = FALSE, disable_parallel_cpu = FALSE)
119
library(tensorflow)
12-
tfe_enable_eager_execution(device_policy = "silent")
13-
1410
library(tfdatasets)
1511

16-
1712
mnist <- dataset_mnist()
1813
c(train_images, train_labels) %<-% mnist$train
1914

@@ -132,25 +127,20 @@ discriminator <-
132127
generator <- generator()
133128
discriminator <- discriminator()
134129

135-
generator$call = tf$contrib$eager$defun(generator$call)
136-
discriminator$call = tf$contrib$eager$defun(discriminator$call)
130+
cross_entropy = tf$keras$losses$BinaryCrossentropy(from_logits = TRUE)
137131

138132
discriminator_loss <- function(real_output, generated_output) {
139-
real_loss <-
140-
tf$losses$sigmoid_cross_entropy(multi_class_labels = k_ones_like(real_output),
141-
logits = real_output)
142-
generated_loss <-
143-
tf$losses$sigmoid_cross_entropy(multi_class_labels = k_zeros_like(generated_output),
144-
logits = generated_output)
133+
real_loss <- cross_entropy(k_ones_like(real_output), real_output)
134+
generated_loss <- cross_entropy(k_zeros_like(generated_output), generated_output)
145135
real_loss + generated_loss
146136
}
147137

148138
generator_loss <- function(generated_output) {
149-
tf$losses$sigmoid_cross_entropy(tf$ones_like(generated_output), generated_output)
139+
cross_entropy(tf$ones_like(generated_output), generated_output)
150140
}
151141

152-
discriminator_optimizer <- tf$train$AdamOptimizer(1e-4)
153-
generator_optimizer <- tf$train$AdamOptimizer(1e-4)
142+
discriminator_optimizer <- tf$optimizers$Adam(1e-4)
143+
generator_optimizer <- tf$optimizers$Adam(1e-4)
154144

155145
num_epochs <- 150
156146
noise_dim <- 100

0 commit comments

Comments
 (0)