從Python中,我有一個目前在C++環境中使用的凍結的graph.pb
。現在輸入張量的數據目前在CPU上進行了預處理,但我想在另一個GraphDef中執行此步驟以在GPU上運行它,但似乎無法找到連接兩個GraphDef
之間的節點的方法。連接不同GraphDef的節點
讓我們假設我凍僵圖已輸入/佔位符命名mid
,我想用預處理步驟下面連接
tf::GraphDef create_graph_extension() {
tf::Scope root = tf::Scope::NewRootScope();
auto a = tf::ops::Const(root.WithOpName("in"), {(float) 23.0, (float) 31.0});
auto b = tf::ops::Identity(root.WithOpName("mid"), a);
tf::GraphDef graph;
TF_CHECK_OK(root.ToGraphDef(&graph));
return graph;
}
我通常使用session->Extend()
在同一會話中運行多個圖形,但總是確保他們的節點名稱是唯一的。使用非唯一節點名稱,我希望連接,我得到一個錯誤
Failed to install graph:
Invalid argument: GraphDef argument to Extend includes node 'mid', which
was created by a previous call to Create or Extend in this session.
P.它似乎至少可以用Python(link)