Fix Codacy Warnings (#477)
--------- Co-authored-by: Dario Coscia <dariocos99@gmail.com>
This commit is contained in:
committed by
Nicola Demo
parent
e3790e049a
commit
4177bfbb50
@@ -10,132 +10,157 @@ embedding_dim = 24
|
||||
func = torch.nn.Tanh
|
||||
rank = 4
|
||||
n_kernel_layers = 3
|
||||
field_indices = ['u']
|
||||
coordinates_indices = ['x', 'y']
|
||||
field_indices = ["u"]
|
||||
coordinates_indices = ["x", "y"]
|
||||
|
||||
|
||||
def test_constructor():
|
||||
# working constructor
|
||||
lifting_net = torch.nn.Linear(len(coordinates_indices) + len(field_indices),
|
||||
embedding_dim)
|
||||
projecting_net = torch.nn.Linear(embedding_dim + len(coordinates_indices),
|
||||
len(field_indices))
|
||||
lifting_net = torch.nn.Linear(
|
||||
len(coordinates_indices) + len(field_indices), embedding_dim
|
||||
)
|
||||
projecting_net = torch.nn.Linear(
|
||||
embedding_dim + len(coordinates_indices), len(field_indices)
|
||||
)
|
||||
LowRankNeuralOperator(
|
||||
lifting_net=lifting_net,
|
||||
projecting_net=projecting_net,
|
||||
coordinates_indices=coordinates_indices,
|
||||
field_indices=field_indices,
|
||||
n_kernel_layers=n_kernel_layers,
|
||||
rank=rank)
|
||||
rank=rank,
|
||||
)
|
||||
|
||||
# not working constructor
|
||||
with pytest.raises(ValueError):
|
||||
LowRankNeuralOperator(
|
||||
lifting_net=lifting_net,
|
||||
projecting_net=projecting_net,
|
||||
coordinates_indices=coordinates_indices,
|
||||
field_indices=field_indices,
|
||||
n_kernel_layers=3.2, # wrong
|
||||
rank=rank)
|
||||
lifting_net=lifting_net,
|
||||
projecting_net=projecting_net,
|
||||
coordinates_indices=coordinates_indices,
|
||||
field_indices=field_indices,
|
||||
n_kernel_layers=3.2, # wrong
|
||||
rank=rank,
|
||||
)
|
||||
|
||||
LowRankNeuralOperator(
|
||||
lifting_net=[0], # wrong
|
||||
projecting_net=projecting_net,
|
||||
coordinates_indices=coordinates_indices,
|
||||
field_indices=field_indices,
|
||||
n_kernel_layers=n_kernel_layers,
|
||||
rank=rank)
|
||||
lifting_net=[0], # wrong
|
||||
projecting_net=projecting_net,
|
||||
coordinates_indices=coordinates_indices,
|
||||
field_indices=field_indices,
|
||||
n_kernel_layers=n_kernel_layers,
|
||||
rank=rank,
|
||||
)
|
||||
|
||||
LowRankNeuralOperator(
|
||||
lifting_net=lifting_net,
|
||||
projecting_net=[0], # wront
|
||||
coordinates_indices=coordinates_indices,
|
||||
field_indices=field_indices,
|
||||
n_kernel_layers=n_kernel_layers,
|
||||
rank=rank)
|
||||
lifting_net=lifting_net,
|
||||
projecting_net=[0], # wront
|
||||
coordinates_indices=coordinates_indices,
|
||||
field_indices=field_indices,
|
||||
n_kernel_layers=n_kernel_layers,
|
||||
rank=rank,
|
||||
)
|
||||
|
||||
LowRankNeuralOperator(
|
||||
lifting_net=lifting_net,
|
||||
projecting_net=projecting_net,
|
||||
coordinates_indices=[0], #wrong
|
||||
field_indices=field_indices,
|
||||
n_kernel_layers=n_kernel_layers,
|
||||
rank=rank)
|
||||
lifting_net=lifting_net,
|
||||
projecting_net=projecting_net,
|
||||
coordinates_indices=[0], # wrong
|
||||
field_indices=field_indices,
|
||||
n_kernel_layers=n_kernel_layers,
|
||||
rank=rank,
|
||||
)
|
||||
|
||||
LowRankNeuralOperator(
|
||||
lifting_net=lifting_net,
|
||||
projecting_net=projecting_net,
|
||||
coordinates_indices=coordinates_indices,
|
||||
field_indices=[0], #wrong
|
||||
n_kernel_layers=n_kernel_layers,
|
||||
rank=rank)
|
||||
lifting_net=lifting_net,
|
||||
projecting_net=projecting_net,
|
||||
coordinates_indices=coordinates_indices,
|
||||
field_indices=[0], # wrong
|
||||
n_kernel_layers=n_kernel_layers,
|
||||
rank=rank,
|
||||
)
|
||||
|
||||
lifting_net = torch.nn.Linear(len(coordinates_indices),
|
||||
embedding_dim)
|
||||
lifting_net = torch.nn.Linear(len(coordinates_indices), embedding_dim)
|
||||
LowRankNeuralOperator(
|
||||
lifting_net=lifting_net,
|
||||
projecting_net=projecting_net,
|
||||
coordinates_indices=coordinates_indices,
|
||||
field_indices=field_indices,
|
||||
n_kernel_layers=n_kernel_layers,
|
||||
rank=rank)
|
||||
|
||||
lifting_net = torch.nn.Linear(len(coordinates_indices) + len(field_indices),
|
||||
embedding_dim)
|
||||
projecting_net = torch.nn.Linear(embedding_dim,
|
||||
len(field_indices))
|
||||
rank=rank,
|
||||
)
|
||||
|
||||
lifting_net = torch.nn.Linear(
|
||||
len(coordinates_indices) + len(field_indices), embedding_dim
|
||||
)
|
||||
projecting_net = torch.nn.Linear(embedding_dim, len(field_indices))
|
||||
LowRankNeuralOperator(
|
||||
lifting_net=lifting_net,
|
||||
projecting_net=projecting_net,
|
||||
coordinates_indices=coordinates_indices,
|
||||
field_indices=field_indices,
|
||||
n_kernel_layers=n_kernel_layers,
|
||||
rank=rank)
|
||||
|
||||
rank=rank,
|
||||
)
|
||||
|
||||
|
||||
def test_forward():
|
||||
lifting_net = torch.nn.Linear(len(coordinates_indices) + len(field_indices),
|
||||
embedding_dim)
|
||||
projecting_net = torch.nn.Linear(embedding_dim + len(coordinates_indices),
|
||||
len(field_indices))
|
||||
lifting_net = torch.nn.Linear(
|
||||
len(coordinates_indices) + len(field_indices), embedding_dim
|
||||
)
|
||||
projecting_net = torch.nn.Linear(
|
||||
embedding_dim + len(coordinates_indices), len(field_indices)
|
||||
)
|
||||
lno = LowRankNeuralOperator(
|
||||
lifting_net=lifting_net,
|
||||
projecting_net=projecting_net,
|
||||
coordinates_indices=coordinates_indices,
|
||||
field_indices=field_indices,
|
||||
n_kernel_layers=n_kernel_layers,
|
||||
rank=rank)
|
||||
|
||||
rank=rank,
|
||||
)
|
||||
|
||||
input_ = LabelTensor(
|
||||
torch.rand(batch_size, 100,
|
||||
len(coordinates_indices) + len(field_indices)),
|
||||
coordinates_indices + field_indices)
|
||||
torch.rand(
|
||||
batch_size, 100, len(coordinates_indices) + len(field_indices)
|
||||
),
|
||||
coordinates_indices + field_indices,
|
||||
)
|
||||
|
||||
out = lno(input_)
|
||||
assert out.shape == torch.Size(
|
||||
[batch_size, input_.shape[1], len(field_indices)])
|
||||
[batch_size, input_.shape[1], len(field_indices)]
|
||||
)
|
||||
|
||||
|
||||
def test_backward():
|
||||
lifting_net = torch.nn.Linear(len(coordinates_indices) + len(field_indices),
|
||||
embedding_dim)
|
||||
projecting_net = torch.nn.Linear(embedding_dim + len(coordinates_indices),
|
||||
len(field_indices))
|
||||
lno=LowRankNeuralOperator(
|
||||
lifting_net = torch.nn.Linear(
|
||||
len(coordinates_indices) + len(field_indices), embedding_dim
|
||||
)
|
||||
projecting_net = torch.nn.Linear(
|
||||
embedding_dim + len(coordinates_indices), len(field_indices)
|
||||
)
|
||||
lno = LowRankNeuralOperator(
|
||||
lifting_net=lifting_net,
|
||||
projecting_net=projecting_net,
|
||||
coordinates_indices=coordinates_indices,
|
||||
field_indices=field_indices,
|
||||
n_kernel_layers=n_kernel_layers,
|
||||
rank=rank)
|
||||
rank=rank,
|
||||
)
|
||||
input_ = LabelTensor(
|
||||
torch.rand(batch_size, 100,
|
||||
len(coordinates_indices) + len(field_indices)),
|
||||
coordinates_indices + field_indices)
|
||||
torch.rand(
|
||||
batch_size, 100, len(coordinates_indices) + len(field_indices)
|
||||
),
|
||||
coordinates_indices + field_indices,
|
||||
)
|
||||
input_ = input_.requires_grad_()
|
||||
out = lno(input_)
|
||||
tmp = torch.linalg.norm(out)
|
||||
tmp.backward()
|
||||
grad = input_.grad
|
||||
assert grad.shape == torch.Size(
|
||||
[batch_size, input_.shape[1],
|
||||
len(coordinates_indices) + len(field_indices)])
|
||||
[
|
||||
batch_size,
|
||||
input_.shape[1],
|
||||
len(coordinates_indices) + len(field_indices),
|
||||
]
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user