我在哪里可以找到TensorFlow 2.0的tensorflow.contrib.layers

时间:2019-04-04 14:07:57

标签: tensorflow

我一直在使用contrib在TensorFlow中开发机器学习代码。我对该模块感到满意;它运作良好,为我提供了对模型的足够控制。但是,TensorFlow 2.0将完全删除keras模块,而新的contrib模块如果不付出额外的努力(个人经验,如果我错了,请纠正我)就无法为我提供足够的灵活性和控制力,即使它更容易写。

我想知道groupBy模块在​​TensorFlow 2.0中的位置。预先感谢。

3 个答案:

答案 0 :(得分:1)

tf.contrib的一些项目正在进入核心项目(例如tf.contrib.litetf.contrib.tpu)。有些将被移到单独的存储库(例如tf.contrib.probability --> tensorflow/probability),而某些将被删除(例如copy_graphnearest_neighbor)。

有关项目命运的完整列表,请阅读this

答案 1 :(得分:0)

根据RFC document from August 2018tf.contrib将被删除,其中的某些部分将成为独立项目(例如tensorflow/probability)。

tf.conrib.layers并非如此。甚至将不再支持tf.layers(从tf.contrib.layers中提取)。 migration guide中提供了有关如何使用Keras API的详细说明。

答案 2 :(得分:0)

Tensorflow.contrib是易失性或实验性代码的所在地。它从一个版本到另一个版本迅速增长,并且变得巨大。 Tensorflow 2.0带来了一些制动代码更改,例如范围的弃用,热切的执行以及对keras代码的关注。 Tensorflow团队决定弃用tensorflow.contrib,同时挽救其中的某些部分。您可以在"Sunsetting tf.contrib" RFC中获得有关此信息的更多信息。另外,请随时向Tensorflow团队指出您认为有用的部分,甚至帮助他们迁移到TF2.0。

我组装了20个最受欢迎的(根据python代码中的github用法)contrib子包及其命运:

  • 程序包名称(github上的用法数量)-命运-参考
  • contrib.boosted_trees(19393)-删除(移至核心)-guide
  • contrib.distributions(106634)-删除(移至probability
  • contrib.eager(23699)-移至核心
  • contrib.estimator(18255)-移至tensorflow / estimator
  • contrib.factorization(17834)-删除
  • contrib.framework(149940)-部分移至核心,删除其余部分
  • contrib.gan(28247)-移至单独的存储库
  • contrib.keras(37804)-删除
  • contrib.layers(212481)-部分移至tensorflow / contrib?
  • contrib.learn(167455)-删除(由tensorflow / estimator替换)
  • contrib.metrics(27793)-删除(替换为OO度量标准)
  • contrib.rnn(84067)-替换为新的RNN API
  • contrib.seq2seq(18917)-适应,移到核心
  • contrib.slim(261656)-转到tensorflow /模型?
  • contrib.tensor_forest(37377)-删除(移至核心)
  • contrib.timeseries(27197)-移至tensorflow / estimator
  • contrib.tpu(25446)-移至核心-tf.tpu
  • contrib.training(48928)-??
  • contrib.util(41627)-删除(无所有者),或移至工具

不推荐使用tensorflow.contrib的970K使用量,而整个TF总共有4M的情况。