Nothing
context("models-facenet")
test_that("tests for pretrained model_mtcnn", {
model <- model_mtcnn(pretrained = TRUE)
input <- torch_randn(1, 3, 192, 192)
model$eval()
out <- model(input)
expect_tensor_shape(out$boxes, c(1, 4))
expect_tensor_shape(out$landmarks, c(1, 10))
expect_tensor_shape(out$cls, c(1, 2))
rm(model)
gc()
})
test_that("tests for non-pretrained model_mtcnn", {
model <- model_mtcnn(pretrained = FALSE)
input <- torch_randn(1, 3, 224, 224)
model$eval()
out <- model(input)
expect_tensor_shape(out$boxes, c(1, 4))
expect_tensor_shape(out$landmarks, c(1, 10))
expect_tensor_shape(out$cls, c(1, 2))
rm(model)
gc()
})
test_that("tests for pretrained model_facenet_pnet", {
modelpnet = model_facenet_pnet(pretrained = TRUE)
modelpnet$eval()
input = torch_randn(1,3,160,160)
out = modelpnet(input)
expect_tensor_shape(out$boxes, c(1,4,75,75))
expect_tensor_shape(out$cls, c(1,2,75,75))
rm(modelpnet)
gc()
})
test_that("tests for non-pretrained model_facenet_pnet", {
modelpnet = model_facenet_pnet(pretrained = FALSE)
modelpnet$eval()
input = torch_randn(1,3,160,160)
out = modelpnet(input)
expect_tensor_shape(out$boxes, c(1,4,75,75))
expect_tensor_shape(out$cls, c(1,2,75,75))
rm(modelpnet)
gc()
})
test_that("tests for pretrained model_facenet_rnet", {
modelrnet = model_facenet_rnet(pretrained = TRUE)
modelrnet$eval()
input = torch_randn(1,3,24,24)
out = modelrnet(input)
expect_tensor_shape(out$boxes, c(1,4))
expect_tensor_shape(out$cls, c(1,2))
rm(modelrnet)
gc()
})
test_that("tests for non-pretrained model_facenet_rnet", {
modelrnet = model_facenet_rnet(pretrained = FALSE)
modelrnet$eval()
input = torch_randn(1,3,24,24)
out = modelrnet(input)
expect_tensor_shape(out$boxes, c(1,4))
expect_tensor_shape(out$cls, c(1,2))
rm(modelrnet)
gc()
})
test_that("tests for pretrained model_facenet_onet", {
modelonet = model_facenet_onet(pretrained = TRUE)
modelonet$eval()
input = torch_randn(1,3,48,48)
out = modelonet(input)
expect_tensor_shape(out$boxes, c(1,4))
expect_tensor_shape(out$cls, c(1,2))
expect_tensor_shape(out$landmarks, c(1,10))
rm(modelonet)
gc()
})
test_that("tests for non-pretrained model_facenet_onet", {
modelonet = model_facenet_onet(pretrained = FALSE)
modelonet$eval()
input = torch_randn(1,3,48,48)
out = modelonet(input)
expect_tensor_shape(out$boxes, c(1,4))
expect_tensor_shape(out$cls, c(1,2))
expect_tensor_shape(out$landmarks, c(1,10))
rm(modelonet)
gc()
})
test_that("tests for pretrained model_facenet_inception_resnet_v1 with vgg2face weights", {
model_vgg = model_facenet_inception_resnet_v1(pretrained = 'vggface2')
model_vgg$eval()
input = torch_randn(1,3,224,224)
out = model_vgg(input)
expect_tensor_shape(out, c(1,512))
rm(model_vgg)
gc()
})
test_that("tests for pretrained model_facenet_inception_resnet_v1 with casia-webface weights", {
model_casia = model_facenet_inception_resnet_v1(pretrained = 'casia-webface')
model_casia$eval()
input = torch_randn(1,3,320,260)
out = model_casia(input)
expect_tensor_shape(out, c(1,512))
rm(model_casia)
gc()
})
test_that("tests for non-pretrained model_facenet_inception_resnet_v1", {
model = model_facenet_inception_resnet_v1(pretrained = NULL)
model$eval()
input = torch_randn(1,3,224,224)
out = model(input)
expect_tensor_shape(out, c(1,512))
rm(model)
gc()
})
test_that("tests for model_facenet_inception_resnet_v1 with classify=TRUE and default num_classes", {
model = model_facenet_inception_resnet_v1(pretrained = NULL, classify = TRUE)
model$eval()
input = torch_randn(1,3,224,224)
out = model(input)
expect_tensor_shape(out, c(1,10)) # Default num_classes is 10
rm(model)
gc()
})
test_that("tests for model_facenet_inception_resnet_v1 with classify=TRUE and custom num_classes", {
model = model_facenet_inception_resnet_v1(pretrained = NULL, classify = TRUE, num_classes = 100)
model$eval()
input = torch_randn(1,3,224,224)
out = model(input)
expect_tensor_shape(out, c(1,100)) # Custom num_classes is 100
rm(model)
gc()
})
test_that("tests for model_facenet_inception_resnet_v1 with batch size", {
model = model_facenet_inception_resnet_v1(pretrained = NULL)
model$eval()
input = torch_randn(4,3,224,224) # Batch size of 4
out = model(input)
expect_tensor_shape(out, c(4,512))
rm(model)
gc()
})
test_that("error test for model_mtcnn with error input size", {
model <- model_mtcnn(pretrained = FALSE)
input <- torch_randn(1, 3, 10, 10)
model$eval()
expect_error(
model(input),
regexp = "size|dimension|shape"
)
rm(model)
gc()
})
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.