美文网首页
paddlepaddle中的几个数据结构-Tensor篇

paddlepaddle中的几个数据结构-Tensor篇

作者: sweetsky0901 | 来源:发表于2017-12-08 11:02 被阅读0次

framework::Tensor

表示的是张量。他的一些接口和使用方法

形状相关的
  • dims()
    获取每个维度的一些信息,可以使用接口dims()
    比如
framework::Tensor test_tensor;
tensor.dims().size(); //表示有多少維
int batch_size = tensor.dims()[0]; //获取某一维度的大小
  • Resize(shape)
std::vector<int64_t> shape_vec({dim0, dim1, dim2});                                                        
framework::DDim shape(framework::make_ddim(shape_vec));
tensor.Resize(shape);              
  • numel()
int nums = tensor.numel(); //表示有多少个元素
  • Slice(i, j), 这个注意只能是切最外层的,返回的是从i到j-1的子张量。(从0开始计算的)
tensor.Slice(i, j);
  • 拼接
    是用内容拷贝实现的,目前实现在一个op里,concat
  • 内存拷贝
auto xxstride = framework::stride(xx.dims());                                     
StridedMemcpy<T>(context.template device_context<DeviceContext>(),                               
                       输入的数据, 输入stride, 拷贝部分dims(),                        
                      输出stride, 输出的指针);                                    
      

相关文章

网友评论

      本文标题:paddlepaddle中的几个数据结构-Tensor篇

      本文链接:https://www.haomeiwen.com/subject/bnxeixtx.html