我试图在我的一个项目中使用tf.contrib.layers.fully_connected(),它在TensorFlow 2.0中被弃用了。是否有等效的函数,或者我应该在我的虚拟环境中为这个项目保留TensorFlow v1.x?
tf.contrib.layers.fully_connected()
olmpazwi1#
在TensorFlow 2.0中,tf.contrib包已经被删除(这是一个很好的选择,因为整个包是一个巨大的不同项目的混合体,都放在同一个盒子里),所以你不能使用它。在TensorFlow 2.0中,我们需要使用tf.keras.layers.Dense来创建一个完全连接的层,但更重要的是,你必须将代码库迁移到Keras。事实上,如果不创建使用它的tf.keras.Model对象,就不能定义一个层并使用它。
tf.contrib
tf.keras.layers.Dense
tf.keras.Model
nimxete22#
tf-slim,作为一个独立的软件包,已经包含在tf.contrib.layers.you中,可以按pip install tf-slim安装,叫它from tf_slim.layers import layers as _layers; _layers.fully_conntected(..)。和原来的一样,更换方便
pip install tf-slim
from tf_slim.layers import layers as _layers; _layers.fully_conntected(..)
6rqinv9w3#
用途:tf.compat.v1.layers.dense,而不是
tf.compat.v1.layers.dense
Z = tf.contrib.layers.fully_connected(F, num_outputs, activation_fn=None)
您可以将其替换为:
Z = tf.compat.v1.layers.dense(F, num_outputs, activation = None)
pcww981p4#
tf.contrib.layers.fully_connected()是一个完美的烂摊子。这是一个非常古老的历史标记(或史前DNN遗产)。谷歌已经完全弃用了这个功能,因为谷歌讨厌它。TensoFlow 2.x中没有任何直接函数来替换tf.contrib.layers.fully_connected()。因此,不值得询问和了解功能。
4条答案
按热度按时间olmpazwi1#
在TensorFlow 2.0中,
tf.contrib
包已经被删除(这是一个很好的选择,因为整个包是一个巨大的不同项目的混合体,都放在同一个盒子里),所以你不能使用它。在TensorFlow 2.0中,我们需要使用
tf.keras.layers.Dense
来创建一个完全连接的层,但更重要的是,你必须将代码库迁移到Keras。事实上,如果不创建使用它的tf.keras.Model
对象,就不能定义一个层并使用它。nimxete22#
tf-slim,作为一个独立的软件包,已经包含在tf.contrib.layers.you中,可以按
pip install tf-slim
安装,叫它from tf_slim.layers import layers as _layers; _layers.fully_conntected(..)
。和原来的一样,更换方便6rqinv9w3#
用途:
tf.compat.v1.layers.dense
,而不是您可以将其替换为:
pcww981p4#
tf.contrib.layers.fully_connected()是一个完美的烂摊子。这是一个非常古老的历史标记(或史前DNN遗产)。谷歌已经完全弃用了这个功能,因为谷歌讨厌它。TensoFlow 2.x中没有任何直接函数来替换tf.contrib.layers.fully_connected()。因此,不值得询问和了解功能。