我想接受一个tensorarray,连接它,对它进行操作,然后把它变成一个tensorarray。这是为了批量处理不同大小的输入。 (这些输入是点集,而不是序列。)
我想知道在分割和连接时,tensorflow是否会实际复制数据,或者它是否只是保存大小并在单个张量上运行,向程序员提供“视图”。
答案 0 :(得分:0)
正如Prune指出的那样,这是根据具体情况而定的(取决于是否可以使用就地算法),您需要查看每个操作的Compute方法以查找。
例如,对于Concat,输出是单独分配的: https://github.com/tensorflow/tensorflow/blob/master/tensorflow/core/kernels/concat_op.cc#L130
但对于BiasAdd,输出重用输入的相同内存: https://github.com/tensorflow/tensorflow/blob/master/tensorflow/core/kernels/bias_op.cc#L77