TensorFlow函数:tf.nn.conv2d是怎样实现卷积的?代码示例讲解!

1、函数介绍:

tf.nn.conv2d(input, filter, strides, padding, use_cudnn_on_gpu=None, name=None)
  • input:

指需要做卷积的输入图像,它要求是一个Tensor(张量),具有 [batch, in_height, in_width, in_channels] 这样的shape,具体含义是 [训练时一个batch的图片数量, 图片高度, 图片宽度, 图像通道数] ,注意这是一个4维的Tensor,要求类型为float32和float64其中之一
关于通道: 彩色图片每个像素值是由R,G,B三个原色组合得到的,RGB三原色就是这里的通道。那么此时的图像通道数为3。

  • filter:

相当于CNN中的卷积核,它要求是一个Tensor,具有 [filter_height, filter_width, in_channels, out_channels] 这样的shape,具体含义是 [卷积核的高度,卷积核的宽度,图像通道数,卷积核个数] ,要求类型与参数input相同,有一个地方需要注意,这里的第三维in_channels,就是参数input的第四维in_channels。

  • strides:

卷积时在图像每一维的步长,这是一个一维的向量,长度4。
正如前面所述,strides 是另外一个极其重要的参数,其为一个长度为4 的一维整数类型数组,每一位对应input中每一位对应的移动步长.。步长为一的卷积操作,不补零。

  • padding:

string类型的量,只能是”SAME”,”VALID”其中之一,这个值决定了不同的卷积方式。
padding=’SAME’ 时,TensorFlow会自动对原图像进行补零,从而使输入输出的图像大小一致 。
padding=’VALID’ 时,则会缩小原图像的大小。
SAME:越过边缘取样,取样的面积和输入图像的像素宽度一致。
VALID:不越过边缘取样,取样的面积小于输入人的图像的像素宽度
这里关于”SAME”和”VALID”具体的区别,见视频(斯坦福深度视觉识别课堂)
链接:https://study.163.com/course/courseLearn.htm?courseId=1004697005#/learn/video?lessonId=1050213450&courseId=1004697005

注:请先"食用"以上视频,视频内一些关于”SAME”和”VALID”的公式讲解对于后面代码示例的理解起着很重要的作用!
  • use_cudnn_on_gpu:

bool类型,是否使用cudnn加速,默认为true

结果返回一个Tensor,这个输出,就是我们常说的feature map

2、公式计算

条件:padding=’SAME’ 时
在这里插入图片描述

举例说明:

数据:一张 [28,28,1] 的图片,卷积层取:100个filter,5*5,步长为1,padding = 1
结果

  • H2 = (28 - 5 + 2*1) / 1 + 1 = 26
  • W2 = (28 - 5 + 2*1) / 1 + 1 = 26

3、例子详解:

那么TensorFlow的卷积具体是怎样实现的呢,用一些例子去解释它:

  1. 考虑一种最简单的情况,现在有一张 3×3 单通道的图像(对应的shape:[1,3,3,1]),用一个1×1的卷积核(对应的shape:[1,1,1,1])去做卷积,最后会得到一张3×3的feature map。
input = tf.Variable(tf.random_normal([1,3,3,1]))
filter = tf.Variable(tf.random_normal([1,1,1,1]))
op = tf.nn.conv2d(input, filter, strides=[1, 1, 1, 1], padding='VALID')
Tensor("Conv2D_1:0", shape=(1, 3, 3, 1), dtype=float32)
  1. 增加图片的通道数,使用一张 3×3 五通道的图像(对应的shape:[1,3,3,5]),用一个1×1的卷积核(对应的shape:[1,1,5,1])去做卷积,仍然是一张 3×3 的feature map,这就相当于每一个像素点,卷积核都与该像素点的每一个通道做点积。
input = tf.Variable(tf.random_normal([1,3,3,5]))
filter = tf.Variable(tf.random_normal([1,1,5,1]))
op = tf.nn.conv2d(input, filter, strides=[1, 1, 1, 1], padding='VALID')
Tensor("Conv2D_2:0", shape=(1, 3, 3, 1), dtype=float32)
  1. 把卷积核扩大,现在用3×3的卷积核做卷积,最后的输出是一个值,相当于情况2的feature map所有像素点的值求和。
input = tf.Variable(tf.random_normal([1,3,3,5]))
filter = tf.Variable(tf.random_normal([3,3,5,1]))
op = tf.nn.conv2d(input, filter, strides=[1, 1, 1, 1], padding='VALID')
Tensor("Conv2D_3:0", shape=(1, 1, 1, 1), dtype=float32)
  1. 使用更大的图片将情况2的图片扩大到5×5,仍然是3×3的卷积核,令步长为1,输出3×3的feature map。
input = tf.Variable(tf.random_normal([1,5,5,5]))
filter = tf.Variable(tf.random_normal([3,3,5,1]))
op = tf.nn.conv2d(input, filter, strides=[1, 1, 1, 1], padding='VALID')
Tensor("Conv2D_4:0", shape=(1, 3, 3, 1), dtype=float32)
  1. 上面我们一直令参数padding的值为‘VALID’,当其为‘SAME’时,表示卷积核可以停留在图像边缘,如下,输出5×5的feature map。
input = tf.Variable(tf.random_normal([1,5,5,5]))
filter = tf.Variable(tf.random_normal([3,3,5,1]))
op = tf.nn.conv2d(input, filter, strides=[1, 1, 1, 1], padding='SAME')
Tensor("Conv2D_5:0", shape=(1, 5, 5, 1), dtype=float32)
  1. 如果卷积核有多个。
input = tf.Variable(tf.random_normal([1,5,5,5]))
filter = tf.Variable(tf.random_normal([3,3,5,7]))
op = tf.nn.conv2d(input, filter, strides=[1, 1, 1, 1], padding='SAME')
Tensor("Conv2D_6:0", shape=(1, 5, 5, 7), dtype=float32)
  1. 步长不为1的情况,文档里说了对于图片,因为只有两维,通常strides取[1,stride,stride,1]。此时,输出7张3×3的feature map。
input = tf.Variable(tf.random_normal([1,5,5,5]))
filter = tf.Variable(tf.random_normal([3,3,5,7]))
op = tf.nn.conv2d(input, filter, strides=[1, 2, 2, 1], padding='SAME')
Tensor("Conv2D_7:0", shape=(1, 3, 3, 7), dtype=float32)
  1. 如果batch值不为1,同时输入10张图。每张图,都有7张3×3的feature map,输出的shape就是[10,3,3,7]。
input = tf.Variable(tf.random_normal([10,5,5,5]))
filter = tf.Variable(tf.random_normal([3,3,5,7]))
op = tf.nn.conv2d(input, filter, strides=[1, 2, 2, 1], padding='SAME')
Tensor("Conv2D_8:0", shape=(10, 3, 3, 7), dtype=float32)

这里直接看代码很难直观理解”SAME”和”VALID”的区别,所以还是建议先看斯坦福的视频讲解,这样才更具有画面感。

3、跑一遍程序

import tensorflow as tf
#case 2
input = tf.Variable(tf.random_normal([1,3,3,5]))
filter = tf.Variable(tf.random_normal([1,1,5,1]))

op2 = tf.nn.conv2d(input, filter, strides=[1, 1, 1, 1], padding='VALID')
#case 3
input = tf.Variable(tf.random_normal([1,3,3,5]))
filter = tf.Variable(tf.random_normal([3,3,5,1]))

op3 = tf.nn.conv2d(input, filter, strides=[1, 1, 1, 1], padding='VALID')
#case 4
input = tf.Variable(tf.random_normal([1,5,5,5]))
filter = tf.Variable(tf.random_normal([3,3,5,1]))

op4 = tf.nn.conv2d(input, filter, strides=[1, 1, 1, 1], padding='VALID')
#case 5
input = tf.Variable(tf.random_normal([1,5,5,5]))
filter = tf.Variable(tf.random_normal([3,3,5,1]))

op5 = tf.nn.conv2d(input, filter, strides=[1, 1, 1, 1], padding='SAME')
#case 6
input = tf.Variable(tf.random_normal([1,5,5,5]))
filter = tf.Variable(tf.random_normal([3,3,5,7]))

