TensorFlow - tf.layers vs tf.contrib.layers

gol*_*enk 11 python tensorflow

在TensorFlow,tf.layers并且tf.contrib.layers共享许多功能(标准2D卷积层,批标准化层等)的.两者之间的区别仅仅在于封装被认为是稳定contrib.layerslayers封装仍然是实验性的吗?或者一个被另一个取代?其他差异?为什么这两个分开?

E_n*_*ate 16

你已经回答了自己的问题.tf.contrib命名空间的官方文档说明如下:

contrib模块包含volatile或实验代码.

因此tf.contrib保留用于实验性功能.允许此命名空间中的API在不同版本之间快速更改,而其他API通常不能没有新的主要版本.特别是,其中的函数tf.contrib.layers与中找到的函数不同tf.layers,尽管其中一些函数可能会使用不同的名称进行复制.

至于你是否应该使用它们,这取决于你是否愿意处理突然发生的变化.不依赖的代码tf.contrib可能更容易迁移到TensorFlow的未来版本.