示例#1
0
    def initialize(self):
        """
        Initialize this bit.
        """

        # Position on X axis
        self.x = -1

        # Position on Y axis
        self.y = -1

        # States of this element
        self.is_active = MachineState(False, MAX_PREVIOUS_STEPS)
        self.is_predicted = MachineState(False, MAX_PREVIOUS_STEPS)
        self.is_falsely_predicted = MachineState(False, MAX_PREVIOUS_STEPS)

        # Statistics
        self.stats_activation_count = 0
        self.stats_activation_rate = 0.0
        self.stats_predition_count = 0
        self.stats_precision_rate = 0.0

        # 3D object reference
        self.tree3d_initialized = False
        self.tree3d_pos = (0, 0, 0)
        self.tree3d_item_np = None
        self.tree3d_selected = False
示例#2
0
    def __init__(self):
        """
        Initializes a new instance of this class.
        """

        # Index of this cell in the temporal pooler.
        self.index = -1

        # Position on Z axis
        self.z = -1

        # List of distal segments of this cell.
        self.segments = []

        # States of this element
        self.is_learning = MachineState(False, MAX_PREVIOUS_STEPS)
        self.is_active = MachineState(False, MAX_PREVIOUS_STEPS)
        self.is_predicted = MachineState(False, MAX_PREVIOUS_STEPS)
        self.is_falsely_predicted = MachineState(False, MAX_PREVIOUS_STEPS)

        # Statistics
        self.stats_activation_count = 0
        self.stats_activation_rate = 0.0
        self.stats_predition_count = 0
        self.stats_precision_rate = 0.0

        # 3D object reference
        self.tree3d_initialized = False
        self.tree3d_pos = (0, 0, 0)
        self.tree3d_item_np = None
        self.tree3d_selected = False
示例#3
0
  def initialize(self):
    """
    Initialize this bit.
    """

    self.x = -1
    """Position on X axis"""

    self.y = -1
    """Position on Y axis"""

    # States of this element
    self.isActive = MachineState(False, maxPreviousSteps)
    self.isPredicted = MachineState(False, maxPreviousSteps)
    self.isFalselyPredicted = MachineState(False, maxPreviousSteps)

    #region Statistics properties

    self.statsActivationCount = 0
    self.statsActivationRate = 0.
    self.statsPreditionCount = 0
    self.statsPrecisionRate = 0.

    #endregion

    #region 3d-tree properties (simulation form)

    self.tree3d_initialized = False
    self.tree3d_x = 0
    self.tree3d_y = 0
    self.tree3d_z = 0
    self.tree3d_item = None
    self.tree3d_selected = False
示例#4
0
    def __init__(self):
        """
        Initializes a new instance of this class.
        """

        # Index of this cell in the spatial pooler.
        self.index_sp = -1

        # Index of this synapse in the temporal pooler.
        self.index_tp = -1

        # An input element is a cell in case of the source be a column or then a bit in case of the source be a sensor.
        self.input_elem = None

        # Permanence of this synapse.
        self.permanence = MachineState(0.0, MAX_PREVIOUS_STEPS)

        # States of this element
        self.is_connected = MachineState(False, MAX_PREVIOUS_STEPS)
        self.is_predicted = MachineState(False, MAX_PREVIOUS_STEPS)
        self.is_falsely_predicted = MachineState(False, MAX_PREVIOUS_STEPS)
        self.is_removed = MachineState(False, MAX_PREVIOUS_STEPS)

        # Statistics
        self.stats_connection_count = 0
        self.stats_connection_rate = 0.0
        self.stats_predition_count = 0
        self.stats_precision_rate = 0.0

        # 3D object reference
        self.tree3d_initialized = False
        self.tree3d_item_np = None
        self.tree3d_selected = False
示例#5
0
    def __init__(self, type):
        """
        Initializes a new instance of this class.
        """

        # Determine if this segment is proximal or distal.
        self.type = type

        # Index of this segment in the temporal pooler.
        self.index_tp = -1

        # List of distal synapses of this segment.
        self.synapses = []

        # States of this element
        self.is_active = MachineState(False, MAX_PREVIOUS_STEPS)
        self.is_predicted = MachineState(False, MAX_PREVIOUS_STEPS)
        self.is_falsely_predicted = MachineState(False, MAX_PREVIOUS_STEPS)
        self.is_removed = MachineState(False, MAX_PREVIOUS_STEPS)

        # Statistics
        self.stats_activation_count = 0
        self.stats_activation_rate = 0.0
        self.stats_predition_count = 0
        self.stats_precision_rate = 0.0

        # 3D object reference
        self.tree3d_initialized = False
        self.tree3d_start_pos = (0, 0, 0)
        self.tree3d_end_pos = (0, 0, 0)
        self.tree3d_item_np = None
        self.tree3d_selected = False
