我一直在使用contrib.layers
在TensorFlow中开发机器学习代码。我对这个模块很满意;它运行得非常好,为我提供了对模型的充分控制。然而,TensorFlow 2. 0将完全删除contrib
模块,新的keras
模块不需要额外的努力(个人经验,如果我错了请纠正我)就不能为我提供足够的灵活性和控制,尽管它更容易编写。
我想知道contrib
模块在TensorFlow 2.0中的位置。提前感谢。
我一直在使用contrib.layers
在TensorFlow中开发机器学习代码。我对这个模块很满意;它运行得非常好,为我提供了对模型的充分控制。然而,TensorFlow 2. 0将完全删除contrib
模块,新的keras
模块不需要额外的努力(个人经验,如果我错了请纠正我)就不能为我提供足够的灵活性和控制,尽管它更容易编写。
我想知道contrib
模块在TensorFlow 2.0中的位置。提前感谢。
3条答案
按热度按时间relj7zay1#
根据RFC document from August 2018,
tf.contrib
将被删除,其中一些部分将成为独立项目(如tensorflow/probability)。tf.conrib.layers
的情况并非如此。甚至tf.layers
(从tf.contrib.layers
中提取)也将不再受支持。迁移指南中提供了如何使用Keras API的详细说明。92dk7w1h2#
Tensorflow.contrib是一个易变或实验性代码的家园。它在版本之间快速增长,并变得非常庞大。Tensorflow 2.0带来了一些破坏性的代码更改,如弃用作用域、渴望执行和关注keras代码。Tensorflow团队决定弃用tensorflow.contrib,同时保留它的一些部分。您可以在"Sunsetting tf.contrib" RFC中获得更多信息。此外,您可以随时向Tensorflow团队指出您觉得哪些部分有用,甚至可以帮助他们迁移到TF2.0。
我收集了20个最流行的(根据github在python代码中的用法)contrib子包和它们的命运:
*包名(github使用次数)--命运--参考
这似乎有点令人不安的是,tensorflow.contrib与970 K的使用被弃用,而整个TF有4 M的所有在一起。
smdnsysy3#
tf.contrib
中的一些项目正在移动到核心(例如tf.contrib.lite
、tf.contrib.tpu
)。一些项目将移动到单独的存储库(例如tf.contrib.probability --> tensorflow/probability
),一些项目将被删除(例如copy_graph
、nearest_neighbor
)。有关这些项目命运的完整列表,请阅读this。