在virtualenv中运行tensorflow时出错:模块“ tensorflow”没有属性“ truncated_normal”

时间:2019-10-11 12:36:47

标签: python tensorflow keras

运行由喀拉拉邦制成的CNN时出现以下错误

  

文件   “ venv / lib / python3.6 / site-packages / keras / backend / tensorflow_backend.py”,   第4185行,在truncated_normal中       返回tf.truncated_normal(shape,mean,stddev,dtype = dtype,seed = seed)AttributeError:模块'tensorflow'没有属性   'truncated_normal'

我已经多次安装并重新安装了Tensorflow 2.0。可能会发生什么?

3 个答案:

答案 0 :(得分:3)

对于TewnsorFlow 2.x和keras 2.3或更高版本,以下用法更具适应性。用户无需同时将TensorFlow和Keras降级。

# Add the import statements 
import tensorflow.compat.v1 as tf
tf.disable_v2_behavior()

# Change it to the sample expression as follows. 
init = tf.compat.v1.random.truncated_normal()

干杯!

答案 1 :(得分:2)

Keras 2.2.4不支持TensorFlow 2.0(它是在TF 2.0之前发布的),因此您可以将TensorFlow降级到1.x版本,或者将Keras升级到支持TensorFlow 2.0的2.3版本。

答案 2 :(得分:1)

在 Tensorflow v2.0 及更高版本中,“tf.truncated_normal”替换为“tf.random.truncated_normal