有TF_GraphGetTensorShape在C API,但接口不与C ++兼容Graph和Output。如何使用 tensorflow C/C++ API 做同样的事情?
例如。如何Slice使用 C++ API获取操作的返回张量形状,然后使用该张量形状制作variable具有相同形状的张量形状?
这是一个将形状作为向量返回的小函数,例如 {48,48,2}
std::vector<int> get_tensor_shape(tensorflow::Tensor& tensor)
{
std::vector<int> shape;
int num_dimensions = tensor.shape().dims()
for(int ii_dim=0; ii_dim<num_dimensions; ii_dim++) {
shape.push_back(tensor.shape().dim_size(ii_dim));
}
return shape;
}
Run Code Online (Sandbox Code Playgroud)
除此之外,我发现 tensor.DebugString() 很有帮助,例如“张量类型:浮点形状:[48,48,2] 值:[[0,0390625 -1][0,0390625]]...> ”
对于 python,请参阅此线程:https : //stackoverflow.com/a/40666375/2135504,tensor.get_shape().as_list()推荐的位置。