コード例 #1
0
  def testBinaryEntropy(self):

    p = torch.tensor([0.1, 0.02, 0.99, 0.5, 0.75, 0.8, 0.3, 0.4, 0.0, 1.0])
    entropy, entropySum = binaryEntropy(p)
    self.assertAlmostEqual(entropySum, 5.076676985, places=4)
    self.assertAlmostEqual(entropySum, entropy.sum(), places=4)
    self.assertAlmostEqual(entropy[0], 0.468995594, places=4)
    self.assertAlmostEqual(entropy[1], 0.141440543, places=4)
    self.assertAlmostEqual(entropy[2], 0.080793136, places=4)
    self.assertEqual(entropy[8], 0.0)
    self.assertEqual(entropy[9], 0.0)

    p = torch.tensor([0.25, 0.25, 0.25, 0.25])
    entropy, entropySum = binaryEntropy(p)
    self.assertAlmostEqual(entropySum, 3.245112498, places=4)
    self.assertAlmostEqual(entropySum, entropy.sum(), places=4)

    p = torch.tensor([0.5, 0.5, 0.5, 0.5])
    entropy, entropySum = binaryEntropy(p)
    self.assertAlmostEqual(entropySum, 4.0, places=4)
    self.assertAlmostEqual(entropySum, entropy.sum(), places=4)
    self.assertAlmostEqual(entropy[0], 1.0, places=4)
    self.assertAlmostEqual(entropy[1], 1.0, places=4)
    self.assertAlmostEqual(entropy[2], 1.0, places=4)
    self.assertAlmostEqual(entropy[3], 1.0, places=4)
コード例 #2
0
    def testBinaryEntropy(self):

        p = torch.tensor([0.1, 0.02, 0.99, 0.5, 0.75, 0.8, 0.3, 0.4, 0.0, 1.0])
        entropy, entropySum = binaryEntropy(p)
        self.assertAlmostEqual(entropySum, 5.076676985, places=4)
        self.assertAlmostEqual(entropySum, entropy.sum(), places=4)
        self.assertAlmostEqual(entropy[0], 0.468995594, places=4)
        self.assertAlmostEqual(entropy[1], 0.141440543, places=4)
        self.assertAlmostEqual(entropy[2], 0.080793136, places=4)
        self.assertEqual(entropy[8], 0.0)
        self.assertEqual(entropy[9], 0.0)

        p = torch.tensor([0.25, 0.25, 0.25, 0.25])
        entropy, entropySum = binaryEntropy(p)
        self.assertAlmostEqual(entropySum, 3.245112498, places=4)
        self.assertAlmostEqual(entropySum, entropy.sum(), places=4)

        p = torch.tensor([0.5, 0.5, 0.5, 0.5])
        entropy, entropySum = binaryEntropy(p)
        self.assertAlmostEqual(entropySum, 4.0, places=4)
        self.assertAlmostEqual(entropySum, entropy.sum(), places=4)
        self.assertAlmostEqual(entropy[0], 1.0, places=4)
        self.assertAlmostEqual(entropy[1], 1.0, places=4)
        self.assertAlmostEqual(entropy[2], 1.0, places=4)
        self.assertAlmostEqual(entropy[3], 1.0, places=4)
コード例 #3
0
ファイル: k_winners.py プロジェクト: stjordanis/htmresearch
 def entropy(self):
     """
 Returns the current total entropy of this layer
 """
     if self.k < self.n:
         _, entropy = binaryEntropy(self.dutyCycle)
         return entropy
     else:
         return 0
コード例 #4
0
ファイル: cnn_sdr.py プロジェクト: rhyolight/nupic.research
 def entropy(self):
   """
   Returns the current total entropy of this layer
   """
   if self.k < self.outputLength:
     _, entropy = binaryEntropy(self.dutyCycle)
     return entropy * self.maxpoolWidth * self.maxpoolWidth
   else:
     return 0
コード例 #5
0
 def entropy(self):
     """
 Returns the current total entropy of this layer
 """
     if self.k < self.outputLength:
         _, entropy = binaryEntropy(self.dutyCycle)
         return entropy * self.maxpoolWidth * self.maxpoolWidth
     else:
         return 0
コード例 #6
0
 def entropy(self):
   """
   Returns the current total entropy of this layer
   """
   if self.k < self.n:
     _, entropy = binaryEntropy(self.dutyCycle)
     return entropy
   else:
     return 0