Nothing
# Use sparingly to minimize AWS costs.
# And afterwards, manually verify that all the buckets are gone.
tar_test("aws with custom format", {
skip_if_no_aws()
skip_if_not_installed("torch")
s3 <- paws.storage::s3()
bucket_name <- random_bucket_name()
s3$create_bucket(Bucket = bucket_name)
on.exit(aws_s3_delete_bucket(bucket_name))
expr <- quote({
format <- tar_format(
read = function(path) {
torch::torch_load(path)
},
write = function(object, path) {
torch::torch_save(obj = object, path = path)
},
marshal = function(object) {
con <- rawConnection(raw(), open = "wr")
on.exit(close(con))
torch::torch_save(object, con)
rawConnectionValue(con)
},
unmarshal = function(object) {
con <- rawConnection(object, open = "r")
on.exit(close(con))
torch::torch_load(con)
}
)
tar_target(
a,
torch::torch_tensor(c(1, 2)),
format = format,
repository = "aws",
resources = tar_resources(
aws = tar_resources_aws(bucket = !!bucket_name, prefix = "_targets")
),
storage = "main",
retrieval = "main"
)
})
expr <- tar_tidy_eval(expr, environment(), TRUE)
eval(as.call(list(`tar_script`, expr, ask = FALSE)))
tar_make(callr_function = NULL)
out <- tar_read(a)
expect_true(inherits(out, "torch_tensor"))
expect_equal(as.integer(sum(out)), 3L)
expect_false(file.exists(file.path("_targets", "objects")))
expect_false(file.exists(file.path("_targets", "objects", "a")))
tmp <- tempfile()
aws_s3_download(
key = "_targets/objects/a",
bucket = bucket_name,
file = tmp,
max_tries = 1L
)
out <- torch::torch_load(tmp)
expect_true(inherits(out, "torch_tensor"))
expect_equal(as.integer(sum(out)), 3L)
})
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.