"Attempting to perform BLAS operation using StreamExecutor without BLAS support" 发生错误
"Attempting to perform BLAS operation using StreamExecutor without BLAS support" error occurs
我的电脑只有 1 个 GPU。
下面是我输入别人代码得到的结果
[name: "/device:CPU:0" device_type: "CPU" memory_limit: 268435456
locality {} incarnation: 16894043898758027805, name: "/device:GPU:0"
device_type: "GPU" memory_limit: 10088284160
locality {bus_id: 1 links {}}
incarnation: 17925533084010082620
physical_device_desc: "device: 0, name: GeForce RTX 3060, pci bus id: 0000:17:00.0, compute
capability: 8.6"]
我现在使用 jupyter notebook 和 运行 2 个内核。
(TensorFlow 2.6.0 并且还安装了 CUDA 和 cuDNN 作为 TensorFlow 指南)
第一个内核对 运行 我的 Keras 顺序模型没有问题。
但是当我在第二个内核中学习相同的代码时,出现如下错误。
尝试在不支持 BLAS 的情况下使用 StreamExecutor 执行 BLAS 操作
[[节点 sequential_3/dense_21/MatMul(定义于 \AppData\Local\Temp/ipykernel_14764/3692363323.py:1)]] [Op:__inference_train_function_7682]
函数调用堆栈:
train_function
我怎样才能毫无问题地学习多个内核并仅与 1 个 GPU 共享它们?
虽然我不熟悉 TensorFlow 1.x.x 版本。
我刚刚解决了这个问题,如下所示。这个问题是因为当keras 运行 with gpu.它几乎使用所有 vram。所以我需要为每个笔记本提供 memory_limit。这是我如何解决它的代码。您可以只更改 memory_limit 值。
gpus = tf.config.experimental.list_physical_devices('GPU')
if gpus:
try:
tf.config.experimental.set_virtual_device_configuration(
gpus[0],[tf.config.experimental.VirtualDeviceConfiguration(memory_limit=5120)])
except RuntimeError as e:
print(e)
为了社区的利益,在此处提供解决方案
This problem is because when
keras run with gpu, it uses almost all vram
. So we needed to give
memory_limit
for each notebook as shown below
gpus = tf.config.experimental.list_physical_devices('GPU')
if gpus:
try:
tf.config.experimental.set_virtual_device_configuration(
gpus[0],[tf.config.experimental.VirtualDeviceConfiguration(memory_limit=5120)])
except RuntimeError as e:
print(e)
(Paraphrased from MCPMH)
我在打开 Jupyter notebook 时尝试 运行 python 脚本时遇到此错误。在 运行 脚本之前杀死笔记本内核就可以了。好像只有一个程序可以同时使用GPU。
我的电脑只有 1 个 GPU。
下面是我输入别人代码得到的结果
[name: "/device:CPU:0" device_type: "CPU" memory_limit: 268435456
locality {} incarnation: 16894043898758027805, name: "/device:GPU:0"
device_type: "GPU" memory_limit: 10088284160
locality {bus_id: 1 links {}}
incarnation: 17925533084010082620
physical_device_desc: "device: 0, name: GeForce RTX 3060, pci bus id: 0000:17:00.0, compute
capability: 8.6"]
我现在使用 jupyter notebook 和 运行 2 个内核。 (TensorFlow 2.6.0 并且还安装了 CUDA 和 cuDNN 作为 TensorFlow 指南)
第一个内核对 运行 我的 Keras 顺序模型没有问题。
但是当我在第二个内核中学习相同的代码时,出现如下错误。
尝试在不支持 BLAS 的情况下使用 StreamExecutor 执行 BLAS 操作 [[节点 sequential_3/dense_21/MatMul(定义于 \AppData\Local\Temp/ipykernel_14764/3692363323.py:1)]] [Op:__inference_train_function_7682]
函数调用堆栈: train_function
我怎样才能毫无问题地学习多个内核并仅与 1 个 GPU 共享它们?
虽然我不熟悉 TensorFlow 1.x.x 版本。
我刚刚解决了这个问题,如下所示。这个问题是因为当keras 运行 with gpu.它几乎使用所有 vram。所以我需要为每个笔记本提供 memory_limit。这是我如何解决它的代码。您可以只更改 memory_limit 值。
gpus = tf.config.experimental.list_physical_devices('GPU')
if gpus:
try:
tf.config.experimental.set_virtual_device_configuration(
gpus[0],[tf.config.experimental.VirtualDeviceConfiguration(memory_limit=5120)])
except RuntimeError as e:
print(e)
为了社区的利益,在此处提供解决方案
This problem is because when keras run with gpu, it uses almost all
vram
. So we needed to givememory_limit
for each notebook as shown belowgpus = tf.config.experimental.list_physical_devices('GPU') if gpus: try: tf.config.experimental.set_virtual_device_configuration( gpus[0],[tf.config.experimental.VirtualDeviceConfiguration(memory_limit=5120)]) except RuntimeError as e: print(e)
(Paraphrased from MCPMH)
我在打开 Jupyter notebook 时尝试 运行 python 脚本时遇到此错误。在 运行 脚本之前杀死笔记本内核就可以了。好像只有一个程序可以同时使用GPU。