Max*_*mus 1 c++ protocol-buffers tensorflow
在进行任何推理调用之前,我试图在 C++ 中获取输入张量的形状。所以我只能从 Graph Def 中做到这一点。
我正在尝试:
auto att = graph_def.node(i).attr();
att["shape"].PrintDebugString();
Tensor tensor;
std::cerr << tensor.FromProto(att["shape"].tensor()) << std::endl;
Run Code Online (Sandbox Code Playgroud)
它返回 false。虽然 PrintDebugString 打印:
形状{暗淡{大小:-1}暗淡{大小:1024}暗淡{大小:1024}暗淡{大小:3}}
所以我所需要的就是获得 1024x1024x3。我对 Protobuf 协议不是很熟悉,对我来说完全不清楚如何做到这一点。
小智 5
我设法这样做:
auto shape = graph_def.node().Get(0).attr().at("shape").shape();
for (int i = 0; i < shape.dim_size(); i++) {
std::cout << shape.dim(i).size()<<std::endl;
}
Run Code Online (Sandbox Code Playgroud)
就我而言,它是:1 128 128 3
| 归档时间: |
|
| 查看次数: |
1777 次 |
| 最近记录: |