Exemplo n.º 1
0
 def test_memory_block_with_glove_embedder_params(self):
     payload = WordEmbedGlove()
     original_embedding = payload.predict([6])
     memb = MemoryBlock(payload, np.asarray([1, 2, 6]), outdim=payload.outdim)
     memory_embedding = memb.predict([2])
     self.assertTrue(np.allclose(original_embedding, memory_embedding))
     print memb.output.allparams
Exemplo n.º 2
0
 def test_memory_block_with_glove_embedder(self):
     payload = WordEmbedGlove()
     original_embedding = payload.predict([6])
     memb = MemoryBlock(payload,
                        np.asarray([1, 2, 6]),
                        outdim=payload.outdim)
     memory_embedding = memb.predict([2])
     self.assertTrue(np.allclose(original_embedding, memory_embedding))
Exemplo n.º 3
0
 def test_memory_block_with_seq_encoder_dynamic_fail(self):
     invocabsize = 5
     encdim = 13
     gru = GRU(dim=invocabsize, innerdim=encdim)
     payload = SeqEncoder(IdxToOneHot(vocsize=invocabsize), gru)
     dynmemb = MemoryBlock(payload, outdim=encdim)
     idxs = [0, 2, 5]
     #dynmemb.predict(idxs)
     self.assertRaises(AssertionError, lambda: dynmemb.predict(idxs))
Exemplo n.º 4
0
    def test_memory_block_with_seq_encoder_dynamic(self):
        invocabsize = 5
        memsize = 10
        seqlen = 3
        encdim = 13
        data = np.random.randint(0, invocabsize, (memsize, seqlen))
        gru = GRU(dim=invocabsize, innerdim=encdim)
        payload = SeqEncoder(IdxToOneHot(vocsize=invocabsize), gru)
        dynmemb = MemoryBlock(payload, outdim=encdim)
        idxs = [0, 2, 5]
        memory_element = dynmemb.predict(idxs, data)
        self.assertEqual(memory_element.shape, (len(idxs), encdim))
        gruparams = set([getattr(gru, pname) for pname in gru.paramnames])
        allparams = set(dynmemb.output.allparams)
        self.assertEqual(gruparams.intersection(allparams), allparams)

        statmemb = MemoryBlock(payload, data, outdim=encdim)
        statpred = statmemb.predict(idxs)
        self.assertTrue(np.allclose(statpred, memory_element))
Exemplo n.º 5
0
 def test_memory_block_with_seq_encoder_static_fail(self):
     invocabsize = 5
     memsize = 10
     seqlen = 3
     encdim = 13
     data = np.random.randint(0, invocabsize, (memsize, seqlen))
     gru = GRU(dim=invocabsize, innerdim=encdim)
     payload = SeqEncoder(IdxToOneHot(vocsize=invocabsize), gru)
     memb = MemoryBlock(payload, data, outdim=encdim)
     idxs = [0, 2, 5]
     self.assertRaises(AssertionError, lambda: memb.predict(idxs, data))
Exemplo n.º 6
0
 def test_memory_block_with_seq_encoder_dynamic_fail(self):
     invocabsize = 5
     encdim = 13
     gru = GRU(dim=invocabsize, innerdim=encdim)
     payload = SeqEncoder(
         IdxToOneHot(vocsize=invocabsize),
         gru
     )
     dynmemb = MemoryBlock(payload, outdim=encdim)
     idxs = [0, 2, 5]
     #dynmemb.predict(idxs)
     self.assertRaises(AssertionError, lambda: dynmemb.predict(idxs))
Exemplo n.º 7
0
    def test_memory_block_with_seq_encoder_dynamic(self):
        invocabsize = 5
        memsize = 10
        seqlen = 3
        encdim = 13
        data = np.random.randint(0, invocabsize, (memsize, seqlen))
        gru = GRU(dim=invocabsize, innerdim=encdim)
        payload = SeqEncoder(
            IdxToOneHot(vocsize=invocabsize),
            gru
        )
        dynmemb = MemoryBlock(payload, outdim=encdim)
        idxs = [0, 2, 5]
        memory_element = dynmemb.predict(idxs, data)
        self.assertEqual(memory_element.shape, (len(idxs), encdim))
        gruparams = set([getattr(gru, pname) for pname in gru.paramnames])
        allparams = set(dynmemb.output.allparams)
        self.assertEqual(gruparams.intersection(allparams), allparams)

        statmemb = MemoryBlock(payload, data, outdim=encdim)
        statpred = statmemb.predict(idxs)
        self.assertTrue(np.allclose(statpred, memory_element))
Exemplo n.º 8
0
 def test_memory_block_with_seq_encoder_static_fail(self):
     invocabsize = 5
     memsize = 10
     seqlen = 3
     encdim = 13
     data = np.random.randint(0, invocabsize, (memsize, seqlen))
     gru = GRU(dim=invocabsize, innerdim=encdim)
     payload = SeqEncoder(
         IdxToOneHot(vocsize=invocabsize),
         gru
     )
     memb = MemoryBlock(payload, data, outdim=encdim)
     idxs = [0, 2, 5]
     self.assertRaises(AssertionError, lambda: memb.predict(idxs, data))