是否可以在TensorFlow中创建一个包含多个RandomForestGraphs的图形?
我希望拥有三个随机森林,而不是一个具有num_classes=3
的随机森林,一个仅对1和2类进行分类,第二个对2和3类进行分类,而第三对3和1进行分类。是一个仲裁器元素,用于根据当前类别(即,类别1->树1,类别2->树2,...)来决定要训练或推断哪个森林。我希望通过这种方式以一种简单的方式来限制可能的结果:(以前)第1类的输入只能导致第1或2类,等等。
现在,问题在于Tensorflow在内部使用图形,而当我尝试创建第二个RandomForestGraphs
时,我得到一个错误:
ValueError:变量device_dummy_0已存在,不允许使用。您是要在VarScope中设置“ reuse = True”还是“ reuse = tf.AUTO_REUSE”?
我的理解是,内部默认图是在第一次调用RandomForestGraphs
之后配置的,而第二次调用被认为是多余的,基本上是改写第一个。使用的代码:
hp0 = tensor_forest.ForestHParams(num_classes=2, num_features=num_features, regression=False, num_trees=num_trees, max_nodes=max_nodes).fill()
hp1 = tensor_forest.ForestHParams(num_classes=2, num_features=num_features, regression=False, num_trees=num_trees, max_nodes=max_nodes).fill()
forest_graph0 = tensor_forest.RandomForestGraphs(hp0)
forest_graph1 = tensor_forest.RandomForestGraphs(hp1) # ERROR
有没有更优雅的方法来解决这个问题?还是可以以某种方式在TensorFlow中创建并合并两个图形?