コード例 #1
0
class Neuron_INVERT(unittest.TestCase):
    """Tests the Neuron class by building a INVERT logic gate Neuron"""
    def setUp(self):
        """Prepares a INVERT-type Neuron."""
        self.INVERT_Neuron = Neuron([-12], Sigmoid().activate, bias=6)

    def test_INVERT_high(self):
        """Tests a scenario in which a Neuron - designed to be an INVERT port - returns a output as close as possible to high (1)"""
        outcome = self.INVERT_Neuron.activate([0])
        self.assertAlmostEqual(outcome, 1, 2)

    def test_INVERT_low(self):
        """Tests a scenario in which a Neuron - designed to be an INVERT port - returns a output as close as possible to low (0)"""
        outcome = self.INVERT_Neuron.activate([1])
        self.assertAlmostEqual(outcome, 0, 2)
コード例 #2
0
class Neuron_NOR(unittest.TestCase):
    """Tests the Neuron class by building a NOR logic gate Neuron"""
    def setUp(self):
        """Prepares a NOR-type Neuron"""
        self.NOR_Neuron = Neuron([-12, -12, -12], Sigmoid().activate, bias=6)

    def test_NOR_high(self):
        """Tests a scenario in which a Neuron - designed to be an NOR port - returns a output as close as possible to high (1)"""
        outcome = self.NOR_Neuron.activate([0, 0, 0])
        self.assertAlmostEqual(outcome, 1, 2)

    def test_NOR_low(self):
        """Tests some scenarios in which a Neuron - designed to be an NOR port - returns a output as close as possible to low (0)"""
        outcome = self.NOR_Neuron.activate([1, 0, 0])
        self.assertAlmostEqual(outcome, 0, 2)

        outcome = self.NOR_Neuron.activate([0, 1, 0])
        self.assertAlmostEqual(outcome, 0, 2)

        outcome = self.NOR_Neuron.activate([1, 1, 0])
        self.assertAlmostEqual(outcome, 0, 2)

        outcome = self.NOR_Neuron.activate([0, 0, 1])
        self.assertAlmostEqual(outcome, 0, 2)

        outcome = self.NOR_Neuron.activate([1, 0, 1])
        self.assertAlmostEqual(outcome, 0, 2)

        outcome = self.NOR_Neuron.activate([0, 1, 1])
        self.assertAlmostEqual(outcome, 0, 2)
コード例 #3
0
from Activation import Sigmoid
from Neuron import Neuron

AND_Neuron_wrong = Neuron([0.5, 0.5], Sigmoid().activate, bias=-1)

print("Should be high (1):")
outcome = AND_Neuron_wrong.activate([1, 1])
print("Input [1,1] gives {}".format(outcome))
print("")
print("Should be low (0):")
outcome = AND_Neuron_wrong.activate([1, 0])
print("Input [1,0] gives {}".format(outcome))
outcome = AND_Neuron_wrong.activate([0, 1])
print("Input [0,1] gives {}".format(outcome))
outcome = AND_Neuron_wrong.activate([0, 0])
print("Input [0,0] gives {}".format(outcome))
コード例 #4
0
from Activation import Sigmoid
from Neuron import Neuron

INVERTER_Neuron_wrong = Neuron([-1], Sigmoid().activate)

print("Should be high (1):")
outcome = INVERTER_Neuron_wrong.activate([0])
print("Input [0] gives {}".format(outcome))
print("")
print("Should be low (0):")
outcome = INVERTER_Neuron_wrong.activate([1])
print("Input [1] gives {}".format(outcome))