1. TypeError: Cannot interpret feed_dict key as Tensor: Can not convert a builtin_function_or_method into a Tensor.
  • 错误代码如下:
_, summary, train_cost = sess.run([optimizer, merged, loss], feed_dict={ X: real_data, Y: real_label, is_training: True, iter: epoch})
  • 错误原因及解决方法

没有定义 iter 这个占位符,因此 feed_dict 的键值无法解析而出错。

2. could not create cudnn handle: CUDNN_STATUS_INTERNAL_ERROR
  • 详细错误信息如下:
E tensorflow/stream_executor/cuda/cuda_dnn.cc:385] could not create cudnn handle: CUDNN_STATUS_INTERNAL_ERROR
E tensorflow/stream_executor/cuda/cuda_dnn.cc:352] could not destroy cudnn handle: CUDNN_STATUS_BAD_PARAM
F tensorflow/core/kernels/conv_ops.cc:605] Check failed: stream->parent()->GetConvolveAlgorithms(&algorithms)
  • 错误原因及解决方法

删除家目录下面的隐藏文件夹 .nv 即可。sudo rm -f ~/.nv/

3. ImportError: libcublas.so.9.0: cannot open shared object file: No such file or directory
  • 错误原因及解决方法

安装的 CUDA 版本为 8.0,TensorFlow 版本为 1.6.0。因为 TensorFlow 从 1.5.0 往后就只支持 CUDA 9.0 ,因此重新卸载 TensorFlow, 安装 TensorFlow 1.4.0 以下的版本或者更新 CUDA 到 9.0 以上即可。

4. AttributeError: ‘module’ object has no attribute ‘argv’
  • 错误原因及解决方法

调用 sys.argv 显示没有 argv 这个属性,一般发生在其他语言调用 Python 时,我们可以人为加上这个属性即可。

if not hasattr(sys, 'argv'): sys.argv = [''] 

获取更多精彩,请关注「seniusen」!