CPU运行TensorFlow版StyleGAN 2的可行性及适配调整方法
CPU运行TensorFlow版StyleGAN2的可行性及调整方法
首先明确结论:完全可以运行,但受限于CPU的并行计算能力,仅适合做小规模推理(比如单次生成几张图片),如果用来做训练耗时会是同级别GPU的几十上百倍,非常不推荐用CPU跑训练任务。
需要修改的代码及配置项
- 替换依赖包
原代码默认要求安装GPU版TensorFlow,你需要把依赖改成对应版本的CPU版TensorFlow,原代码适配的是TensorFlow 1.15.x版本,直接运行pip install tensorflow==1.15安装即可,不需要额外安装CUDA、cuDNN等GPU相关依赖。如果是Intel CPU,还可以安装intel-tensorflow优化版本,运行效率会更高,安装命令为pip install intel-tensorflow==1.15。 - 移除/修改代码中的GPU指定逻辑
- 全局搜索代码中所有显式指定设备的代码,比如
tf.device('/gpu:0')、'/gpu:*'这类写法,统一替换为'/cpu:0',也可以直接删掉显式的设备指定语句,TensorFlow会自动把任务调度到CPU上运行。 - 找到所有GPU显存相关的配置项,比如
allow_growth、per_process_gpu_memory_fraction这类参数,直接注释或者删除即可,否则CPU运行时会报找不到GPU设备的错误。
- 全局搜索代码中所有显式指定设备的代码,比如
- 调整运行参数
- 推理阶段把
batch_size调到1或者更小的数值,避免生成高分辨率图片时CPU内存不足报错。 - 如果你一定要用CPU跑训练验证逻辑,需要把
num_gpus参数设为0,同时大幅调小batch size和训练数据集规模,仅用来验证代码走通即可,不要跑完整训练任务。
- 推理阶段把
小提示:如果生成高分辨率图片耗时太长,可以适当调低生成图片的分辨率参数,能大幅降低CPU的计算压力。
内容的提问来源于stack exchange,提问作者Thunder
相关产品推荐
相关产品推荐

