使用tf.squeeze

问题描述

我有一个形状为[1,4,3]的数组,我试图在将形状更改为[4,3]时保持相同的值。我对tensorflow(tensorflow 1)还很陌生,所以我希望挤压函数tf.squeeze()np.squeeze()类似,并在去除最外层尺寸的同时输出相同的内部值。

这是我正在处理的示例:

A = [[[[ 0.19358009 -1.08334923  0.55294812]
       [ 1.44234848 2.92920709  -1.77655339]
       [-2.84797764  4.87690258  9.21096992]
       [-4.84518862 -2.29097104 -2.28881788]]

      [[ 0.24554616  3.47674751 -2.03833318]
       [ 1.66657615  0.74964905  0.12720597]
       [-8.46189022 -2.28802252  0.93170345]
       [ 3.05556488  2.19730806 -3.54443073]]

      [[-0.06297994 -2.00482416  0.59676516]
       [ 4.67272186  5.65182924  4.09582424]
       [ 2.7788372   5.98527384 -2.6666224 ]
       [ 3.16021729 -1.91416168  5.80957127]]

      [[ 1.02783668  6.41434669  1.21851563]
       [ 1.91652226  4.92101288  3.5966537 ]
       [ 8.81034088 -6.39348555  0.40041703]
       [ 1.73723185  6.28792715  1.42974699]]]]

A = tf.squeeze(A)

预期输出:

  A = [[[ 0.19358009 -1.08334923  0.55294812]
        [ 1.44234848 2.92920709  -1.77655339]
        [-2.84797764  4.87690258  9.21096992]
        [-4.84518862 -2.29097104 -2.28881788]]

       [[ 0.24554616  3.47674751 -2.03833318]
        [ 1.66657615  0.74964905  0.12720597]
        [-8.46189022 -2.28802252  0.93170345]
        [ 3.05556488  2.19730806 -3.54443073]]

       [[-0.06297994 -2.00482416  0.59676516]
        [ 4.67272186  5.65182924  4.09582424]
        [ 2.7788372   5.98527384 -2.6666224 ]
        [ 3.16021729 -1.91416168  5.80957127]]

       [[ 1.02783668  6.41434669  1.21851563]
        [ 1.91652226  4.92101288  3.5966537 ]
        [ 8.81034088 -6.39348555  0.40041703]
        [ 1.73723185  6.28792715  1.42974699]]]

实际输出:

    A = [[[ -0.65417171  -1.40839672   3.19909716]
          [  1.07636631   0.17684913   4.71093321]
          [ -5.09605312  10.91295624   5.38061857]
          [ -9.29111958  -1.7284565    2.45179629]]

         [[ -0.76684391  -2.16150737  -3.62512016]
          [  3.21780777  -2.36276865   7.64585924]
          [ -1.07357502  -4.73556328   4.95397234]
          [  1.18051505   9.17577648   3.8489306 ]]

         [[  6.66901398   0.03398579   8.72498512]
          [  4.40670109  -7.78334332  -1.8045435 ]
          [ -2.18825078   4.8425808    5.10759735]
          [  0.74138677  -1.04855943   0.95073003]]

         [[  5.25264406  -0.05697596   1.63505375]
          [ -0.87970138   2.31281424   3.91198015]
          [ -0.86509061   0.77371651   8.79425526]
          [  0.08436918   0.27455544   4.39557934]]]

它会输出正确的形状,但是我一生都无法弄清为什么值会发生变化。

有人可以指出我正确的方向吗?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)