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

Method pooling

neural_network/convolution_neural_network.py:145–167  ·  view source on GitHub ↗
(self, featuremaps, size_pooling, pooling_type="average_pool")

Source from the content-addressed store, hash-verified

143 return focus_list, data_featuremap
144
145 def pooling(self, featuremaps, size_pooling, pooling_type="average_pool"):
146 # pooling process
147 size_map = len(featuremaps[0])
148 size_pooled = int(size_map / size_pooling)
149 featuremap_pooled = []
150 for i_map in range(len(featuremaps)):
151 feature_map = featuremaps[i_map]
152 map_pooled = []
153 for i_focus in range(0, size_map, size_pooling):
154 for j_focus in range(0, size_map, size_pooling):
155 focus = feature_map[
156 i_focus : i_focus + size_pooling,
157 j_focus : j_focus + size_pooling,
158 ]
159 if pooling_type == "average_pool":
160 # average pooling
161 map_pooled.append(np.average(focus))
162 elif pooling_type == "max_pooling":
163 # max pooling
164 map_pooled.append(np.max(focus))
165 map_pooled = np.asmatrix(map_pooled).reshape(size_pooled, size_pooled)
166 featuremap_pooled.append(map_pooled)
167 return featuremap_pooled
168
169 def _expand(self, data):
170 # expanding three dimension data to one dimension list

Callers 3

trainMethod · 0.95
predictMethod · 0.95
convolutionMethod · 0.95

Calls 1

appendMethod · 0.45

Tested by

no test coverage detected