From fb803299262d1cfc73c2e9e5815ba6b77f34bb38 Mon Sep 17 00:00:00 2001 From: TomitaNaofumi Date: Wed, 22 Mar 2017 20:50:04 -0400 Subject: [PATCH 1/2] clipping values, and replacing transposes with permute Without clipping, any values larger than 255 will be replaced with int(v mod 256) by byte(), which results in high freq noise in image. --- torchvision/utils.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/torchvision/utils.py b/torchvision/utils.py index 052215bcbd2..604bcf0e9db 100644 --- a/torchvision/utils.py +++ b/torchvision/utils.py @@ -90,6 +90,6 @@ def save_image(tensor, filename, nrow=8, padding=2, tensor = tensor.cpu() grid = make_grid(tensor, nrow=nrow, padding=padding, normalize=normalize, range=range, scale_each=scale_each) - ndarr = grid.mul(255).byte().transpose(0, 2).transpose(0, 1).numpy() + ndarr = grid.mul(255).clip(0, 255).byte().permute(1, 2, 0).numpy() im = Image.fromarray(ndarr) im.save(filename) From 58710c26a5c12bbd462f710a3b3d148c17ac87e5 Mon Sep 17 00:00:00 2001 From: TomitaNaofumi Date: Wed, 22 Mar 2017 21:33:51 -0400 Subject: [PATCH 2/2] replaced clip with clamp --- torchvision/utils.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/torchvision/utils.py b/torchvision/utils.py index 604bcf0e9db..2e8fbccb243 100644 --- a/torchvision/utils.py +++ b/torchvision/utils.py @@ -90,6 +90,6 @@ def save_image(tensor, filename, nrow=8, padding=2, tensor = tensor.cpu() grid = make_grid(tensor, nrow=nrow, padding=padding, normalize=normalize, range=range, scale_each=scale_each) - ndarr = grid.mul(255).clip(0, 255).byte().permute(1, 2, 0).numpy() + ndarr = grid.mul(255).clamp(0, 255).byte().permute(1, 2, 0).numpy() im = Image.fromarray(ndarr) im.save(filename)