1 分钟
TensorFlow教程(三)
四、辅导
以下内容主要讲述:tf使用设备、图形识别、自然语言处理、线性模型
1、使用GPU
(1)支持的设备
tf支持cpu计算和gpu计算,当支持gpu时,优先在gpu上计算
(2)查看设备日志
import tensorflow as tf
# 创建计算图
a = tf.constant([1.0, 2.0, 3.0, 4.0, 5.0, 6.0], shape=[2, 3], name='a')
b = tf.constant([1.0, 2.0, 3.0, 4.0, 5.0, 6.0], shape=[3, 2], name='b')
c = tf.matmul(a, b)
# 创建一个session打开设备日志
sess = tf.Session(config=tf.ConfigProto(log_device_placement=True))
# 运行操作
print(sess.run(c))
(3) 手工指派设备
使用with tf.device
指定
# 新建一个graph.
with tf.device('/cpu:0'):
aa = tf.constant([1.0, 2.0, 3.0, 4.0, 5.0, 6.0], shape=[2, 3], name='aa')
bb = tf.constant([1.0, 2.0, 3.0, 4.0, 5.0, 6.0], shape=[3, 2], name='bb')
cc = tf.matmul(a, b)
# 新建session with log_device_placement并设置为True.
sess = tf.Session(config=tf.ConfigProto(log_device_placement=True))
# 运行这个op.
print (sess.run(cc))
(4)允许GPU内存增长
默认情况下,tf使用所用的gpu内存,以便于内存碎片整理 …略
(5)在多GPU系统里使用单一GPU
默认使用id最小的GPU
使用with tf.device
指定
(6)使用多个GPU
# Creates a graph.
c = []
for d in ['/gpu:2', '/gpu:3']:
with tf.device(d):
a = tf.constant([1.0, 2.0, 3.0, 4.0, 5.0, 6.0], shape=[2, 3])
b = tf.constant([1.0, 2.0, 3.0, 4.0, 5.0, 6.0], shape=[3, 2])
c.append(tf.matmul(a, b))
with tf.device('/cpu:0'):
sum = tf.add_n(c)
# Creates a session with log_device_placement set to True.
sess = tf.Session(config=tf.ConfigProto(log_device_placement=True))
# Runs the op.
print(sess.run(sum))