tests/testthat/test-folder-dataset.R

test_that("image_folder dataset", {

  ds <- image_folder_dataset(
    root = "assets/class",
    transform = . %>% transform_to_tensor %>%
      transform_resize(c(32,32))
  )
  expect_length(ds[1], 2)

  dl <- torch::dataloader(ds, batch_size = 2, drop_last = TRUE)
  coro::loop(for(batch in dl) {
    expect_tensor_shape(batch[[1]], c(2, 3, 32, 32))
    expect_tensor_shape(batch[[2]], 2)
    expect_tensor_shape(batch$x, c(2, 3, 32, 32))
    expect_tensor_shape(batch$y, 2)
  })

  expect_length(ds, 15)

})

test_that("default_loader works as expected", {
  # rvb jpeg
  cat1 <- base_loader("assets/class/cat/cat.1.jpg")
  expect_equal(dim(cat1)[3], 3L)
  # rvb png
  horse1 <- base_loader("assets/class/horse/horse-1.png")
  expect_equal(dim(horse1)[3], 3L)
  # rvb tiff
  horse2 <- base_loader("assets/class/horse/horse-2.tif")
  expect_equal(dim(horse2)[3], 3L)
  # grayscale jpeg
  dog5 <- base_loader("assets/class/dog/dog.5.jpg")
  expect_equal(dim(dog5)[3], 3L)
})

Try the torchvision package in your browser

Any scripts or data that you put into this service are public.

torchvision documentation built on Nov. 6, 2025, 9:07 a.m.