使用多个随机森林创建一个TensorFlow图(RandomForestGraphs)

时间:2019-05-23 15:36:41

标签: python tensorflow random-forest

是否可以在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中创建并合并两个图形?

0 个答案:

没有答案