python - pixel-cnn (tensorflow-gpu) 无法识别 GPU
问题描述
我正在尝试运行github上提供的 pixel-cnn 神经网络。按照 README.md 中的说明,我在 cmd 中运行以下代码:
train.py -i ./data_dir/ -o ./save_dir -g 1
我正在使用一个 gpu,并在与 train.py 相同的目录中创建了两个文件夹 ./data_dir 和 ./save_dir 来加载和保存数据。这样做时,我收到以下错误消息:
tensorflow.python.framework.errors_impl.InvalidArgumentError: Cannot assign a device for operation model_1/ones: node model_1/ones (defined at \OneDrive - MNG\Matura Arbeit\Projects\pixel-cnn-master\pixel_cnn_pp\model.py:36) was explicitly assigned to /device:GPU:0 but available devices are [ /job:localhost/replica:0/task:0/device:CPU:0 ]. Make sure the device specification refers to a valid device. The requested device appears to be a GPU, but CUDA is not enabled.
似乎 tensorflow 无法识别 GPU,但是在检查 tensorflow 可用的设备时(如此处所述),我的 CPU 和 GPU 都显示为“/device:CPU:0”和/device:GPU:0”。还有,当使用 tensorflow-gpu 运行其他程序时,它工作得非常好。
我已经安装了tensorflow-gpu==1.14.0。至于 CUDA,我很确定我已经安装了 10.0 版本,如nvcc --version
. 虽然运行nvidia-smi
时显示安装了CUDA 10.1 版。
(已编辑:)我正在使用带有tensorflow-gpu==1.14.0的 Anaconda 环境(Windows 10) 。我使用的 GPU 是GTX 1050Ti,采用 Max-Q Design 和驱动程序版本 436.30。至于 CUDA,我很确定我已经安装了10.0 版本,如nvcc --version
. 虽然运行nvidia-smi
时显示安装了CUDA 10.1 版。
解决方案
推荐阅读
- r - Drake 仅在某些情况下缺少来自静态分支的依赖项
- javascript - 如何在函数之间传递变量?
- php - 如何在颤振中呈现 laravel 验证错误
- javascript - Vuejs 中的意外反应
- json - 如何比较 Laravel 中 JSONB 列的字段?
- javascript - 使用相同的 JavaScript 代码打开两个以上的弹出窗口时出现问题
- android - 在android studio中打开一个片段内的片段
- google-app-engine - 使用谷歌应用引擎在 vue 上进行社交预览
- javascript - 使用 sortable() 时对字符串进行排序
- c# - Newtonsoft Json 我怎样才能有两种序列化模式?