Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/134.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 如何在tensorflow中在gpu和cpu之间拉/推数据_C++_Tensorflow_Cuda - Fatal编程技术网

C++ 如何在tensorflow中在gpu和cpu之间拉/推数据

C++ 如何在tensorflow中在gpu和cpu之间拉/推数据,c++,tensorflow,cuda,C++,Tensorflow,Cuda,我使用临时张量在定制的基于GPU的OP中存储数据。为了调试目的,我想用C++中的传统PrtTF打印这个张量的数据。如何将这个基于gpu的张量拉到cpu,然后打印它的内容。 多谢各位 如果“临时”指的是allocate_temp而不是allocate_output,那么在python端无法获取数据 我通常在调试期间返回张量本身,以便简单的sess.run获取结果。否则,显示数据的唯一方法是C++内部的传统PrimTf。假设张量是自定义操作的输出,则tf.Print可以简化进一步的调试 例如: 张量

我使用临时张量在定制的基于GPU的OP中存储数据。为了调试目的,我想用C++中的传统PrtTF打印这个张量的数据。如何将这个基于gpu的张量拉到cpu,然后打印它的内容。 多谢各位

如果“临时”指的是allocate_temp而不是allocate_output,那么在python端无法获取数据

我通常在调试期间返回张量本身,以便简单的sess.run获取结果。否则,显示数据的唯一方法是C++内部的传统PrimTf。假设张量是自定义操作的输出,则tf.Print可以简化进一步的调试

例如:

张量温度张量; OP_需要_OKctx,ctx->allocate_tempDT_FLOAT,some.shape和temp_tensor; float*host_memory=new float[some.NumElements]; cudaMemcpyhost_内存,temp_tensor.flat.data,some.NumElements*sizeoffloat,cudaMemcpyDeviceToHost;
非常感谢你的帮助。是的,我想用C++中的传统的打印输出数据。由于它是一个基于gpu的张量,我想知道如何将数据从gpu拉到cpu?cumemcpy或if!threadIdx.x printf与每个cuda实现都类似。