问题标签 [plaidml]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
1530 浏览

tensorflow - 带有 PlaidML 后端的 Keras 如何显着优于带有 Tensorflow 后端的 Keras?

我惊讶地发现,当针对同一个深度学习问题(即著名的 MNIST 手写数字识别)使用不同的后端时,在速度和模型准确性方面存在显着的性能差异。下面的代码具有完全不同的输出,具体取决于我使用的后端。由于我的 MacBook 配备了 AMD Radeon Pro 560x GPU,因此我使用 PlaidML 后端进行基于 GPU 的训练。然后我将后端切换回 Tensorflow CPU,速度和准确率都大幅下降。

PlaidML 后端的结果如下:

Tensorflow 后端的结果如下:

我尝试在启用了 GPU 的 Google Colab Notebook 上运行相同的代码,结果如下:

如您所见,差异很大。PlaidML 后端的准确率高于 99%,而在 TensorFlow 上则低于 80%。使用 GPU 和 CPU 设备的 TensorFlow 后端的执行时间也更长。我在这里做错了什么?如何在我的 MacBook 上高效地运行 Tensorflow?

不幸的是,Keras 2.3 版是最后一个支持多后端的版本。因此,在未来,Keras API 也将可用于 TensorFlow。所以,我希望将来也能在我的 MacBook 上高效地使用 Keras。

设备和软件规格:

0 投票
1 回答
428 浏览

pycharm - 如何设置plaidml?

我正在使用 pycharm,我使用 miniconda 创建了一个环境。我已经安装了 Tensorflow 和 Keras。现在我想使用 plaidml 访问我的 GPU(它是 Intel 620),所以我在我的 pycharm 终端的终端中输入了以下命令:

但是当我尝试使用 plaidml 后端运行程序时,它显示:

所以我在互联网上搜索,发现我首先使用plaidml-setup. 但是在 pycharm 终端中插入这个命令会显示:

我知道,作为一个初学者,我在某个地方犯了可怕的错误,但我在互联网上找不到足够的文档来设置 plaidml 以在 Pycharm 中使用。有没有人可以告诉我在哪里可以找到好的资源?

注意在 pycharm 项目解释器中,它显示plaidml并且plaidml-keras两者都存在(版本 0.7.0)。

0 投票
2 回答
235 浏览

python - Plaidml 无法设置:“plaidml-setup”未被识别为内部或外部命令

我在 Windows 机器上,我试图在使用“ plaidml-setup ”命令安装后设置 plaidml,但它不起作用。我不断收到“ 'plaidml-setup' 未被识别为内部或外部命令、可运行程序或批处理文件。 ”错误。我已经使用“ pip install -U plaidml-keras ”命令安装了 plaidml,并尝试卸载并重新安装它。

我已经在线搜索以解决该问题,但找不到该命令不起作用的原因并允许我选择我的 AMD gpu。我能找到的唯一信息是人们重复“ pip install -U plaidml-keras ”和“ plaidml-setup ”命令。

0 投票
1 回答
417 浏览

python - 尽管设置成功,但仍出现 Keras 和 PlaidML 错误

我安装了最新版本的 Keras 和 PlaidML。我运行了文件 plaidml-setup 并将 plaidml 配置为使用我的 AMD GPU:

我通过运行成功测试了安装plaidbench keras mobilenet

然后我想在我的 GPU 上运行一些 python 模块。我在这个答案中读到我需要设置os.environ["RUNFILES_DIR"]os.environ["PLAIDML_NATIVE_PATH"]更正路径,例如:

问题是我在我的系统中找不到任何类似于最后一个的东西。我运行了 Windows 搜索功能,但它无法在libplaidml.dylib任何地方找到该文件。所以我尝试了以下方法:

并收到错误消息:

请注意最后一行,它表示即使我刚刚完成并成功测试了 PlaidML,也没有配置它。如果我注释掉前 3 行(因此在没有 plaidml 的情况下运行它)并在所有“导入”行中编写 tensorflow.keras 而不是 keras(没有 plaidml 似乎是必要的),程序运行良好。

您对如何解决此问题有任何想法吗?我有 Windows 10 和 Python 3.6。

更新 08/11/2021:根据朋友的建议,我最近解决了这个问题。首先,'libplaidml.dylib' 是一个 Linux 库文件,我有 Windows,所以我不得不将路径设置为类似的 .dll 文件(我也使用 r"" 来确保反斜杠没有问题):

