python-3.x - 如何在张量流(keras)中使用 GPU 和 CPU?
问题描述
我正在使用 tf.keras 运行一个内存相当密集(估计约为 6GB)的 GAN 模型,我的 GPU 似乎无法处理(预测失败,仅报告 nans)。有没有办法用系统内存支持我的 4GB GPU 内存?还是一种在 GPU 和 CPU 之间共享计算工作的方法?
我的规格:
- 操作系统:Windows 10 64
- GPU:Geforce GTX 960 (4GB)
- CPU:Intel Xeon-E3 1231 v3(4核)
- Python 图形用户界面:Spyder 5
- Python:3.8.5 / 3.8.10 在仅安装了 tensorflow 和 chess 模块的 conda 环境中
- 张量流:2.5
- CUDA:11.2.2
- cudnn: 8.1.1
有关更多信息,请参阅我几天前提出的这个问题的非常详细的版本(没有回应,因此这个问题):TF 模型在切换到 GPU 后不再预测
解决方案
解决方案:
在张量流中,使用 a 训练模型与gpu
使用 python 时的任何操作系统相同keras
。训练模型时,您将训练函数包装在一个with
语句中,指定gpu number
a 作为参数tf.device method
这是代码的模板:
import tensorflow as tf
with tf.device('/device:GPU:<The gpu number>'):
history = model.fit(<your traning info>)
否则,如果您缺乏 RAM CPU GPU 等资源,请尝试使用google colab 一个免费环境来编程张量流,并免费访问许多 GPU 的 CPU 和 RAM
推荐阅读
- javascript - 基于当前子域的 JS 加载外部脚本
- angular - Angular - 属性“passwordString”没有初始化程序,也没有在构造函数中明确分配
- android - 如何从 Firestore Flutter 中的其他“xyz”集合访问某个“abc”集合中的其他文档的特定字段?
- cypress - 如何在赛普拉斯测试库的“findByTestId”函数中覆盖“data-testid”
- html - 缩短 html
- php - 如何使用 yii 将上传的文件名添加到数据库中
- reactjs - TypeError:无法读取未定义的属性“getState”
- flutter - What is the point of observer pattern in flutter TextField Widget?
- mysql - 使用条件/if else/case 生成列以填充新列 mysql
- c# - MLAPI NetworkVariable 未在客户端同步