(m)
| 3 | import numpy as np |
| 4 | from torch.nn import functional as F |
| 5 | def Truncated_initializer(m): |
| 6 | # sample u1: |
| 7 | size = m.size() |
| 8 | u1 = torch.rand(size)*(1-np.exp(-2)) + np.exp(-2) |
| 9 | # sample u2: |
| 10 | u2 = torch.rand(size) |
| 11 | # sample the truncated gaussian ~TN(0,1,[-2,2]): |
| 12 | z = torch.sqrt(-2*torch.log(u1)) * torch.cos(2*np.pi*u2) |
| 13 | m.data = z |
| 14 | |
| 15 | |
| 16 | class GraphConvolution(nn.Module): |