2017-09-06 90 views
0

我感興趣的是得到它定義爲指針的輸出張量的值:如何獲得指針型張量的形狀?

Tensor* out = nullptr;

我試圖out->get_shape()會拋出錯誤:

error: 'class tensorflow::Tensor' has no member named 'get_shape'; did you mean 'set_shape'? 

如何獲得形狀?

+0

你可以試試,'OUT->形狀()'; –

+0

我試圖打印使用:'std :: cout <<「out =」<< out-> shape()<< std :: endl;'。它說:'錯誤:'operator <<'不匹配(操作數類型是'std :: basic_ostream '和'const tensorflow :: TensorShape')' – NamrataB

回答

0

可以使用'shape()'溫控功能訪問張的形狀,它會返回一個TensorShape,打印的值,你可以使用.vec()方法

const TensorShape& out_shape = out.shape(); 
std::cout << "out = " << out_shape.dim_sizes() << std::endl; 
+0

'錯誤:'const class tensorflow :: TensorShape'has no member命名爲'vec'.'s ..這是在最新版本中添加的? M使用1.2.1 – NamrataB

+0

'dim_sizes'必須工作。 '.vec'是張量,看起來Tensorshape在這裏不被認爲是張量。 –

+0

我試過 - >昏暗(),它的工作。謝謝你的幫助! – NamrataB