def _create_and_connect_agent(self, input_image: MemoryBlock, input_size: Tuple[int, int, int]): params = MultipleLayersParams() params.num_conv_layers = 4 params.n_flocks = [5, 5, 1, 1] params.n_cluster_centers = [30, 60, 60, 9] params.compute_reconstruction = True params.conv_classes = SpConvLayer params.sp_buffer_size = 5000 params.sp_batch_size = 500 params.learning_rate = 0.1 params.cluster_boost_threshold = 1000 params.max_encountered_seqs = 1000 params.max_frequent_seqs = 500 params.seq_lookahead = 2 params.seq_length = 4 params.exploration_probability = 0 params.rf_size = (2, 2) params.rf_stride = None ta_group = NCMGroup(conv_layers_params=params, model_seed=None, image_size=input_size) self.add_node(ta_group) Connector.connect(input_image, ta_group.inputs.image)
def _create_and_connect_agent(self, input_image: MemoryBlock, output_reconstruction: InputSlot, input_size: Tuple[int, int, int]): params = MultipleLayersParams() params.num_conv_layers = 3 params.n_cluster_centers = [28, 14, 7] params.compute_reconstruction = True params.conv_classes = ConvLayer params.sp_buffer_size = 5000 params.sp_batch_size = 500 params.learning_rate = 0.2 params.cluster_boost_threshold = 1000 params.max_encountered_seqs = 1000 params.max_frequent_seqs = 500 params.seq_lookahead = 2 params.seq_length = 4 params.exploration_probability = 0 params.rf_size = [(input_size[0], input_size[1]), (1, 1), (1, 1)] params.rf_stride = None ta_group = R1NCMGroup(conv_layers_params=params, model_seed=None, image_size=input_size) self.add_node(ta_group) Connector.connect(input_image, ta_group.inputs.image) Connector.connect(ta_group.outputs.predicted_reconstructed_input, output_reconstruction)