完成后,我还创建了一个虚拟环境,其中安装了所有必要的 python 库(但这可能不是必需的),我从命令行而不是从 GUI 运行 python 脚本。

我希望我没有忘记在这里写下任何必要的步骤。哦,在上述修复之后,让我感到困惑的一件事是,在某些计算过程中使用的 GPU 很少。当我将 plaidml 切换回使用 CPU 时,脚本的运行时间增加了 100 倍,只有这样我才确信 GPU 一直在工作。

0 投票
0 回答
515 浏览

python - Keras:哪个版本开始支持 Saved Model 格式?

我正在尝试PlaidML,这需要keras==2.2.4. 而且我在加载保存的模型格式时遇到了困难。

我确定模型路径存在,并且其中的文件是可读的。
我认为 Keras v2.2.4 无法加载保存的模型格式。

这是我的keras\engine\saving.py

似乎它只是将路径加载为 HDF5 文件?

我还尝试将保存的模型转换为 .h5 文件。
然后在keras v2.2.4中加载,还是不行:

如果没有 v2.2.4 文档,有什么方法可以找出问题所在?
(我在网上找不到)

谢谢。

更新

我想我知道问题是什么,但我现在不知道如何解决它。
我会尝试找到解决方案。

  1. 所以这个版本的 Keras 无法加载保存的模型(TF2 的一个特性)。
    似乎 v2.3.0 开始部分支持 TF2。
  2. 不兼容的 h5py 版本似乎是无法加载 .h5 文件的原因。通过使用 Python 3.8安装 h5py==2.10.0
    解决了这个问题。
  3. 但是,我仍然得到TypeError: init () got an unexpected keyword argument 'ragged',可能是因为我正在使用 tf.keras,并且现在切换到 keras。

我想知道是否可以在 PlaidML / old Keras 上运行 tf2 模型。

0 投票
1 回答
51 浏览

keras - 在keras中将连接输入传递给LSTM的问题

我有几个神经网络。它们的输出被连接起来,然后传递给 LSTM。

这是一个简化的代码片段:

不幸的是,我在最后一行收到错误:

有没有办法解决它?如果这很重要,我会使用 PlaidML 后端作为具有离散 GPU 支持的 macOS 的唯一选项。

0 投票
0 回答
281 浏览

tensorflow - 与 GPU 上的 TF 或 Pytorch 相比,PlaidML 的速度有多快

我想了解 PlaidML 在 Nvidia 或 AMD GPU 上的训练性能。

但我找不到与 GPU(CUDA 或 ROCm)上的 TF 或 Pytorch 进行比较的数据。我只发现与CPU进行比较。

有谁知道 PlaidML 与 GPU 上的 TF 或 Pytorch 相比训练 CNN 的速度有多快?

0 投票
1 回答
143 浏览

powershell - 如何在 windows10 上安装 PlaidMl

在我的 Windows 10 正常环境中,我安装了 python、chocolatey 等(没有 anaconda)

然后安装 plaidml 我从 powershell 得到以下响应:

然后与

我明白了

我也一样

已经尝试卸载并重新安装,同样的事情发生

有人有好的提示吗?我在amd 6900xt上试试这个

0 投票
0 回答
65 浏览

tensorflow - 使用 TensorFlow 在 AMD Redeon GPU 中训练的神经网络

在 AMD GPU 上训练的神经网络我想在 AMD GPU 上训练我的深度神经网络。我在 anaconda 中安装了 TensorFlow-GPU 库,但是当我想训练我的模型时,我注意到我的 AMD Radeon GPU 利用率为 0%,并且神经网络是在 CPU 中训练的。我阅读了一些关于这个问题的博客,但这些建议对我来说并不完全有效。我为 Keras 后端安装了 Plaid-ML,但使用 Plaid-ML GPU 利用率仅增加 0-2 %,训练时间与以前相同。如果有人帮我提供一些建议,如何在 AMD GPU 中训练深度神经网络。

0 投票
1 回答
62 浏览

python - plaidml-setup 在 Windows 上无法识别,即使安装成功后也是如此

我按照VertexAI 文档中的所有步骤进行操作,但是在安装 plaidml-keras 后,当我尝试运行设置时,它会引发错误。

请有人能帮我解决这个问题。