示例#6
0
    def initialize(self):
        """
    Initialize this node.
    """

        # Create Classifier instance with appropriate parameters
        self.minProbabilityThreshold = 0.0001
        self.steps = []
        for step in range(maxFutureSteps):
            self.steps.append(step + 1)
        self.classifier = CLAClassifier(steps=self.steps)

        # Increase history according to inference flag
        if self.enableInference:
            maxLen = maxPreviousStepsWithInference
            self.bestPredictedValue = MachineState(0, maxLen)
        else:
            maxLen = maxPreviousSteps
        self.currentValue = MachineState(0, maxLen)
示例#7
0
    def __init__(self):
        """
    Initializes a new instance of this class.
    """

        #region Instance fields

        self.dataSourceFieldName = ''
        """Target field of the database table or file."""

        self.dataSourceFieldDataType = FieldDataType.string
        """Data type of the field returned by database table or file."""

        self.encoder = None
        """Optional encoder to convert raw data to htm input and vice-versa."""

        self.encoderModule = ""
        """Module name which encoder class is imported."""

        self.encoderClass = ""
        """Class name which encode or decode values."""

        self.encoderParams = ""
        """Parameters passed to the encoder class constructor."""

        self.encoderFieldName = ""
        """Field name returned by encoder when decode() function."""

        self.encoderFieldDataType = FieldDataType.string
        """Data type of the field returned by encoder."""

        self.enableInference = False
        """Enable inference for this field."""

        self.currentValue = MachineState(None, maxPreviousSteps)
        """Value read currently from database."""

        self.bestPredictedValue = MachineState(None, maxPreviousSteps)
        """Best value predicted by network. This is need to build predictions chart."""

        self.predictedValues = MachineState(None, maxPreviousSteps)
        """Values predicted by network."""
示例#8
0
  def __init__(self, type):
    """
    Initializes a new instance of this class.
    """

    #region Instance fields

    self.type = type
    """Determine if this segment is proximal or distal."""

    self.indexTP = -1
    """Index of this segment in the temporal pooler."""

    self.synapses = []
    """List of distal synapses of this segment."""

    # States of this element
    self.isActive = MachineState(False, maxPreviousSteps)
    self.isPredicted = MachineState(False, maxPreviousSteps)
    self.isFalselyPredicted = MachineState(False, maxPreviousSteps)
    self.isRemoved = MachineState(False, maxPreviousSteps)

    #region Statistics properties

    self.statsActivationCount = 0
    self.statsActivationRate = 0.
    self.statsPreditionCount = 0
    self.statsPrecisionRate = 0.

    #endregion

    #region 3d-tree properties (simulation form)

    self.tree3d_initialized = False
    self.tree3d_x1 = 0
    self.tree3d_y1 = 0
    self.tree3d_z1 = 0
    self.tree3d_x2 = 0
    self.tree3d_y2 = 0
    self.tree3d_z2 = 0
    self.tree3d_item = None
    self.tree3d_selected = False
示例#9
0
    def __init__(self):
        """
    Initializes a new instance of this class.
    """

        #region Instance fields

        self.indexSP = -1
        """Index of this cell in the spatial pooler."""

        self.indexTP = -1
        """Index of this synapse in the temporal pooler."""

        self.inputElem = None
        """An input element is a cell in case of the source be a column or then a bit in case of the source be a sensor"""

        self.permanence = MachineState(0., maxPreviousSteps)
        """Permanence of this synapse."""

        # States of this element
        self.isConnected = MachineState(False, maxPreviousSteps)
        self.isPredicted = MachineState(False, maxPreviousSteps)
        self.isFalselyPredicted = MachineState(False, maxPreviousSteps)
        self.isRemoved = MachineState(False, maxPreviousSteps)

        #region Statistics properties

        self.statsConnectionCount = 0
        self.statsConnectionRate = 0.
        self.statsPreditionCount = 0
        self.statsPrecisionRate = 0.

        #endregion

        #region 3d-tree properties (simulation form)

        self.tree3d_initialized = False
        self.tree3d_item = None
        self.tree3d_selected = False
