NVIDIA GeForce GTX 1650
系统: windows 11 22H2
准备工作
下载安装 CUDA® 工具包:https://developer.nvidia.com/cuda-toolkit-archive下载 cuDNN :https://developer.nvidia.com/cudnn
下载 zlib: http://www.winimage.com/zLibDll/zlib123dllx64.zip
CUDA® 工具包是交互式的安装方式,
cuDNN
、zlib
只需要将压缩包解压即可假设 cuDNN 解压后的目录放在:
C:\cudnn-windows-x86_64-8.6.0.163_cuda11-archive
zlib 解压后的目录放在:
C:\cudnn-windows-x86_64-8.6.0.163_cuda11-archive\zlib123dllx64
下面我们需要将
CUDA®
、CUPTI
、cuDNN
和 zlib
安装目录添加到 %PATH%
系统环境变量中新增下面的内容(请替换为你自己保存的实际路径)
代码: 全选
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.8\bin
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.8\extras\CUPTI\lib64
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.8\include
C:\cudnn-windows-x86_64-8.6.0.163_cuda11-archive\bin
C:\cudnn-windows-x86_64-8.6.0.163_cuda11-archive\zlib123dllx64\dll_x64
使用 cuda 跑 keras_cv 的模型
这里以 AI 画师 - 搭建 Stable Diffusion 本地运行环境 (通用篇) 中的例子来演示。由于我的英伟达独立显卡 GTX 1650 过于普通,且显存过低(windows下占用也有问题),因此必须修改参数才能跑起来,代码如下。
代码: 全选
import keras_cv
import matplotlib.pyplot as plt
import tensorflow as tf
def plot_images(images):
plt.figure(figsize=(10, 10))
for i in range(len(images)):
ax = plt.subplot(1, len(images), i+1)
plt.imshow(images[i])
plt.axis("off")
def main():
tf.keras.backend.set_floatx("float16")
model = keras_cv.models.StableDiffusion(img_width=512, img_height=512)
# model.text_to_image("文本提示词", batch_size=生成图片的数量, num_steps模型训练步长,缺省默认为25)
# 如 "photograph of an astronaut riding a horse"
# 如 "Cluttered house in the woods, anime, oil painting"
images = model.text_to_image("A Magic Moon + by Dustin Nguyen + Intricate --ar 100:235", batch_size=1, num_steps=20)
plot_images(images)
plt.show()
if __name__ == "__main__":
main()
import tensorflow as tf
、tf.keras.backend.set_floatx("float16")
此外还需要添加
TF_GPU_ALLOCATOR=cuda_malloc_async
环境变量Pycharm
-> Run
-> Edit configuration
-> Environment variables
不出意外的话,你就可以正常用
cuda
跑起来了效果相比于CPU的8分钟一张图,现在只需要1分钟就可以了
参考资料:
1. https://www.tensorflow.org/install/gpu#windows_setup
2. https://docs.nvidia.com/deeplearning/cu ... es-windows