def test_spa_vocab():
# create a model without a vocab and check that it is empty
model = spa.Network()
assert len(model.vocabs) == 0
# create a model with a vocab and check that it's filled
va = spa.Vocabulary(16)
va.populate("PANTS")
vb = spa.Vocabulary(32)
vb.populate("SHOES")
model = spa.Network(vocabs=VocabularyMap([va, vb]))
assert list(model.vocabs[16].keys()) == ["PANTS"]
assert list(model.vocabs[32].keys()) == ["SHOES"]
# warning on vocabs with duplicate dimensions
vc = spa.Vocabulary(16)
vc.populate("SOCKS")
with pytest.warns(UserWarning):
model = spa.Network(vocabs=VocabularyMap([va, vb, vc]))
assert list(model.vocabs[16].keys()) == ["SOCKS"]
assert list(model.vocabs[32].keys()) == ["SHOES"]
评论列表
文章目录