示例#10
0
    def __init__(self):
        """
    Initializes a new instance of this class.
    """

        #region Instance fields

        self.index = -1
        """Index of this cell in the temporal pooler."""

        self.z = -1
        """Position on Z axis"""

        self.segments = []
        """List of distal segments of this cell."""

        # States of this element
        self.isLearning = MachineState(False, maxPreviousSteps)
        self.isActive = MachineState(False, maxPreviousSteps)
        self.isPredicted = MachineState(False, maxPreviousSteps)
        self.isFalselyPredicted = MachineState(False, maxPreviousSteps)

        #region Statistics properties

        self.statsActivationCount = 0
        self.statsActivationRate = 0.
        self.statsPreditionCount = 0
        self.statsPrecisionRate = 0.

        #endregion

        #region 3d-tree properties (simulation form)

        self.tree3d_initialized = False
        self.tree3d_x = 0
        self.tree3d_y = 0
        self.tree3d_z = 0
        self.tree3d_item = None
        self.tree3d_selected = False
示例#11
0
    def buttonInit_click(self, event):
        """
        Initializes the HTM-Network by creating the htm-controller to connect to events database
        """

        # Initialize the network starting from top region.
        start_time = time.time()
        end_time = time.time()
        initialized = Global.project.network.initialize()

        if initialized:
            self.state = State.SIMULATING

            # Create a simulation
            #TODO: self.simulation = Simulation(self.project, self.getProjectPath())
            self.simulation = Simulation(None, None)

            # Initialize time steps parameters
            Global.curr_step = 0
            Global.sel_step = 0
            Global.time_steps_predictions_chart = MachineState(
                0, MAX_PREVIOUS_STEPS_WITH_INFERENCE)

            self.output_window.addText("Initialization: " +
                                       "{0:.3f}".format(end_time -
                                                        start_time) + " secs")
            self.output_window.addText("")
            self.output_window.addText("Step\tTime (secs)\tAccuracy (%)")

            # Perfoms actions related to time step progression.
            start_time = time.time()
            Global.project.network.nextStep()
            Global.project.network.calculateStatistics()
            end_time = time.time()
            self.output_window.addText(
                str(Global.curr_step + 1) +
                "\t{0:.3f}".format(end_time - start_time) +
                "\t{0:.3f}".format(Global.project.network.stats_precision_rate)
            )

            # Disable relevant buttons:
            self.enableSteeringButtons(True)
            self.enableSimulationButtons(True)

            # Update controls
            self.simulation_window.viewer_3d.initializeControls(
                Global.project.network.nodes[0])
            self.refreshControls()

            self.update_timer.setInterval(1)
            self.update_timer.start()
示例#12
0
    def __buttonInitHTM_Click(self, event):
        """
    Initializes the HTM-Network by creating the htm-controller to connect to events database
    """

        # Initialize the network starting from top region.
        startTime = time.time()
        endTime = time.time()
        initialized = Global.project.network.initialize()

        if initialized:

            # Initialize time steps parameters
            Global.currStep = 0
            Global.selStep = 0
            Global.timeStepsPredictionsChart = MachineState(
                0, maxPreviousStepsWithInference)

            Global.outputForm.addText("Initialization: " +
                                      "{0:.3f}".format(endTime - startTime) +
                                      " secs")
            Global.outputForm.addText("")
            Global.outputForm.addText("Step\tTime (secs)\tAccuracy (%)")

            # Perfoms actions related to time step progression.
            startTime = time.time()
            Global.project.network.nextStep()
            Global.project.network.calculateStatistics()
            endTime = time.time()
            Global.outputForm.addText(
                str(Global.currStep + 1) +
                "\t{0:.3f}".format(endTime - startTime) +
                "\t{0:.3f}".format(Global.project.network.statsPrecisionRate))

            # Disable relevant buttons:
            self.__enableSteeringButtons(True)
            self.__enableSimulationButtons(True)

            # Update controls
            Global.simulationForm.topRegion = Global.project.network.nodes[0]
            Global.simulationForm.initializeControls()
            self.refreshControls()