检测tensorflow是否使用gpu进行计算,tensorflow对gpu的要求
例子一参数设置NVIDIA3070,cuda 11.2 cud nn 8。1 .0张量流2。5 .0,tensorflow-gpu2.5.0cpu约80年代计算一代纪元,而地面动力装置却约3 s计算一代纪元编号-*-编码:utf-8 -*-
# @时间:2022/6/11 16:03
# @作者:楚倩玉
# @FileName: testtt2tt.py
# @软件:PyCharm
# # 指定国家政治保卫局。参见国家政治保卫局训练
#导入操作系统
# OS。environ[ CUDA _ VISIBLE _ DEVICES ]=/GPU:0 # #表示使用国家政治保卫局。参见国家政治保卫局编号为0的国家政治保卫局。参见国家政治保卫局进行计算
将数组作为铭牌导入
从tensorflow.keras .模型导入顺序#采用贯序模型
从张量流. keras .图层导入密集、下降、Conv2D、MaxPool2D、展平
从tensorflow.keras.datasets导入手写数字识别
从tensorflow.keras.utils导入到_分类
从tensorflow.keras .回调导入张量板
导入时间
定义创建模型():
模型=顺序()
model.add(Conv2D(32,(5,5),activation=relu ,input_shape=[28,28,1])#第一卷积层
model.add(Conv2D(64,(5,5),activation= relu )#第二卷积层
模型。add(maxpool 2d(pool _ size=(2,2))) #池化层
model.add(Flatten()) #平铺层
model.add(辍学(0.5))
model.add(Dense(128,activation=relu ).
model.add(辍学(0.5))
model.add(Dense(10,activation=softmax ))
回报模型
极好的编译_模型(模型):
模型。编译(loss= category _ cross entropy ,optimizer=adam ,metrics=[acc])
回报模型
定义训练模型(模型,x训练,y训练,批量大小=128,时期=10):
TB回调=张量板(log _ dir= model ,histogram_freq=1,write_grads=True)
history=model.fit(x_train,y_train,batch_size=batch_size,epochs=epochs,shuffle=True,verbose=2,
validation_split=0.2,callbacks=[tbCallBack])
退货历史,型号
if __name__==__main__ :
将张量流作为法国南部(French Southern Territories的缩写)导入
打印(tf .__版本_ _)
# NVIDIA3070,cuda 11.2 cud nn 8。1 .0张量流2。5 .0,张量流-gpu2.5.0
# cpu约80年代计算一代纪元,而地面动力装置却约3 s计算一代世
使用tf.device(/gpu:0 ):
从tensorflow.python .客户端导入设备库
打印(设备库。列表本地设备())
(x_train,y_train),(x_test,y _ test)=Mn ist。load _ data()# Mn ist的数据我自己已经下载好了的
print(np.shape(x_train),np.shape(y_train),np.shape(x_test),np.shape(y_test))
x_train=np.expand_dims(x_train,axis=3)
x_test=np.expand_dims(x_test,axis=3)
y _ train=to _ categorial(y _ train,num_classes=10)
y _ test=to _ categorial(y _ test,num_classes=10)
print(np.shape(x_train),np.shape(y_train),np.shape(x_test),np.shape(y_test))
模型=创建模型()
模型=编译_模型(模型)
打印("开始训练")
ts=time.time()
历史,模型=训练_模型(模型x_train,y_train,epochs=20)
打印(开始训练,time.time() - ts)gpu约3 s计算一代世
中央处理器约80年代计算一代世
例子2# -*-编码:utf-8 -*-
# @时间:2022/6/11 20:32
# @作者:楚倩玉
# @FileName: testtt3tt.py
# @软件:PyCharm
将张量流作为法国南部(French Southern Territories的缩写)导入
来自tensorflow.keras导入*
导入时间
TF。配置。设置_软_设备_位置(真)
TF。调试。设置日志设备位置(真)
GPU=TF。配置。实验性的。列表物理设备( GPU )
打印(图形处理器)
TF。配置。实验性的。set _ visible _ devices(GPU[0], GPU )
TF。配置。实验性的。set _ memory _ growth(GPU[0],True)
t=time.time()
使用tf.device(/gpu:0 ):
tf.random.set_seed(0)
a=tf.random.uniform((10000,10000),minval=0,maxval=3.0)
c=tf.matmul(a,tf.transpose(a))
d=tf.reduce_sum(c)
print(gpu:,time.time()-t)
t=time.time()
with tf.device(/cpu:0 ):
tf.random.set_seed(0)
a=tf.random.uniform((10000,10000),minval=0,maxval=3.0)
c=tf.matmul(a,tf.transpose(a))
d=tf.reduce_sum(c)
print(cpu:,time.time()-t)
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。