Libtorch中许多API与Pytorch中十分类似,但是在C++环境下tensor数据处理的效率问题十分有必要引起重视:
Libtorch中tensor读写方法对比:【torch::from_blob】
简言之,对于创建未知长度的数组:先将数值赋给vector,再通过:
torch::Tensor vector_tensor = torch::from_blob(test_vector.data(), { ele_n }); 这个语句耗时会比较合理。
如果已知元素个数,推荐先创建一个数组,然后把数组的指针交给tensor:
torch::Tensor array_tensor = torch::from_blob(test_array, { ele_n });
同时:若想在GPU上有一个Tensor值,不要直接给GPU上的tensor赋值:推荐的方法是先在CPU上从数组中创建一个tensor,再把这个tensor赋值到GPU中
下属的这个链接,好像有点不读一,按它方式再测一遍时间,(因为它后两种方式测时间的时候不知道为啥,没把from_blob加进去)时间在整理一边
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- hids.cn 版权所有 赣ICP备2024042780号-1
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务