Nothing
test_that("write image", {
temp <- tempfile()
orig_img <- png::readPNG(test_path("resources/img.png"))
img <- array(orig_img, dim = c(1, 28, 28, 1))
with_logdir(temp, {
log_event(hello = summary_image(img))
})
events <- collect_events(temp)
expect_equal(nrow(events), 2)
skip_if_tbparse_not_available()
reader <- tbparse$SummaryReader(temp)
buf <- reader$tensors$value[[1]][[3]]
# TODO: in theory we don't need tensorflow for this, but couldnt find a way to
# cast the bytestring to a raw vector.
reloaded <- as.array(tensorflow::tf$image$decode_png(buf))
expect_equal(orig_img, reloaded[,,1]/255)
})
test_that("can write nested images", {
temp <- tempfile()
orig_img <- png::readPNG(test_path("resources/img.png"))
img <- array(orig_img, dim = c(1, 28, 28, 1))
with_logdir(temp, {
log_event(
train = list(im = summary_image(img)),
valid = list(im = summary_image(img))
)
})
events <- collect_events(temp)
expect_equal(nrow(events), 4)
})
test_that("can write a batch of images", {
orig_img <- png::readPNG(test_path("resources/img.png"))
img <- array(orig_img, dim = c(28, 28, 1))
arr <- array(0, dim = c(10, 28, 28, 1))
for(i in 1:10) {
arr[i,,,] <- img
}
temp <- tempfile()
with_logdir(temp, {
log_event(hello = summary_image(arr))
})
skip_if_tbparse_not_available()
reader <- tbparse$SummaryReader(temp)
tags <- reader$tags
expect_equal(as.character(tags$tensors), "hello")
})
test_that("can write a ggplot", {
df <- data.frame(x = 1:10, y = 1:10)
gg <- ggplot2::ggplot(df, ggplot2::aes(x, y)) +
ggplot2::geom_point()
temp <- tempfile()
with_logdir(temp, {
log_event(hello = summary_image(gg))
})
events <- collect_events(temp)
expect_equal(nrow(events), 2)
buf <- field(field(events$summary[[2]], "image"), "buffer")
reloaded <- png::readPNG(as.raw(buf[[1]]))
expect_equal(length(dim(reloaded)), 3)
})
test_that("error when passing an array with wrong dimensions", {
orig_img <- png::readPNG(test_path("resources/img.png"))
img <- array(orig_img, dim = c(28, 28, 1))
temp <- tempfile()
expect_error({
with_logdir(temp, {
log_event(hello = summary_image(img))
})
}, regexp = "array with dimensions")
})
test_that("can pass a custom display name", {
temp <- tempfile()
orig_img <- png::readPNG(test_path("resources/img.png"))
img <- array(orig_img, dim = c(1, 28, 28, 1))
with_logdir(temp, {
log_event(hello = summary_image(
img,
metadata = summary_metadata(
plugin_name = "images",
display_name = "Hello world",
description = "This is a description"
)
))
})
s <- collect_events(temp, type="summary")
expect_equal(
field(field(s$summary, "metadata"), "description"),
"This is a description"
)
expect_equal(
field(field(s$summary, "metadata"), "display_name"),
"Hello world"
)
})
test_that("fails if weong metadata is specified", {
orig_img <- png::readPNG(test_path("resources/img.png"))
img <- array(orig_img, dim = c(1, 28, 28, 1))
expect_error({
summary_image(img, metadata = summary_metadata(plugin_name = "tensor"))
}, regexp = "Plugin name should be")
})
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.