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

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, 输出的指针);                                    
      
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1. tf函数 tensorflow 封装的工具类函数 | 操作组 | 操作 ||:-------------| ...
    南墙已破阅读 10,692评论 0 5
  • 我的爱人 你原是我的爱人, 那么美,那么真。 终于,今天, 我变成了你喜欢的样子, 你紧握着他的手。 你仍是我的...
    唱歌的和尚阅读 1,716评论 1 1
  • 2017年11月11日 宁宁+venessa 香蜜小小书语者 D16 今天我给妈妈讲了分级阅读<水果多多>《爱是一...
    浅浅依然阅读 1,397评论 0 0
  • 虽然不是第一次漂泊归来,但是这次却是最激动,感触最深,故以此文赞美我大扶沟的变化与美丽,发此文以传颂。 厉害了,我...
    随心文字阅读 3,456评论 0 1
  • 太阳尚未完全落下,月亮便悄悄的在地平线上露出了半边脸庞。黄昏的校园格外静谧,四周悄沉沉的。湖水在微风的吹拂...
    鑫也狂生耳阅读 3,199评论 0 0