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 封裝的工具類函數 | 操作組 | 操作 ||:-------------| ...
    南墻已破閱讀 5,205評論 0 5
  • 我的愛人 你原是我的愛人, 那么美,那么真。 終于,今天, 我變成了你喜歡的樣子, 你緊握著他的手。 你仍是我的...
    唱歌的和尚閱讀 250評論 1 1
  • 2017年11月11日 寧寧+venessa 香蜜小小書語者 D16 今天我給媽媽講了分級閱讀<水果多多>《愛是一...
    淺淺依然閱讀 196評論 0 0
  • 雖然不是第一次漂泊歸來,但是這次卻是最激動,感觸最深,故以此文贊美我大扶溝的變化與美麗,發此文以傳頌。 厲害了,我...
    隨心文字閱讀 493評論 0 1
  • 太陽尚未完全落下,月亮便悄悄的在地平線上露出了半邊臉龐。黃昏的校園格外靜謐,四周悄沉沉的。湖水在微風的吹拂...
    鑫也狂生耳閱讀 440評論 0 0