c - tensorflow C API : How to modify the value in tensor

标签 c tensorflow

如何在不创建新张量的情况下更改张量中的值?

例如,我有一个张量:

const size_t input_dims_len = 3;
int64_t input_dims[input_dims_len] = {1, 5, 12};
float input[5 * 12] = {...};
TF_Tensor* input_tensor = TF_NewTensor(TF_FLOAT,
                                       input_dims,
                                       input_dims_len,
                                       input,
                                       5 * 12 * sizeof(float),
                                       deallocate_tensor,
                                       nullptr);

当我更改input中的值时,如何使input_tensor中的值也更改?

最佳答案

// Allocate tensor
const int input_dims_len = 3;
int64_t input_dims[input_dims_len] = {1, 5, 12};
const int data_size = 5 * 12 * sizeof(float));
TF_Tensor* tensor = TF_AllocateTensor(TF_FLOAT,
                                      input_dims, input_dims_len,
                                      data_size);
// Change values ​​in a tensor
float input[5 * 12] = {...};
std::memcpy(TF_TensorData(tensor), input, std::min(data_size, TF_TensorByteSize(tensor)));

关于c - tensorflow C API : How to modify the value in tensor,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50370966/

相关文章:

在 vgg16 架构上,tensorflow 比 pytorch 慢 2.5 倍

python - tf.train.Saver - 在不同的机器上加载最新的检查点

c - 指针符号

c - 冒泡和插入之间的时间复杂度

找不到 Node.js 原生插件模块 (tfjs_binding.node)

python - 跨纪元的恒定准确性

python - 再训练最后一层 Inception-ResNet-v2

c - 谜题:谁赢得了比赛?

C 指向指针的指针和按引用传递

c - 这段代码不会造成内存泄漏吗?