AttributeError: module 'tensorflow' has no attribute 'Session'
新的Tensorflow 2.0版本中已经移除了Session这一模块,改换运行代码
tf.compat.v1.Session()
就可以获得与原先相同的输出信息。如果觉得不方便,也可以改换低版本的Tensorflow,直接用pip即可安装
pip install tensorflow==1.14
RuntimeError: The Session graph is empty. Add operations to the graph before calling run().
无法执行sess.run()的原因是tensorflow版本不同导致的,tensorflow版本2.0无法兼容版本1.0.
解决办法:
tf.compat.v1.disable_eager_execution()
import tensorflow as tf
tf.compat.v1.disable_eager_execution() # 保证sess.run()能够正常运行
hello = tf.constant('hello tf')
sess = tf.compat.v1.Session()
print(sess.run(hello))
在运行过程中出现"Failed to get convolution algorithm. This is probably because cuDNN failed to initialize"的报错
解决办法:
config = tf.ConfigProto()
config.gpu_options.allow_growth = True
with tf.Session(config=config) as session:
Could not load dynamic library 'cudart64_101.dll'; dlerror: cudart64_101.dll not found
解决办法:下载CUDART64_101.DLL文件,复制到CUDA安装目录下的bin文件夹里
Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2 FMA
解决方法:
(1) 如果安装的是GPU版本
如果你有一个GPU,你不应该关心AVX的支持,因为大多数昂贵的操作将被分派到一个GPU设备上(除非明确地设置)。在这种情况下,您可以简单地忽略此警告:
import os
os.environ['TF_CPP_MIN_LOG_LEVEL'] = '2'
(2) 如果安装的是CPU版本(pip install tensorflow)
1.在代码中加入如下代码,忽略警告:
import os
os.environ['TF_CPP_MIN_LOG_LEVEL'] = '2'
2.编译TensorFlow源码
如果您没有GPU并且希望尽可能多地利用CPU,那么如果您的CPU支持AVX,AVX2和FMA,则应该从针对CPU优化的源构建tensorflow。
tensorflow GPU测试tf.test.is_gpu_avaiable()返回false
解决办法:
先检查CUDA、cuDNN和tensorflow的版本有没有对应一致
如果确定对应一致,而且环境变量也确认配置正确了,还是返回了False,那么请跟随一下步骤:
1、在桌面右击,打开Nvidia控制面板,若无Nvidia控制面板,则执行步骤2;若有,执行步骤3。
2、下载Nvidia Experience,默认选项安装(大概占用C盘4G容量)。安装完成后,执行步骤1.
3、打开系统信息。
4、查看CUDA的驱动版本,如果版本太低,到Nvidia Experience更新驱动程序。默认安装即可。
5、安装完之后,顺便把PhysX设置固定为独立显卡。
tensorflow-gpu运行测试代码,卡在 I tensorflow/core/common_runtime/gpu/gpu_device.cc:1512] Adding visible gpu
解决办法:试着重新运行了两次就好了,貌似第一次运行GPU的时候就会卡在这里会很慢,运行卡在那句后就耐心等待即可。