IF YOU WOULD LIKE TO GET AN ACCOUNT, please write an email to s dot adaszewski at gmail dot com. User accounts are meant only to report issues and/or generate pull requests. This is a purpose-specific Git hosting for ADARED projects. Thank you for your understanding!
您最多选择25个主题 主题必须以字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符

36 行
1.1KB

  1. from icosagon.data import Data
  2. from icosagon.model import Model
  3. from icosagon.trainprep import PreparedData
  4. import torch
  5. import ast
  6. def _is_identity_function(f):
  7. for x in range(-100, 101):
  8. if f(x) != x:
  9. return False
  10. return True
  11. def test_model_01():
  12. d = Data()
  13. d.add_node_type('Dummy', 10)
  14. fam = d.add_relation_family('Dummy-Dummy', 0, 0, False)
  15. fam.add_relation_type('Dummy Rel', torch.rand(10, 10).round())
  16. m = Model(d)
  17. assert m.data == d
  18. assert m.layer_dimensions == [32, 64]
  19. assert (m.ratios.train, m.ratios.val, m.ratios.test) == (.8, .1, .1)
  20. assert m.keep_prob == 1.
  21. assert _is_identity_function(m.rel_activation)
  22. assert m.layer_activation == torch.nn.functional.relu
  23. assert _is_identity_function(m.dec_activation)
  24. assert m.lr == 0.001
  25. assert m.loss == torch.nn.functional.binary_cross_entropy_with_logits
  26. assert m.batch_size == 100
  27. assert isinstance(m.prep_d, PreparedData)
  28. assert isinstance(m.seq, torch.nn.Sequential)
  29. assert isinstance(m.opt, torch.optim.Optimizer)