从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)