AttributeError: module 'tensorflow_core.compat.v1' has no attribute 'contrib'
AttributeError: module 'tensorflow_core.compat.v1' has no attribute 'contrib'
x = tf.placeholder(dtype = tf.float32, shape = [None, 28, 28])
y = tf.placeholder(dtype = tf.int32, shape = [None])
images_flat = tf.contrib.layers.flatten(x)
logits = tf.contrib.layers.fully_connected(images_flat, 62, tf.nn.relu)
loss =
tf.reduce_mean(tf.nn.sparse_softmax_cross_entropy_with_logits(
labels = y, logits = logits))
train_op =
tf.train.AdamOptimizer(learning_rate=0.001).minimize(loss)
correct_pred = tf.argmax(logits, 1)
accuracy = tf.reduce_mean(tf.cast(correct_pred,
tf.float32))
print("images_flat: ", images_flat)
print("logits: ", logits)
print("loss: ", loss)
print("predicted_labels: ", correct_pred)
AttributeError Traceback (most recent call last)
<ipython-input-17-183722ce66a3> in <module>
1 x = tf.placeholder(dtype = tf.float32, shape = [None, 28, 28])
2 y = tf.placeholder(dtype = tf.int32, shape = [None])
----> 3 images_flat = tf.contrib.layers.flatten(x)
4 logits = tf.contrib.layers.fully_connected(images_flat, 62, tf.nn.relu)
5 loss = tf.reduce_mean(tf.nn.sparse_softmax_cross_entropy_with_logits(labels = y, logits = logits))
AttributeError: module 'tensorflow_core.compat.v1' has no attribute 'contrib'
2.This 是我在 Jupyter Notebook 中的代码。
我刚从 python 开始,得到了我在标题中提到的错误。如果有人可以帮助我提供代码示例来解决问题,我将不胜感激。
tf.contrib
在 TensorFlow 2.0 alpha 版本中被从 TensorFlow 中删除了一次。
您很可能已经在使用 TensorFlow 2.0。
您可以在此处找到更多详细信息:https://github.com/tensorflow/tensorflow/releases/tag/v2.0.0-alpha0
要使用特定版本的tensorflow,请使用
pip install tensorflow==1.14
或
pip install tensorflow-gpu==1.14
我认为您需要在要执行的 python 文件中添加以下行。
import tensorflow.compat.v1 as tf
tf.disable_v2_behavior()
contrib 是 Google 团队头疼的问题。我们必须逐案处理 contrib 的问题。下面我只举两个例子。
1.With关于CNN,有如下方法
import tensorflow.compat.v1 as tf
tf.disable_v2_behavior()
# -initializer = tf.contrib.layers.xavier_initializer(seed=1)
initializer = tf.truncated_normal_initializer(stddev=0.1)
2.With相对于RNN/LSTM,有以下不同的方法。
import tensorflow.compat.v1 as tf
tf.disable_v2_behavior()
# -outputs, states = tf.contrib.rnn.static_rnn(lstm_cells, _X, dtype=tf.float32)
outputs, states = tf.compat.v1.nn.static_rnn(lstm_cells, _X, dtype=tf.float32)
x = tf.placeholder(dtype = tf.float32, shape = [None, 28, 28])
y = tf.placeholder(dtype = tf.int32, shape = [None])
images_flat = tf.contrib.layers.flatten(x)
logits = tf.contrib.layers.fully_connected(images_flat, 62, tf.nn.relu)
loss =
tf.reduce_mean(tf.nn.sparse_softmax_cross_entropy_with_logits(
labels = y, logits = logits))
train_op =
tf.train.AdamOptimizer(learning_rate=0.001).minimize(loss)
correct_pred = tf.argmax(logits, 1)
accuracy = tf.reduce_mean(tf.cast(correct_pred,
tf.float32))
print("images_flat: ", images_flat)
print("logits: ", logits)
print("loss: ", loss)
print("predicted_labels: ", correct_pred)
AttributeError Traceback (most recent call last)
<ipython-input-17-183722ce66a3> in <module>
1 x = tf.placeholder(dtype = tf.float32, shape = [None, 28, 28])
2 y = tf.placeholder(dtype = tf.int32, shape = [None])
----> 3 images_flat = tf.contrib.layers.flatten(x)
4 logits = tf.contrib.layers.fully_connected(images_flat, 62, tf.nn.relu)
5 loss = tf.reduce_mean(tf.nn.sparse_softmax_cross_entropy_with_logits(labels = y, logits = logits))
AttributeError: module 'tensorflow_core.compat.v1' has no attribute 'contrib'
2.This 是我在 Jupyter Notebook 中的代码。 我刚从 python 开始,得到了我在标题中提到的错误。如果有人可以帮助我提供代码示例来解决问题,我将不胜感激。
tf.contrib
在 TensorFlow 2.0 alpha 版本中被从 TensorFlow 中删除了一次。
您很可能已经在使用 TensorFlow 2.0。
您可以在此处找到更多详细信息:https://github.com/tensorflow/tensorflow/releases/tag/v2.0.0-alpha0
要使用特定版本的tensorflow,请使用
pip install tensorflow==1.14
或
pip install tensorflow-gpu==1.14
我认为您需要在要执行的 python 文件中添加以下行。
import tensorflow.compat.v1 as tf
tf.disable_v2_behavior()
contrib 是 Google 团队头疼的问题。我们必须逐案处理 contrib 的问题。下面我只举两个例子。
1.With关于CNN,有如下方法
import tensorflow.compat.v1 as tf
tf.disable_v2_behavior()
# -initializer = tf.contrib.layers.xavier_initializer(seed=1)
initializer = tf.truncated_normal_initializer(stddev=0.1)
2.With相对于RNN/LSTM,有以下不同的方法。
import tensorflow.compat.v1 as tf
tf.disable_v2_behavior()
# -outputs, states = tf.contrib.rnn.static_rnn(lstm_cells, _X, dtype=tf.float32)
outputs, states = tf.compat.v1.nn.static_rnn(lstm_cells, _X, dtype=tf.float32)