TensorFlow基本概念

计算图

#with即上下文管理器
g1 = tf.Graph()
with g1.as_default():
    #在g1的上下文中设置变量
    v = tf.Variable(tf.zeros[1],dtype=tf.float32,name='v1')

g2 = tf.Graph()
with g2.as_default():
    v = tf.Variable(tf.ones[1],dtype=tf.float32,name='v2')

#不同的回话控制不同的计算图
with tf.Session(graph=g1) as sess:
    print(sess.run(tf.get_variable('v1')))

with tf.Session(graph=g2) as sess:
    print(sess.run(tf.get_variable('v2')))

会话

获取值的方式有两种:

with tf.Session() as sess:
    with sess.as_default:
        print(result.eval())

or

with tf.Session() as sess:
    print(sess.run(result))
    print(result.eval(session=sess))

在有默认会话的情况下,可以直接使用result.eval()获取值

tf.InteractiveSession可以直接将session设置为默认,从而可以:

with tf.InteractiveSession as sess:
    print(result.eval())

ConfigProto

config = tf.ConfigProto(allow_soft_placement=True,
                       log_device_placement=True)
config.gpu_options.allow_growth = True 
sess = tf.Session(config=config)

allow_soft_placement:若一些运算在GPU中不能运行时,可以放到CPU中运行

log_device_placement:记录每个节点安排在那个设备(CPU,GPU)上

随机数生成函数

函数名称 随机数分布
tf.random_normal 正态分布
tf.truncated_normal 正态分布,且数字不会太大或太小
tf.random_uniform 均匀分布
tf.random_gamma gamma分布

常数生成函数

函数名称 功能
tf.zeros 产生全0数组
tf.ones 产生全1数组
tf.fill 产生制定数字数组
tf.constant 产生给定值的数组

猜你喜欢

转载自blog.csdn.net/a13602955218/article/details/80694659