op6 = tf.nn.conv2d(input, filter, strides=[1, 1, 1, 1], padding='SAME')
#case 7
input = tf.Variable(tf.random_normal([1,5,5,5]))
filter = tf.Variable(tf.random_normal([3,3,5,7]))

op7 = tf.nn.conv2d(input, filter, strides=[1, 2, 2, 1], padding='SAME')
#case 8
input = tf.Variable(tf.random_normal([10,5,5,5]))
filter = tf.Variable(tf.random_normal([3,3,5,7]))

op8 = tf.nn.conv2d(input, filter, strides=[1, 2, 2, 1], padding='SAME')

init = tf.global_variables_initializer()
with tf.Session() as sess:
    sess.run(init)
    print("case 2")
    print(sess.run(op2))
    print("case 3")
    print(sess.run(op3))
    print("case 4")
    print(sess.run(op4))
    print("case 5")
    print(sess.run(op5))
    print("case 6")
    print(sess.run(op6))
    print("case 7")
    print(sess.run(op7))
    print("case 8")
    print(sess.run(op8))

结果:
随机数

case 2
[[[[-2.6503515]
   [-1.0375758]
   [ 3.2205355]]

  [[ 2.3051841]
   [-4.6123767]
   [-1.181335 ]]

  [[ 1.3592753]
   [ 1.8888522]
   [ 3.1005032]]]]
case 3
[[[[0.13944143]]]]
case 4
[[[[ 0.33751982]
   [ 1.8425229 ]
   [-0.13743114]]

  [[ 1.6682582 ]
   [-2.184636  ]
   [ 3.0355518 ]]

  [[ 6.4875245 ]
   [-2.6352134 ]
   [-5.2027345 ]]]]
case 5
[[[[-1.7225199 ]
   [ 5.0439734 ]
   [-1.6586859 ]
   [ 3.8357215 ]
   [-1.8684336 ]]

  [[-1.6515994 ]
   [-4.7386847 ]
   [ 5.1411996 ]
   [ 2.9090686 ]
   [ 1.4939682 ]]

  [[ 3.4938772 ]
   [ 1.1135409 ]
   [-3.360897  ]
   [-7.2671027 ]
   [ 1.8609387 ]]

  [[-2.492307  ]
   [ 2.0535913 ]
   [ 0.32793647]
   [ 6.2135487 ]
   [ 0.59462893]]

  [[ 2.5566835 ]
   [-3.235322  ]
   [-4.13678   ]
   [ 3.8042483 ]
   [ 2.4603622 ]]]]
