我Theano在我的机器上安装了框架并启用了CUDA,但是当我在我的python控制台中"导入theano"时,我收到以下消息:
>>> import theano
Using gpu device 0: GeForce GTX 950 (CNMeM is disabled, CuDNN not available)
Run Code Online (Sandbox Code Playgroud)
现在,"CuDNN不可用",我cuDnn从Nvidia网站下载.我还更新了环境中的'path',并在'.theanorc.txt'配置文件中添加了'optimizer_including = cudnn'.
然后,我再次尝试,但失败了,:
>>> import theano
Using gpu device 0: GeForce GTX 950 (CNMeM is disabled, CuDNN not available)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "C:\Anaconda2\lib\site-packages\theano\__init__.py", line 111, in <module>
theano.sandbox.cuda.tests.test_driver.test_nvidia_driver1()
File "C:\Anaconda2\lib\site-packages\theano\sandbox\cuda\tests\test_driver.py", line 31, in test_nvidia_driver1
profile=False)
File "C:\Anaconda2\lib\site-packages\theano\compile\function.py", line 320, in function
output_keys=output_keys)
File "C:\Anaconda2\lib\site-packages\theano\compile\pfunc.py", line 479, in pfunc
output_keys=output_keys) …Run Code Online (Sandbox Code Playgroud) 我试图使用TensorFlow与GPU并得到以下错误:
I tensorflow/core/common_runtime/gpu/gpu_device.cc:838] Creating TensorFlow device (/gpu:0) -> (device: 0, name: Tesla K20m, pci bus id: 0000:02:00.0)
E tensorflow/stream_executor/cuda/cuda_dnn.cc:347] Loaded runtime CuDNN library: 5005 (compatibility version 5000) but source was compiled with 5103 (compatibility version 5100). If using a binary install, upgrade your CuDNN library to match. If building from sources, make sure the library loaded at runtime matches a compatible version specified during compile configuration.
F tensorflow/core/kernels/conv_ops.cc:457] Check failed: stream->parent()->GetConvolveAlgorithms(&algorithms)
Run Code Online (Sandbox Code Playgroud)
当然我正在尝试修复此错误(虽然这已经被问到Loaded运行时CuDNN库:5005(兼容版本5000)但源代码是用5103(兼容版本5100)编译的)但我想了解错误.我总是尝试在发布之前尝试解决(编码)问题(寻求帮助)但是我很难开始这个问题因为错误信息对我来说似乎有点神秘/不清楚我似乎无法找到了解错误意味着什么的好资源.
为了理解错误,我把注意力集中在似乎是错误开始的那一行:
Loaded runtime CuDNN library: 5005 …Run Code Online (Sandbox Code Playgroud) 在Tensorflow / Keras中,从https://github.com/pierluigiferrari/ssd_keras运行代码时,请使用估算器:ssd300_evaluation。我收到此错误。
无法获得卷积算法。这可能是因为cuDNN初始化失败,所以请尝试查看上面是否打印了警告日志消息。
这与未解决的问题非常相似:Google Colab错误:无法获得卷积算法。这可能是因为cuDNN初始化失败
我正在运行的问题:
的Python:3.6.4。
Tensorflow版本:1.12.0。
Keras版本:2.2.4。
CUDA:V10.0。
cuDNN:V7.4.1.5。
NVIDIA GeForce GTX 1080.
Also I ran:
import tensorflow as tf
with tf.device('/gpu:0'):
a = tf.constant([1.0, 2.0, 3.0, 4.0, 5.0, 6.0], shape=[2, 3], name='a')
b = tf.constant([1.0, 2.0, 3.0, 4.0, 5.0, 6.0], shape=[3, 2], name='b')
c = tf.matmul(a, b)
with tf.Session() as sess:
print (sess.run(c))
Run Code Online (Sandbox Code Playgroud)
With no errors or issues.
The minimalist example is:
from keras import backend as K
from keras.models import …Run Code Online (Sandbox Code Playgroud) CNN使用的大多数TensorFlow操作都支持NHWC和NCHW数据格式。在GPU上,NCHW更快。但是在CPU上,NHWC有时更快。
与TensorFlow / cuDNN中的NHWC相比,NCHW的卷积速度要快多少?是否有任何参考或基准?
另外,为什么速度更快?据我了解(请参阅此处),用于GPU上的NHWC的TensorFlow将始终在内部转置为NCHW,然后为NCHW调用cuDNN conv内核,然后将其转回。但是为什么要这样做呢?cuDNN转换内核也适用于NHWC。也许他们在某个时候进行了比较,并且NHWC的cuDNN conv内核非常慢。但这是最新的吗?差异有多大?NHWC这么慢的技术原因是什么?还是针对这种情况的cuDNN内核没有得到很好的优化?
使用tensorflow-gpu进行对象检测时出现问题
我正在阅读youtube教程:https://www.youtube.com/watch?v = RMpfk6eYxJA
我正在尝试使用tensorflow-gpu和虚拟环境来检测对象.
我在系统环境变量中添加了python,cuda,tensorflow,并且还制作了带标签的训练模型.
我使用xml_to_csv.py将xml标签转换为csv.
问题是当我尝试使用generate_tfrecord.py生成tfrecord时,会出现该错误.请帮忙
这是代码
(tensorflow) C:\Users\ice305\tensorflow\models\research\object_detection>python generate_tfrecord.py --csv_input=images\train_labels.csv --image_dir=images\train --output_path=train.record
Traceback (most recent call last):
File "generate_tfrecord.py", line 17, in <module>
import tensorflow as tf
File "C:\Anaconda3\envs\tensorflow\lib\site-packages\tensorflow\__init__.py", line 22, in <module>
from tensorflow.python import pywrap_tensorflow # pylint: disable=unused-import
File "C:\Anaconda3\envs\tensorflow\lib\site-packages\tensorflow\python\__init__.py", line 81, in <module>
from tensorflow.python import keras
File "C:\Anaconda3\envs\tensorflow\lib\site-packages\tensorflow\python\keras\__init__.py", line 24, in <module>
from tensorflow.python.keras import activations
File "C:\Anaconda3\envs\tensorflow\lib\site-packages\tensorflow\python\keras\activations\__init__.py", line 22, in <module>
from tensorflow.python.keras._impl.keras.activations import elu
File "C:\Anaconda3\envs\tensorflow\lib\site-packages\tensorflow\python\keras\_impl\keras\__init__.py", line 21, …Run Code Online (Sandbox Code Playgroud) 该要求的tensorflow 1.11的当前版本在GPU上运行的是
- CUDA®Toolkit-TensorFlow支持CUDA 9.0.
- cuDNN SDK(> = 7.2)
但是,CuDNN downlad页面仅列出
下载cuDNN v7.2.1(2018年8月7日),CUDA 9.2
鉴于CuDNN带有不同的二进制文件,用于CUDA工具包的次要修订(例如,CuDNN 7.1.3有一个用于CUDA 9.1的二进制文件,另一个用于CUDA 9.0),我认为这个CuDNN 7.2的二进制文件与CUDA 9.0不兼容.
是文档错误吗?如果没有,如何满足TF 1.11的要求?
当训练两个不同神经网络中的一个时,一个用Tensorflow,另一个用Theano,有时候经过一段随机的时间(可能是几个小时或几分钟,大多数几个小时),执行冻结,我得到这个消息运行"nvidia-smi":
"无法确定GPU 0000:02:00.0的设备句柄:GPU丢失.重新启动系统以恢复此GPU"
我正在与:
我不确定如何处理这个问题,有人可以提出一些可能导致这种情况以及如何诊断/解决此问题的建议吗?
UnknownError:无法获得卷积算法.这可能是因为cuDNN无法初始化,因此请尝试查看上面是否打印了警告日志消息.
[[{{node conv2d_1/convolution}} = Conv2D[T=DT_FLOAT, data_format="NCHW", dilations=[1, 1, 1, 1], padding="VALID", strides=[1, 1, 1, 1], use_cudnn_on_gpu=true, _device="/job:localhost/replica:0/task:0/device:GPU:0"](zero_padding2d_1/Pad, conv2d_1/kernel/read)]]
[[{{node metrics/acc/Mean/_255}} = _Recv[client_terminated=false, recv_device="/job:localhost/replica:0/task:0/device:CPU:0", send_device="/job:localhost/replica:0/task:0/device:GPU:0", send_device_incarnation=1, tensor_name="edge_563_metrics/acc/Mean", tensor_type=DT_FLOAT, _device="/job:localhost/replica:0/task:0/device:CPU:0"]()]]
Run Code Online (Sandbox Code Playgroud)
我在Google colab上遇到此错误.Colab的tensorflow版本是1.12.0.
我找不到任何解决方案.原因所有这些都属于本地系统.
我使用 CUDA Toolkit 10.1 CUDNN 7.6.0 (Windows 10) 在 tensorflow 2.1.0 Anaconda 上运行我的代码,它返回一个问题
F .\tensorflow/core/kernels/random_op_gpu.h:232] Non-OK-status: GpuLaunchKernel(FillPhiloxRandomKernelLaunch<Distribution>, num_blocks, block_size, 0, d.stream(), gen, data, size, dist) status: Internal: no kernel image is available for execution on the device
Run Code Online (Sandbox Code Playgroud)
我的 GPU:GT940MX 计算能力 5.0
我已经运行了 nvcc -V 并且它返回:
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2019 NVIDIA Corporation
Built on Fri_Feb__8_19:08:26_Pacific_Standard_Time_2019
Cuda compilation tools, release 10.1, V10.1.105
Run Code Online (Sandbox Code Playgroud)
这是完整的结果:
2020-08-05 10:05:48.368012: I tensorflow/stream_executor/platform/default/dso_loader.cc:48] Successfully opened dynamic library cudart64_101.dll
2020-08-05 10:06:00.488544: I tensorflow/stream_executor/platform/default/dso_loader.cc:48] Successfully …Run Code Online (Sandbox Code Playgroud) cudnn ×10
tensorflow ×7
python ×4
cuda ×2
gpu ×2
nvidia ×2
anaconda ×1
keras ×1
theano ×1
theano-cuda ×1
virtualenv ×1