tensorflow2.0的cpu与gpu运行时间对比
生活随笔
收集整理的這篇文章主要介紹了
tensorflow2.0的cpu与gpu运行时间对比
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
文章目錄
- 前言
- 一、導(dǎo)入環(huán)境
- 二、定義函數(shù)
- 三、測(cè)試
前言
這里運(yùn)用一個(gè)自定義大小的矩陣數(shù)據(jù)計(jì)算,來(lái)測(cè)試gpu與cpu運(yùn)算時(shí)間的對(duì)比。
以下為實(shí)現(xiàn)方法
一、導(dǎo)入環(huán)境
示例:pandas 是基于NumPy 的一種工具,該工具是為了解決數(shù)據(jù)分析任務(wù)而創(chuàng)建的。
#設(shè)置顯卡內(nèi)存使用率,根據(jù)使用率占用 import os os.environ["TF_FORCE_GPU_ALLOW_GROWTH"] = "true" import tensorflow as tf print('Tensorflow:{}'.format(tf.__version__)) import pandas as pd import numpy as np import matplotlib.pyplot as plt %matplotlib inline import timeit as timeit二、定義函數(shù)
#創(chuàng)建在cpu環(huán)境上運(yùn)算的兩個(gè)矩陣 n=100 with tf.device('/cpu:0'):cpu_a = tf.random.normal([1,n])cpu_b = tf.random.normal([n,1])print(cpu_a.device,cpu_b.device)#創(chuàng)建在gpu環(huán)境上運(yùn)算的兩個(gè)矩陣 with tf.device('/gpu:0'):gpu_a = tf.random.normal([1,n])gpu_b = tf.random.normal([n,1])print(gpu_a.device,gpu_b.device)def cpu_run(): #cpu運(yùn)算時(shí)間with tf.device('/cpu:0'):c = tf.matmul(cpu_a,cpu_b)return c def gpu_run(): #cpu運(yùn)算時(shí)間with tf.device('/gpu:0'):c = tf.matmul(gpu_a,gpu_b)return c三、測(cè)試
# 第一次計(jì)算需要熱身,避免將初始化時(shí)間結(jié)算在內(nèi) cpu_time = timeit.timeit(cpu_run,number=10) gpu_time = timeit.timeit(gpu_run,number=10) print('warmup:',cpu_time,gpu_time)#正式計(jì)算十次,取平均時(shí)間 cpu_time = timeit.timeit(cpu_run,number=10) gpu_time = timeit.timeit(gpu_run,number=10) print('run_time:',cpu_time,gpu_time)總結(jié)
以上是生活随笔為你收集整理的tensorflow2.0的cpu与gpu运行时间对比的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Jupyter Notebook 代码自
- 下一篇: QT利用lamda正则表达式取出字符串中