case 6
[[[[-1.0677772e+00  3.7658997e+00 -3.9817333e+00 -9.4223791e-01
     2.2805264e+00 -4.2848244e+00  3.1476722e+00]
   [-6.5194494e-01  3.4326324e+00  2.2112308e+00  3.4893143e-01
    -2.3323674e+00 -4.1694703e+00  2.7153244e+00]
   [ 8.6136818e+00  2.8629060e+00  8.4590788e+00 -9.3799715e+00
    -5.9354906e+00 -3.8959486e+00  5.5099730e+00]
   [ 3.7973070e+00 -1.6449393e+00  8.1180735e+00  6.3407879e+00
     2.7429240e+00  6.7974825e+00  1.4881713e+00]
   [-5.5665751e+00  2.1002930e-01  2.9764504e+00 -1.0111668e+00
     1.3679842e+01  8.7976341e+00 -3.2712770e+00]]

  [[-9.7927749e-01 -1.9145925e+00  1.1294954e+01 -6.6619544e+00
    -6.1894375e-01 -3.8345678e+00 -2.5013337e-01]
   [ 7.5762587e+00  3.2353745e+00  2.1486576e+00  4.8535800e+00
    -1.6057861e+01  7.2287049e+00  6.2255569e+00]
   [-3.4788804e+00 -8.5947189e+00 -4.0501451e+00 -7.1439576e+00
     1.0869201e+01  1.3378110e+01 -8.2319415e-01]
   [ 9.9060955e+00  8.6582184e+00  3.2699323e+00  3.7823541e+00
    -5.2032661e+00  1.8056257e+00 -1.8582941e+00]
   [ 1.3903780e+00  4.1723299e+00 -1.3241332e+01 -1.1883872e+00
     6.7449837e+00 -4.0390487e+00 -4.9548674e+00]]

  [[-1.1378351e+01 -5.0658321e+00 -2.7271309e+00 -3.3417435e+00
     3.5533526e+00  5.9811740e+00 -7.8983984e+00]
   [ 1.5670161e+00 -7.3668914e+00 -3.4377124e+00  6.0529790e+00
     6.5769762e-01  4.0028243e+00 -8.8434410e+00]
   [-1.6988711e+00 -6.3551307e+00 -5.4421363e+00  1.0345247e+01
     5.7832851e+00 -9.7529726e+00 -1.7760789e+00]
   [ 6.5771680e+00  8.3997667e-01 -2.1060233e+00  7.5008020e+00
    -8.1126575e+00  1.9960071e+00  3.2874904e+00]
   [ 1.4907375e-02  7.0832639e+00 -7.2954011e+00 -2.8318313e-01
    -9.0794048e+00 -9.2636099e+00  6.3781967e+00]]

  [[-2.7626898e+00  6.1345906e+00 -2.7611961e+00 -1.1966963e+01
    -3.7181137e+00 -2.0485661e+00  2.0847332e+00]
   [-2.0211015e+00 -8.7023773e+00  3.3005995e-01  2.9431946e+00
     1.1344383e+00 -6.5473065e+00  9.9533510e-01]
   [-9.3544779e+00  2.7491477e+00 -7.4307394e+00 -4.0808001e-01
     8.2780534e-01  7.8630438e+00 -3.6143463e+00]
   [ 5.0698133e+00  3.4150863e+00 -3.1426444e+00  9.9178143e+00
     1.7839801e+00 -5.2770524e+00 -1.0843438e+01]
   [-3.3881450e+00 -7.7907562e+00  9.3992157e+00  1.8773689e+00
     2.1110797e+00  7.5816689e+00 -1.8212395e+00]]

  [[ 4.0922737e+00 -4.6190658e+00 -6.5382452e+00 -6.6110296e+00
     1.6576998e+00 -1.5000936e+00  4.8058281e+00]
   [ 3.1514001e-01 -5.0535436e+00  5.4777247e-01  9.5464363e+00
    -4.9340353e+00 -1.6653299e-01 -2.0886359e+00]
   [ 1.2225825e+00  7.3586559e+00 -4.5690956e+00 -9.7287279e-01
     2.4605423e-01 -1.2935278e+00 -9.0261497e+00]
   [-2.1486490e+00 -2.1046133e+00  2.0408137e+00 -2.5641994e+00
    -4.2338979e-01 -1.7947196e+00  3.3415923e+00]
   [-9.1365498e-01 -1.6516781e+00 -2.9323335e+00 -1.7294403e+00
     2.0476091e+00 -2.7375740e-01  1.6675184e+00]]]]
case 7
[[[[-0.29636097  9.373593   -0.18701422 -2.303901   -1.6324565
    -3.6836433  -2.5039492 ]
   [-2.6049545  -9.808384    1.4283214   8.139784    6.800718
     3.8024912  15.72274   ]
   [ 3.6057496  -1.1641582  -4.5272226   0.14382496  8.098335
     6.276072   -3.924404  ]]

  [[-7.70918     6.1383586   5.3004646   2.5717027   0.75847167
    -2.8945882  -0.6284474 ]
   [-8.377144   -2.3167253  -2.8781946  -0.8142196   1.8900888
    -6.919139    9.296962  ]
   [-4.047793    1.5854206   6.6880145   7.07077     2.381598
     7.4366255  10.760042  ]]

  [[ 0.701258   -3.0242436  -2.464449    1.1138455  -2.649603
     1.6753296   2.1147983 ]
   [-3.4156113   1.2964635   1.2267787   4.8821154  -1.4771008
     5.053837    1.1728425 ]
   [-3.043054    2.5369613  -0.8059899   5.0289836   2.9299252
    -4.409099   -0.17498453]]]]
