简体   繁体   English

Tensorflow C API:如何在张量中修改值

[英]Tensorflow C API: How to modify the value in tensor

How to change values ​​in a tensor without creating a new tensor? 如何在不创建新张量的情况下更改张量中的值?

For example, I have a tensor : 例如,我有一个tensor

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);

When I change the values in input , how do make it so that the values in input_tensor are also changed? 当我更改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)));

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM