使用tensorflow遇见的坑(不断更新!)

使用tensorflow遇见的坑1

坑1描述:

安装了tensorflow-gpu版本以后,在pycharm中用样例代码测试tensorflow是否安装成功时。出现了如下错误。直接的错误是:ImportError: libcublas.so.9.0: cannot open shared object file: No such file or directory

Traceback (most recent call last):
  File "/home/wanglei/tensorflow/lib/python3.6/site-packages/tensorflow/python/pywrap_tensorflow.py", line 58, in 
    from tensorflow.python.pywrap_tensorflow_internal import *
  File "/home/wanglei/tensorflow/lib/python3.6/site-packages/tensorflow/python/pywrap_tensorflow_internal.py", line 28, in 
    _pywrap_tensorflow_internal = swig_import_helper()
  File "/home/wanglei/tensorflow/lib/python3.6/site-packages/tensorflow/python/pywrap_tensorflow_internal.py", line 24, in swig_import_helper
    _mod = imp.load_module('_pywrap_tensorflow_internal', fp, pathname, description)
  File "/home/wanglei/tensorflow/lib/python3.6/imp.py", line 243, in load_module
    return load_dynamic(name, filename, file)
  File "/home/wanglei/tensorflow/lib/python3.6/imp.py", line 343, in load_dynamic
    return _load(spec)
ImportError: libcublas.so.9.0: cannot open shared object file: No such file or directory

原因是无法加载libcublas.so文件,解决办法应该在edit configurations中配置python的运行环境。加入LD_LIBRARY_PATH,设置路径/usr/local/cuda/lib64,每次新建一个py文件都要重新添加,好在可以直接复制,粘贴。
使用tensorflow遇见的坑(不断更新!)_第1张图片

坑2描述
TypeError: Input ‘y’ of ‘Mul’ Op has type float64 that does not match type float32 of argument ‘x’
使用tensorflow遇见的坑(不断更新!)_第2张图片
传入的x,y经过tf.constant转换成了tf.float64类型,在第二十三行进行tf.multiply()计算时候出错。因为a的类型是tf.float32类型,所以必须用tf.cast()更改x,y的类型。
tf.matmul()和tf.mulitply()进行计算时,要求两个参数的数据类型是一致的

坑3描述
InternalError (see above for traceback): Blas GEMM launch failed : a.shape=(100, 784), b.shape=(784, 256), m=100, n=256, k=784
解决办法是GPU没有多余的资源了,你应该把GPU里面的进程关掉一些。

坑4描述
TypeError: Fetch argument 0.19 has invalid type , must be a string or Tensor. (Can not convert a float32 into a Tensor or Operation.)
原因是出在这个代码处
使用tensorflow遇见的坑(不断更新!)_第3张图片

使用了两个相同的名字,把第一个方框处的accuracy改成一个别的变量名就行。报错原因是这个语句能够执行一次,返回一个浮点数,但是再把它赋值给accuracy是不行的,因为accuracy是一个张量。
stackoverflow上有相同问题的答案。

你可能感兴趣的:(深度学习)