case 8
[[[[-2.43503165e+00 -4.64917040e+00  9.71334362e+00  1.60066557e+00
     4.17192316e+00 -8.13928318e+00  4.47697449e+00]
   [ 3.69883895e+00  7.22877693e+00  9.96146351e-03 -7.62039471e+00
    -2.04245257e+00 -8.27284527e+00  1.98402417e+00]
   [ 3.17849898e+00  3.13606441e-01 -3.28360271e+00  2.32942104e+00
     1.10208249e+00  3.33590126e+00  1.78776813e+00]]

  [[-1.31769359e+00  2.64538109e-01 -1.33387983e+00 -1.54751110e+00
    -2.46891403e+00  1.40250218e+00  2.22283554e+00]
   [ 5.52561140e+00  1.47438240e+00  3.71456742e+00 -4.21708441e+00
    -1.13226204e+01 -1.21959867e+01  6.62427425e+00]
   [ 3.14325619e+00 -4.69703770e+00  3.39164448e+00  9.42636490e+00
    -1.50525928e+00  2.61115289e+00  6.15589666e+00]]

  [[ 2.72436905e+00  2.35334301e+00  6.76196194e+00 -9.83925104e-01
     5.27484989e+00  1.23019779e+00 -6.86056674e-01]
   [-3.58359981e+00  8.00316215e-01 -1.06482067e+01  5.92168951e+00
    -5.52154589e+00  1.50686741e+00  1.06624012e+01]
   [-1.92024374e+00  2.10542536e+00  4.81609046e-01 -2.37800503e+00
    -2.08046794e+00 -5.46501827e+00 -7.37097144e-01]]]


 [[[-3.45995355e+00 -3.58174372e+00  8.38699436e+00  6.03926563e+00
     1.75742596e-01 -5.21123171e+00  2.18443918e+00]
   [-1.95896435e+00  2.85725880e+00  2.73454523e+00 -6.16381025e+00
     5.18142605e+00 -9.71978855e+00 -1.80913079e+00]
   [ 3.16523218e+00  5.40228605e-01 -4.85863829e+00  3.61389145e-02
     4.53521729e-01 -4.40869713e+00  3.91369820e-01]]

  [[-1.22080362e+00 -2.45506263e+00 -6.50511122e+00 -9.92690659e+00
    -9.10349274e+00  6.92991376e-01  1.68613923e+00]
   [-1.27511930e+00  1.21830349e+01 -1.59598808e+01  1.86113954e+00
    -6.87263393e+00  2.88696766e+00  8.85591412e+00]
   [-5.11548090e+00  1.57626724e+00  6.62785959e+00 -4.01723242e+00
     2.25763559e-01  3.48141050e+00  1.05578542e+00]]

  [[-2.43565917e+00  5.06198704e-02  7.89867342e-02  5.52735949e+00
    -6.29871750e+00 -6.78808737e+00  6.02368546e+00]
   [-1.58791137e+00 -7.30863571e+00  7.25494146e+00 -2.86152935e+00
    -5.79072475e-01 -4.85758209e+00 -1.35221386e+01]
   [ 2.00788021e+00 -1.28706396e+00  7.30645275e+00 -1.51654887e+00
    -2.93373013e+00  3.24968958e+00  2.07446504e+00]]]


 [[[ 1.47663260e+00 -1.66577733e+00 -4.68187302e-01 -4.40788460e+00
     1.57865822e+00  9.18357944e+00 -3.84802675e+00]
   [-6.34598637e+00 -1.03087568e+01 -5.62618971e+00  4.93165135e-01
    -6.82930517e+00 -2.16899920e+00  3.41279936e+00]
   [-7.36118376e-01 -1.07139330e+01  8.27233315e-01 -3.50418568e+00
    -8.79960537e-01  1.80743551e+00  7.54889965e-01]]

  [[-2.39193225e+00  4.89767408e+00 -6.87775850e+00  2.85034680e+00
     1.28973055e+00 -1.00746737e+01  1.98001802e+00]
   [-5.44957495e+00  1.16618366e+01 -4.19383001e+00 -7.50283623e+00
     1.57499933e+01 -8.22385216e+00 -6.96089506e+00]
   [-7.57135868e+00  2.38450527e-01 -4.16470003e+00  2.56574368e+00
     3.87789965e+00 -5.46751499e+00 -3.06655502e+00]]

  [[ 4.77401781e+00  4.92737055e+00 -8.65843105e+00  4.39800644e+00
     6.17356586e+00  1.07743273e+01 -2.98865795e+00]
   [-2.05200076e+00 -2.52446389e+00 -5.61121273e+00 -6.08385324e+00
    -6.68696880e+00 -5.59458685e+00  1.23274159e+00]
   [-1.61720848e+00 -5.73497105e+00  2.78036690e+00  2.58634496e+00
    -7.05902863e+00 -4.61862373e+00  3.14683771e+00]]]


 [[[-3.01080155e+00  1.56606352e+00  7.81431258e-01 -1.06451283e+01
     2.58846426e+00 -9.62799835e+00 -5.88369668e-01]
   [ 9.04411602e+00  4.40151215e+00 -6.34725952e+00  1.77033603e-01
     3.14715552e+00 -4.49144602e+00  5.12420416e+00]
   [-2.16371477e-01  3.81645155e+00  3.52430034e+00 -3.82941389e+00
     1.07874451e+01 -4.57526064e+00  2.88426638e-01]]

  [[-4.79983234e+00  1.09436436e+01 -1.01117430e+01 -5.46235609e+00
     7.13531733e-01 -2.26296258e+00  1.45773578e+00]
   [-5.46673775e+00  4.13977146e+00  1.40547156e+00 -6.54950321e-01
     1.30899563e+01 -8.56194019e+00 -2.77533269e+00]
   [-2.13883495e+00 -3.11756611e-01  8.69966030e+00  1.03890896e-03
     5.16218948e+00 -4.19220734e+00 -9.26130295e-01]]

  [[-2.28714490e+00  6.81624508e+00 -1.36544571e+01  2.62786007e+00
     2.68297195e-02 -5.42932320e+00  1.37810445e+00]
   [-4.50767136e+00  1.80205810e+00 -9.80516720e+00 -4.14874363e+00
     5.30269146e-02 -3.51967573e+00 -1.01494491e+00]
   [ 4.74610710e+00 -7.15823054e-01  2.41561270e+00  1.19406927e+00
    -3.55317402e+00  1.30476785e+00 -3.05470562e+00]]]


 [[[-7.07337618e+00 -7.85925150e-01 -2.43050718e+00  1.34648056e+01
    -9.86674976e+00 -5.15005779e+00  8.80297780e-01]
   [-4.34971189e+00  3.71151495e+00 -4.80075741e+00 -1.92668962e+00
    -8.06532764e+00 -1.21604624e+01 -2.43862963e+00]
   [-1.51999688e+00  8.30902863e+00 -7.00110531e+00 -4.00356579e+00
     7.91852951e-01  8.90307665e-01  2.81202507e+00]]

  [[ 7.95564079e+00  2.64739966e+00 -6.19836760e+00  2.08548769e-01
    -3.53477955e+00  3.14061332e+00  4.47812462e+00]
   [-5.15523434e+00  4.68234634e+00 -1.23273873e+00  6.75749969e+00
     4.22649288e+00  5.30700922e+00  1.23799925e+01]
   [-1.63054001e+00  4.49672747e+00 -8.46346021e-02  4.38079023e+00
     1.04827156e+01 -4.88728714e+00 -4.09714699e+00]]

  [[-2.33532333e+00 -1.28325689e+00 -1.70325077e+00  1.40949583e+00
    -1.12027001e+00  3.77907276e-01  8.40192986e+00]
   [-1.17996001e+00 -6.25882387e+00  2.35458469e+00 -3.15497935e-01
    -1.24283981e+00 -1.23384118e+00 -1.42703953e+01]
   [ 5.96083105e-01 -2.22654715e-01  9.28975010e+00 -6.21777010e+00
    -3.29684973e+00  9.71458316e-01 -4.82884884e-01]]]


 [[[-6.94554567e-01 -2.86260390e+00  4.95819032e-01  1.20753717e+00
    -1.25322104e+00 -6.80785751e+00  2.99087048e+00]
   [ 3.90842795e+00  7.05437422e-01 -4.63627338e+00 -4.29594231e+00
    -1.81470032e+01 -1.05162754e+01  6.16569090e+00]
   [ 6.54404926e+00  5.60676336e+00  1.99969888e+00  5.13390446e+00
     7.84214973e+00  3.37323737e+00  1.45862722e+00]]

  [[-7.92379093e+00  2.50463319e+00 -1.91177332e+00 -8.87752652e-01
    -5.79833651e+00 -1.67904103e+00  3.38465023e+00]
   [-8.39144325e+00 -1.73111618e+00  5.97456360e+00  9.83745384e+00
    -5.32361083e-02  2.98696136e+00  1.26036091e+01]
   [ 2.02040601e+00  4.69611931e+00 -4.99688387e-01  4.89162326e-01
     1.03302085e+00  3.89524555e+00 -5.15486717e+00]]

  [[-5.03087807e+00  3.63728905e+00 -6.27499914e+00  3.92535043e+00
    -8.29491425e+00 -3.72752285e+00  4.68720484e+00]
   [-3.24310589e+00  1.81170666e+00  8.93694115e+00 -1.94767642e+00
    -1.50952816e-01 -2.01020670e+00 -5.51123798e-01]
   [ 3.48294759e+00 -1.77337193e+00  3.87590885e+00  1.19602938e+01
    -4.76133204e+00  2.67638445e+00  3.89841247e+00]]]


 [[[-1.76921928e+00  6.18150949e-01  6.60405779e+00 -6.44002914e-01
     1.44770801e+00 -8.32973671e+00 -4.72600639e-01]
   [-6.50977612e-01  9.68531704e+00  3.82174778e+00  3.34875703e-01
    -6.89578056e+00 -1.78329391e+01  4.56927013e+00]
   [-2.56227374e+00 -4.29394245e-01  1.10443945e+01 -3.15400749e-01
    -2.52940202e+00 -1.08214836e+01  5.09808683e+00]]

  [[-3.51347065e+00  4.61434889e+00  3.75883579e-01 -1.06841507e+01
     8.23712707e-01 -8.79144001e+00  3.37135553e+00]
   [-2.37375808e+00 -3.54742527e-01 -8.29982948e+00  6.43654823e-01
    -7.63626051e+00  5.17542171e+00  5.14077711e+00]
   [-5.92120600e+00 -3.50078678e+00  1.35013962e+00  7.80341053e+00
     2.57134748e+00  2.85691762e+00  3.00830007e-01]]

  [[ 4.11679125e+00  7.13630915e+00 -1.11762981e+01 -3.86596352e-01
     1.14805293e+00  4.28023672e+00 -3.28675985e+00]
   [ 2.40551782e+00 -3.64890790e+00 -7.18146384e-01  8.70404530e+00
     8.48745704e-01 -3.31725955e+00  2.97310209e+00]
   [ 8.92424011e+00  1.59941483e+00  1.97167993e+00 -4.81712008e+00
     1.98111022e+00 -4.30259705e-02 -5.70650291e+00]]]


 [[[-5.26061058e+00 -2.64465809e-01  7.38119555e+00 -6.47834897e-01
     9.43034530e-01 -7.06357300e-01  2.90322691e-01]
   [ 1.34522903e+00 -2.67100382e+00 -6.01163447e-01  6.84935522e+00
    -3.23483181e+00 -5.55480433e+00  1.58058763e+00]
   [-2.66929221e+00  4.57094002e+00  5.80665588e-01 -6.27347374e+00
    -4.49393511e-01 -3.80524230e+00  1.71697235e+00]]

  [[-9.49717402e-01 -5.85499668e+00 -1.25428314e+01 -5.54953814e-01
    -7.57058573e+00 -2.02563477e+00 -3.81893009e-01]
   [-2.01847148e+00  8.88163471e+00 -5.29403257e+00 -1.05693684e+01
    -1.22277555e+01  4.54300356e+00  9.06382751e+00]
   [ 3.78357387e+00 -8.32775295e-01 -4.11650848e+00  3.50234461e+00
     1.00062275e+00 -3.92796516e+00 -1.68430161e+00]]

  [[-1.69070458e+00  1.34377897e+00  1.07700872e+00  7.19285297e+00
    -3.94669366e+00 -1.15262532e+00  7.10880518e+00]
   [-4.27843046e+00  2.41499138e+00  3.43025732e+00  1.72303867e+00
    -3.02366209e+00 -5.26358700e+00  6.42327118e+00]
   [-3.34655714e+00  2.95056057e+00 -4.64314318e+00 -1.02769148e+00
     1.17372370e+00 -7.52180874e-01 -1.80870914e+00]]]


 [[[ 2.17190921e-01  1.26423693e+00 -6.70858622e+00 -5.21344090e+00
    -1.13337684e+00  6.58866167e-01  1.24839497e+00]
   [ 2.75505280e+00  6.64785290e+00  1.03130853e+00  1.17754698e+01
     3.63090253e+00  1.16689672e+01  1.55313575e+00]
   [-3.12292647e+00  1.11061788e+00  6.33206034e+00  1.15392590e+00
     1.00119600e+01 -1.23207533e+00 -7.61037111e-01]]

  [[-5.02922392e+00  8.43987179e+00 -4.12006330e+00 -3.73620462e+00
     1.30299914e+00 -1.80039597e+01 -5.03068399e+00]
   [ 2.23954391e+00 -1.35837090e+00  3.52108151e-01 -1.52872343e+01
     4.51470470e+00  3.68047190e+00 -5.81982946e+00]
   [ 5.47188282e+00 -9.64040279e-01 -1.20577240e+01 -8.50524008e-01
    -4.21620321e+00  1.05510616e+00 -6.32462692e+00]]

  [[ 8.54446983e+00  1.70821512e+00  1.08931363e+00 -3.88250232e+00
     1.69682932e+00  6.86313438e+00 -2.15332222e+00]
   [ 3.65224528e+00  1.24455082e+00  6.66853714e+00  2.25325561e+00
     1.17135878e+01 -9.04451656e+00 -6.11428642e+00]
   [-8.52467251e+00 -2.62585473e+00 -2.46674442e+00  4.28841448e+00
    -9.25152779e+00 -7.27791667e-01  6.20545006e+00]]]


 [[[-3.08134937e+00 -3.94297051e+00 -7.54886150e+00 -5.62541676e+00
    -5.80987310e+00  1.17513809e+01  9.56688881e-01]
   [-3.38602328e+00 -9.03711510e+00  9.15745914e-01 -1.32734814e+01
     6.13459110e+00 -1.38149261e-01  2.80070215e-01]
   [ 5.22890425e+00 -5.45523453e+00 -3.76011825e+00 -3.28277516e+00
    -5.29010534e+00 -1.37711430e+01  6.52301693e+00]]

  [[ 3.41756678e+00 -3.60858846e+00  1.87968385e+00 -1.43287706e+00
     3.11922455e+00  4.68200564e-01 -4.68261862e+00]
   [-4.86278152e+00  1.39352093e+01 -9.62021637e+00 -3.80825305e+00
     1.16111290e+00 -1.26444101e-01 -1.20833921e+01]
   [-8.72884083e+00 -7.46688271e+00  4.59407854e+00  4.81415176e+00
     3.64884233e+00  4.43356609e+00  8.83947849e-01]]

  [[-2.03597188e-01 -3.30658841e+00  6.92978382e+00  1.50298548e+00
    -4.08837795e-01 -4.52962399e+00  2.84746933e+00]
   [ 4.93298149e+00 -6.48695183e+00  1.23016768e+01 -6.44469023e-01
     9.45154965e-01 -2.60066867e+00 -6.80481434e+00]
   [ 3.81087041e+00 -3.37107420e-01  7.23547935e-01 -4.93614197e+00
     4.52595472e+00 -3.79317164e-01 -7.56762147e-01]]]]

原文链接:https://blog.csdn.net/mao_xiao_feng/article/details/78004522#commentBox
感谢作者!
后有更细化的理解会继续补充~

猜你喜欢

转载自blog.csdn.net/qq_41780295/article/details/88936094
今日推荐