|
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485 |
- import torch
- from triacontagon.model import Model, \
- TrainingBatch, \
- _per_layer_required_vertices
- from triacontagon.data import Data
- from triacontagon.decode import dedicom_decoder
-
-
- def test_per_layer_required_vertices_01():
- d = Data()
- d.add_vertex_type('Gene', 4)
- d.add_vertex_type('Drug', 5)
-
- d.add_edge_type('Gene-Gene', 0, 0, [ torch.tensor([
- [1, 0, 0, 1],
- [0, 1, 1, 0],
- [0, 0, 1, 0],
- [0, 1, 0, 1]
- ]).to_sparse() ], dedicom_decoder)
-
- d.add_edge_type('Gene-Drug', 0, 1, [ torch.tensor([
- [0, 1, 0, 0, 1],
- [0, 0, 1, 0, 0],
- [1, 0, 0, 0, 1],
- [0, 0, 1, 1, 0]
- ]).to_sparse() ], dedicom_decoder)
-
- d.add_edge_type('Drug-Drug', 1, 1, [ torch.tensor([
- [1, 0, 0, 0, 0],
- [0, 1, 0, 0, 0],
- [0, 0, 1, 0, 0],
- [0, 0, 0, 1, 0],
- [0, 0, 0, 0, 1]
- ]).to_sparse() ], dedicom_decoder)
-
- batch = TrainingBatch(0, 1, 0, torch.tensor([
- [0, 1]
- ]))
-
- res = _per_layer_required_vertices(d, batch, 5)
- print('res:', res)
-
-
- def test_model_convolve_01():
- d = Data()
- d.add_vertex_type('Gene', 4)
- d.add_vertex_type('Drug', 5)
-
- d.add_edge_type('Gene-Gene', 0, 0, [ torch.tensor([
- [1, 0, 0, 1],
- [0, 1, 1, 0],
- [0, 0, 1, 0],
- [0, 1, 0, 1]
- ], dtype=torch.float).to_sparse() ], dedicom_decoder)
-
- d.add_edge_type('Gene-Drug', 0, 1, [ torch.tensor([
- [0, 1, 0, 0, 1],
- [0, 0, 1, 0, 0],
- [1, 0, 0, 0, 1],
- [0, 0, 1, 1, 0]
- ], dtype=torch.float).to_sparse() ], dedicom_decoder)
-
- d.add_edge_type('Drug-Drug', 1, 1, [ torch.tensor([
- [1, 0, 0, 0, 0],
- [0, 1, 0, 0, 0],
- [0, 0, 1, 0, 0],
- [0, 0, 0, 1, 0],
- [0, 0, 0, 0, 1]
- ], dtype=torch.float).to_sparse() ], dedicom_decoder)
-
- model = Model(d, [9, 32, 64], keep_prob=1.0,
- conv_activation = torch.sigmoid,
- dec_activation = torch.sigmoid)
-
- repr_1 = torch.eye(9)
- repr_1[4:, 4:] = 0
- repr_2 = torch.eye(9)
- repr_2[:4, :4] = 0
-
- in_layer_repr = [
- repr_1[:4, :].to_sparse(),
- repr_2[4:, :].to_sparse()
- ]
-
- _ = model.convolve(in_layer_repr)
|