在Pytorch C ++中将Tensor转换为CUDA,但内容已更改

问题描述

每个人,我都面临一个需要将张量复制到CUDA的问题。代码如下:

torch::Tensor r_data1 = torch::from_blob(raw_data.data(),{batch_size,arr_size}).to(torch::kInt64);
auto tmp_data = static_cast<size_t*>(r_data1.storage().data());
size_t tmp_size = r_data1.numel();
cout << "r data1 tensor ";
for (size_t i = 0; i < tmp_size; i++) {
    cout << tmp_data[i] << "\t";
}
cout << endl;

torch::Tensor r_data2 = r_data1.cuda();
tmp_data = static_cast<size_t*>(r_data2.cpu().storage().data());
tmp_size = r_data2.numel();
cout << "r data tensor ";
for (size_t i = 0; i < tmp_size; i++) {
    cout << tmp_data[i] << "\t";
}
cout << endl;

但是结果是:

r data1张量 101 4886 2456 4689 3787 2336 2356 1298 2128 2356 4886 2456 4689 1298 2128 2356 736 6963 7252 5401 3215 3333 1921 3441 8110 1384
r数据张量 139682015587936 139682014923568 2456 4689 3787 2336 2356 1298 2128 2356 4886 2456 4689 1298 2128 2356 736 6963 7252 5401 3215 3333 1921 3441 8110 1384

ID已更改。为什么?你有这个问题吗?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...