1.np.reshape,np.transpose和axis
在阅读YOLO V1代码过程中,出现了一段代码:
self.offset = np.transpose(np.reshape(np.array( #reshape之后再转置,变成7*7*2的三维数组
[np.arange(self.cell_size)] * self.cell_size * self.boxes_per_cell),
(self.boxes_per_cell, self.cell_size, self.cell_size)), (1, 2, 0))
其中的self.cell_size=7, self.boxes_per_cell=2,那么翻译一下,就是:
np.transpose(np.reshape(np.array([np.arange(7)]* 7 * 2),(2, 7, 7)), (1, 2, 0))
我们来逐一解读:
先从:np.array([np.arange(7)] * 7 * 2开始,这个简单,就是array([0, 1, 2, 3, 4, 5, 6])*14
就是:
[array([0, 1, 2, 3, 4, 5, 6]), array([0, 1, 2, 3, 4, 5, 6]), array([0, 1, 2, 3, 4, 5, 6]),