zoukankan      html  css  js  c++  java
  • np.stack() 与 tf.stack() 的简单理解

    说明:np ----> numpy       tf ----> tensorflownp.stack(arraysaxis=0)

    np.stack(arrays, axis=0) ---- 同样也适用于tf.stack()

    numpy 和 tensorflow 都有 stack() 函数,该函数主要是用来提升维度。

    在只提供数组(张量)和axis参数的前提下,  两者的使用方法和结果一样,原理一样,所以这里用numpy做演示。

    假设要转变的张量数组arrays的长度为N,其中的每个张量数组的形状为(A, B, C)。

    如果轴axis=0,则转变后的张量的形状为(N, A, B, C)。

    如果轴axis=1,则转变后的张量的形状为(A, N, B, C)。

    如果轴axis=2,则转变后的张量的形状为(A, B, N, C)。其它情况依次类推。

    例如:

    np.stack(arrays, axis=0)则表示arrays[0], arrays[1], arrays[2]进行堆叠,所以结果与原始数组一样。

    np.stack(arrays, axis=1)则表示arrays[0][0], arrays[1][0]和arrays[2][0]进行堆叠,然后是arrays[0][1],arrays[1][1]与arrays[2][1]进行堆叠。

    np.stack(arrays, axis=2)则表示arrays[0][0][0],arrays[1][0][0]和arrays[2][0][0]进行堆叠,然后是arrays[0][0][1],arrays[1][0][1]与arrays[2][0][1]进行堆叠,接着为arrays[0][0][2],arrays[1][0][2]与arrays[2][0][2]进行堆叠......

    图例说明:

    注:转化后的索引看上面蓝色和绿色的线。

    到这里就是我全部的理解,如有错误,欢迎指出。

  • 相关阅读:
    验证身份证
    base64.js
    mysql常用操作
    drop、truncate和delete的区别
    安装mysql
    一些常用计算
    nuxt+vant+rem项目构建
    vue2安装sass 预编译
    vant ui rem配置流程
    关于vue项目和内嵌iframe页面之间的通信问题
  • 原文地址:https://www.cnblogs.com/liuq/p/10185427.html
Copyright © 2011-2022 走看看