MCP*_*PMH 12 gpu blas tensorflow jupyter-notebook tensorflow2.0
我的电脑只有 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"]
Run Code Online (Sandbox Code Playgroud)
我使用 jupyter 笔记本,现在运行 2 个内核。(TensorFlow 2.6.0 并安装了 CUDA 和 cuDNN 作为 TensorFlow 指南)
第一个内核从 Keras 运行我的顺序模型没有问题。
但是当我在第二个内核中学习相同的代码时,我得到了如下错误。
尝试在不支持 BLAS 的情况下使用 StreamExecutor 执行 BLAS 操作 [[nodeequential_3/dense_21/MatMul(在 \AppData\Local\Temp/ipykernel_14764/3692363323.py:1 处定义)]] [Op:__inference_train_function_7682]
函数调用栈:train_function
如何才能毫无问题地学习多个内核并仅使用 1 个 GPU 共享它们?
不过我不熟悉 TensorFlow 1.xx 版本。
我刚刚解决了这个问题,如下所示。这个问题是因为keras用gpu运行时。它使用几乎所有的vram。所以我需要为每个笔记本指定内存限制。这是我的代码如何解决它。您只需更改 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)
Run Code Online (Sandbox Code Playgroud)
小智 16
为了社区的利益在这里提供解决方案
这个问题是因为当keras使用gpu运行时,它几乎使用了所有
vram. 所以我们需要为每个笔记本提供memory_limit如下所示Run Code Online (Sandbox Code Playgroud)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)(转自 MCPMH)
| 归档时间: |
|
| 查看次数: |
20146 次 |
| 最近记录: |