深度学习网络中numpy多维数组的说明

Posted godislight

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了深度学习网络中numpy多维数组的说明相关的知识,希望对你有一定的参考价值。

目前在计算机视觉中应用的数组维度最多有四维,可以表示为 (Batch_size, Row, Column, Channel)

 

以下将要从二维数组到四维数组进行代码的简单说明:

 

Tips:

1) 在numpy中所有的index都是从0开始。

2) axis = 0 对Cloumn(Width)操作; axis = 1 对Row(Height)操作; axis = 2 or -1 对Channel(Depth)操作

 

1. 二维数组 (Row, Column)

import numpy as np
# Set a matrix with (2*3)
array = np.array([
    [1,2,3],
    [4,5,6]
    ])
print(array) [[1 2 3] [4 5 6]] print(array.shape) # (Row, Column) (2, 3) print(array[0,1]) 2

 

2. 三维数组 (Row, Column, Channel)

import numpy as np

# Set a matrix with (2*3*4)
array = np.array([
    [[1,2,3,4],[5,6,7,8],[9,10,11,12]],
    [[13,14,15,16],[17,18,19,20],[21,22,23,24]]
                 ])

print(array) 
[[[ 1  2  3  4]
  [ 5  6  7  8]
  [ 9 10 11 12]]

 [[13 14 15 16]
  [17 18 19 20]
  [21 22 23 24]]]

print(array.shape)
(2, 3, 4)  #(Row, Column, Channel)

print(array[0,1,2])
7

 

3. 四维数组(Batch_size, Row, Column, Channel)

import numpy as np
# Set a matrix with (2*2*3*4)
array = np.array([
    [[[1,2,3,4],[5,6,7,8],[9,10,11,12]],[[13,14,15,16],[17,18,19,20],[21,22,23,24]]],
    [[[21,22,23,24],[17,18,19,20],[13,14,15,16]],[[9,10,11,12],[5,6,7,8],[1,2,3,4]]]
                ])

print(array)
[[[[ 1  2  3  4]
   [ 5  6  7  8]
   [ 9 10 11 12]]

  [[13 14 15 16]
   [17 18 19 20]
   [21 22 23 24]]]


 [[[21 22 23 24]
   [17 18 19 20]
   [13 14 15 16]]

  [[ 9 10 11 12]
   [ 5  6  7  8]
   [ 1  2  3  4]]]]

print(array.shape) #(Batch_size, Row, Column, Channel)
(2, 2, 3, 4)

print(array[1,0,1,2])
19

print(array[1]) # Choice Batch_size 1
[[[21 22 23 24]
  [17 18 19 20]
  [13 14 15 16]]

 [[ 9 10 11 12]
  [ 5  6  7  8]
  [ 1  2  3  4]]]

 

以上。

以上是关于深度学习网络中numpy多维数组的说明的主要内容,如果未能解决你的问题,请参考以下文章

将多维元素附加到 numpy 数组中而不进行整形

Numpy学习--多维矩阵“理解 : 的用法”

numpy

Numpy学习一:array数组对象

数据分析库之Numpy

Numpy库的学习