今天尝试一下GPU在机器学习中的使用。
公司里的办公电脑,看品牌基本都是名牌,以联想为主、还有很多HP之类。
说起显卡,却没有啥像样的, 基本都是些集成显卡。
远不如人家网吧打游戏的电脑,人家只是玩玩游戏而已,而我们吃的是草,还想下奶。
不管怎么说,自己像李云龙一样,总算搞了一个独显。
依次打开-控制面板–大图标–NVIDIA控制面板–系统信息,打开看看。
Nvidia GeForce GT 710显卡,驱动版本471.41,有1G内存,192个cuda核心。
虽然很菜,但也已是最好了,骑兵连 总算有底子了。
驱动程序是Nvidia官方网站 https://www.nvidia.cn/ 下的,
然后,按照网友的介绍,开始一步步开始安装。
【CUDA】cuda安装 (windows版)
https://blog.csdn.net/weixin_43848614/article/details/117221384#t0
我装的是Cuda11.4+cuDNN11.4
然后是装tensorflow,为加快速度使用了科大镜像
pip install tensorflow -i https://pypi.mirrors.ustc.edu.cn/simple/
也有人说,得专门装一下Tensorflow的GPU版
pip install tensorflow-gpu
(貌似装不装这一步,都没啥影响)
然后,python程序测试GPU
import tensorflow as tf
a = tf.constant(1.)
b = tf.constant(2.)
print(a+b)
print(tf.__version__)
print(tf.test.gpu_device_name())
print('GPU:',tf.config.list_physical_devices(device_type='GPU'))
print('CPU:',tf.config.list_physical_devices(device_type='CPU'))
# print(tf.test.is_gpu_available()) #deprecate了
# print(tf.config.list_physical_devices('GPU')) #代替上面的
print('--------测试速度-----------')
# import tensorflow as tf
import timeit
#指定在cpu上运行
def cpu_run():
with tf.device('/cpu:0'):
cpu_a = tf.random.normal([10000, 1000])
cpu_b = tf.random.normal([1000, 2000])
cpu_c = tf.matmul(cpu_a, cpu_b)
# print( "cpu_a: ", cpu_a.device)
# print( "cpu_b: ", cpu_b.device)
# print("cpu_c:", cpu_c.device)
return cpu_c
#指定在gpu上运行
def gpu_run():
with tf.device( '/gpu:0'):
gpu_a = tf.random.normal([ 10000,1000])
gpu_b = tf.random.normal([ 1000, 2000])
gpu_c = tf.matmul(gpu_a, gpu_b)
# print( "gpu_a: ", gpu_a.device)
# print("gpu_b: ", gpu_b.device)
# print("gpu_c: ", gpu_c.device)
return gpu_c
cpu_time = timeit.timeit(cpu_run, number = 10)
gpu_time = timeit.timeit(gpu_run, number = 10)
print('cpu:',cpu_time, 'gpu:',gpu_time)
看结果:
可以看到,GPU和CPU都能用了,分别是:
GPU: [PhysicalDevice(name=’/physical_device:GPU:0’, device_type=‘GPU’)]
CPU: [PhysicalDevice(name=’/physical_device:CPU:0’, device_type=‘CPU’)]
两个子程序,分别测试运算速度,时间用了多少秒
cpu: 2.1455056
gpu: 0.49575440000000004
也就是GPU速度快。
实战:
用了1个CNN+全连接的小模型测试了一下(这里不再展示),在CPU和GPU两种模式下建模,效果却并不明显,GUP只比CPU快了2%,(电脑配置win10/i5-9400f/8G)。
是模型太小,还是GPU太菜?
要不要升级到骑兵团?