X-Git-Url: https://www.fleuret.org/cgi-bin/gitweb/gitweb.cgi?p=pytorch.git;a=blobdiff_plain;f=denoising-ae-field.py;h=f96c23a1243a003b7c0f8cb038e0f63062ca4b9c;hp=2aa3648991583c7681d145d727a7df5b40de5616;hb=e916a8624b6a09737696c124f35059030f0f20e4;hpb=7b9a3c65d7d1f534de76b49ddabca70c69773390 diff --git a/denoising-ae-field.py b/denoising-ae-field.py index 2aa3648..f96c23a 100755 --- a/denoising-ae-field.py +++ b/denoising-ae-field.py @@ -1,5 +1,10 @@ #!/usr/bin/env python +# Any copyright is dedicated to the Public Domain. +# https://creativecommons.org/publicdomain/zero/1.0/ + +# Written by Francois Fleuret + import math import matplotlib.pyplot as plt @@ -8,6 +13,19 @@ from torch import nn ###################################################################### +def data_rectangle(nb): + x = torch.rand(nb, 1) - 0.5 + y = torch.rand(nb, 1) * 2 - 1 + data = torch.cat((y, x), 1) + alpha = math.pi / 8 + data = data @ torch.tensor( + [ + [ math.cos(alpha), math.sin(alpha)], + [-math.sin(alpha), math.cos(alpha)] + ] + ) + return data, 'rectangle' + def data_zigzag(nb): a = torch.empty(nb).uniform_(0, 1).view(-1, 1) # zigzag @@ -100,7 +118,7 @@ def save_image(data_name, model, data): ###################################################################### -for data_source in [ data_zigzag, data_spiral, data_penta ]: +for data_source in [ data_rectangle, data_zigzag, data_spiral, data_penta ]: data, data_name = data_source(1000) data = data - data.mean(0) model = train_model(data)