0
在我的圖像檢測Python代碼我用這如何使tensorflow one在c + +?
xlabel = tf.one_hot(1, nClass).eval()
我現在用C++來獲取模型在iOS工作。 任何人都可以給我的C++代碼片段可以做同樣的事情嗎? 我的目標是得到一個大小爲60的對象。值爲1,關閉值爲0.
在我的圖像檢測Python代碼我用這如何使tensorflow one在c + +?
xlabel = tf.one_hot(1, nClass).eval()
我現在用C++來獲取模型在iOS工作。 任何人都可以給我的C++代碼片段可以做同樣的事情嗎? 我的目標是得到一個大小爲60的對象。值爲1,關閉值爲0.
我無法從Tensorflow C++直接API做到這一點,但我找到了解決辦法。如果它可以幫助像我這樣的其他人,它是:
std::vector<float> oneHotVec;
for(int i = 0; i < 62 ; i++)
{
if (i == question)
oneHotVec.push_back(1.0f);
else
oneHotVec.push_back(0.0f);
}
tensorflow::Tensor z(tensorflow::DT_FLOAT, tensorflow::TensorShape({1, 62}));
for (auto j = 0; j < 62; j++)
{
z.matrix<float>().operator()(0, j) = oneHotVec.at(j);
}
這裏「z」是張量所需的一個熱矢量。
您是否檢查過文檔?找到函數的C++版本非常簡單:https://www.tensorflow.org/api_docs/cc/class/tensorflow/ops/one-hot。 –
是的,我檢查了文檔,但因爲我是這個新手,我無法弄清楚如何在我的代碼中使用它,我不知道什麼是'tensorflow :: Scope'如何在我的代碼中聲明它,用它。 –
顯示您當前的C++代碼。 –