日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

MXNET源码中TShape值的获取和打印

發(fā)布時間:2023/11/27 生活经验 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 MXNET源码中TShape值的获取和打印 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

承接上一篇(https://blog.csdn.net/zhqh100/article/details/91438657),嘗試打印TShape的數(shù)值,

同樣還是文件incubator-mxnet/src/c_api/c_api.cc中,函數(shù)MXNDArrayReshape64修改如下:

MXNET_DLL int MXNDArrayReshape64(NDArrayHandle handle,int ndim,dim_t *dims,bool reverse,NDArrayHandle *out) {NDArray *ptr = new NDArray();API_BEGIN();NDArray *arr = static_cast<NDArray*>(handle);mxnet::Tuple<dim_t> shape(dims, dims+ndim);CHECK_GT(arr->shape().Size(), 0) << "Source ndarray's shape is undefined. Input shape: "<< arr->shape();mxnet::TShape new_shape = mxnet::op::InferReshapeShape(shape, arr->shape(), reverse);std::cout << "ndim =" << new_shape.ndim() << std::endl;for (int i = 0; i < new_shape.ndim(); i ++){std::cout << "new_shape[" << i << "] = " << new_shape[i] << std::endl;}*ptr = arr->ReshapeWithRecord(new_shape);*out = ptr;API_END_HANDLE_ERROR(delete ptr);
}

Python測試代碼為:

from mxnet import autograd, nd
import mxnet
print(mxnet.__version__)x = nd.arange(42)
x = x.reshape((6, 7))
print(x[2:4].asnumpy())

打印結果為:

# python3 mxnet_test.py 
1.5.0
ndim =2
new_shape[0] = 6
new_shape[1] = 7
slice_begin:2
slice_end:4
p[0] = 14
p[1] = 15
p[2] = 16
p[3] = 17
[[14. 15. 16. 17. 18. 19. 20.][21. 22. 23. 24. 25. 26. 27.]]

現(xiàn)在我們可以從C++中獲取到NDArray的真實信息了

總結

以上是生活随笔為你收集整理的MXNET源码中TShape值的获取和打印的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。