Exemple #1
0
 def test_max_pool_masked(self):
     xval = np.random.random((100, 20, 50)).astype("float32")
     maskid = np.random.randint(1, 18, (100, ))
     mask = np.ones((xval.shape[:2]))
     for i in range(mask.shape[0]):
         mask[i, maskid[i]:] = 0
     #xval[:, :, -1] = 100
     x = Val(xval)
     x.mask = Val(mask)
     pool = GlobalPool1D(mode="max")
     pred = pool(x)
     predval = pred.eval()
     xval = xval - 1e9 * np.tensordot(1 - mask, np.ones(
         (xval.shape[-1], )), 0)
     predvalexp = np.max(xval, axis=1)
     self.assertTrue(np.allclose(predval, predvalexp))
Exemple #2
0
 def test_output_mask_strided(self):
     xval = np.random.random((100, 20, 50)).astype("float32")
     maskid = np.random.randint(3, 20, (100, ))
     mask = np.ones((xval.shape[:2]))
     for i in range(mask.shape[0]):
         mask[i, maskid[i]:] = 0
     conv = Conv1D(indim=50,
                   outdim=40,
                   window=5,
                   stride=4,
                   border_mode="valid")
     x = Val(xval)
     x.mask = Val(mask)
     pred = conv(x)
     predmask = pred.mask
     print predmask.eval().shape
     print predmask.eval()[:5]
     print mask[:5]
Exemple #3
0
 def test_output_shape_masked(self):
     xval = np.random.random((100, 20, 50)).astype("float32")
     maskid = np.random.randint(3, 20, (100, ))
     mask = np.ones((xval.shape[:2]))
     for i in range(mask.shape[0]):
         mask[i, maskid[i]:] = 0
     conv = Conv1D(indim=50, outdim=40, window=5)
     x = Val(xval)
     x.mask = Val(mask)
     pred = conv(x)
     predmask = pred.mask
     predval = pred.eval()
     predvalmask = (predval != 0.0) * 1
     predvalexpmask = np.ones_like(predvalmask)
     for i in range(predvalexpmask.shape[0]):
         predvalexpmask[i,
                        min(maskid[i] + 2, predvalexpmask.shape[1]):, :] = 0
     self.assertTrue(np.sum(predvalexpmask - predvalmask) == 0)
     self.assertEqual(predval.shape[:2], xval.shape[:2])
     self.assertEqual(predval.shape[2], 40)