MCPcopy Index your code
hub / github.com/TheAlgorithms/Python / convolute

Method convolute

neural_network/convolution_neural_network.py:109–143  ·  view source on GitHub ↗
(self, data, convs, w_convs, thre_convs, conv_step)

Source from the content-addressed store, hash-verified

107 return round(x, 3)
108
109 def convolute(self, data, convs, w_convs, thre_convs, conv_step):
110 # convolution process
111 size_conv = convs[0]
112 num_conv = convs[1]
113 size_data = np.shape(data)[0]
114 # get the data slice of original image data, data_focus
115 data_focus = []
116 for i_focus in range(0, size_data - size_conv + 1, conv_step):
117 for j_focus in range(0, size_data - size_conv + 1, conv_step):
118 focus = data[
119 i_focus : i_focus + size_conv, j_focus : j_focus + size_conv
120 ]
121 data_focus.append(focus)
122 # calculate the feature map of every single kernel, and saved as list of matrix
123 data_featuremap = []
124 size_feature_map = int((size_data - size_conv) / conv_step + 1)
125 for i_map in range(num_conv):
126 featuremap = []
127 for i_focus in range(len(data_focus)):
128 net_focus = (
129 np.sum(np.multiply(data_focus[i_focus], w_convs[i_map]))
130 - thre_convs[i_map]
131 )
132 featuremap.append(self.sig(net_focus))
133 featuremap = np.asmatrix(featuremap).reshape(
134 size_feature_map, size_feature_map
135 )
136 data_featuremap.append(featuremap)
137
138 # expanding the data slice to one dimension
139 focus1_list = []
140 for each_focus in data_focus:
141 focus1_list.extend(self.Expand_Mat(each_focus))
142 focus_list = np.asarray(focus1_list)
143 return focus_list, data_featuremap
144
145 def pooling(self, featuremaps, size_pooling, pooling_type="average_pool"):
146 # pooling process

Callers 3

trainMethod · 0.95
predictMethod · 0.95
convolutionMethod · 0.95

Calls 3

sigMethod · 0.95
appendMethod · 0.45
extendMethod · 0.45

Tested by

no test coverage detected