深度学习原理与框架-Tensorflow基本操作-变量常用操作 1.tf.random_normal(生成正态分布随机数) 2.tf.random_shuffle(进行洗牌操作) 3. tf.assign(赋值操作) 4.tf.convert_to_tensor(转换为tensor类型) 5.tf.add(相加操作) tf.divide(相乘操作) 6.tf.placeholder(输入数据占位

1. 使用tf.random_normal([2, 3], mean=-1, stddev=4) 创建一个正态分布的随机数

参数说明:[2, 3]表示随机数的维度,mean表示平均值,stddev表示标准差

代码:生成一个随机分布的值

#1. 创建一个正态分布的随机数
sess = tf.Session()
x = tf.random_normal([2, 3], mean=-1, stddev=4)
print(sess.run(x))

2. np.random.shuffle(y) # 对数据按照行进行洗牌操作
参数说明:y表示输入的矩阵

代码:对二维常量进行行的洗牌操作

# 2. 使用tf.random_shuffle进行洗牌操作
sess = tf.Session()
x = tf.constant([[1, 2], [3, 4], [5, 6]])
c = tf.random_shuffle(x)
print(sess.run(c))

 第3行和第2行交换了位置

3. opt = np.assign(state, new_state) 进行赋值操作,使用sess.run执行该操作

参数说明:将new_state数据赋值给state数据

代码:将数据进行加和,并将结果赋值给新的数据,sess.run操作,表示对操作即上述相关的操作都进行运行

# 3.进行赋值操作, 赋值操作使用的是变量tf.Variable
state = tf.Variable(0)
new_state = tf.add(state, tf.constant(1))
opt = tf.assign(state, new_state)
init = tf.global_variables_initializer()
with tf.Session() as sess:
    sess.run(init)
    print(sess.run(state))
    for _ in range(3):
        # 执行赋值操作
        sess.run(opt)
        print(sess.run(state))

4. 使用tf.convert_to_tensor(x) 将数据转换为tensorflow格式

参数说明:x表示输入的参数为其他类型的

代码:下面将np.array格式的数据转换为tensor格式,并使用sess.run进行运行

# 4.使用tf.convert_to_tensor将数据转换为tensor
import numpy as np

x = np.array([1, 2, 3])
t = tf.convert_to_tensor(x)
with tf.Session() as sess:
    print(sess.run(t))

5. 使用tf.add(a, b) 进行加和操作, 使用tf.divide(a, b) 进行乘法操作

参数说明:tf.add表示a + b, tf.divide(a, b)表示a/b

代码:使用tf.constant生成两个变量,使用tf.add进行加和,使用tf.divide进行除法操作

# 5. 进行加减乘除操作
a = tf.constant(5.0)
b = tf.constant(10.0)
c = tf.add(a, b)
d = tf.divide(a, b)
with tf.Session() as sess:
    print('%d+%d=%g'%(sess.run(a), sess.run(b), sess.run(c)))
    print('%d/%d=%g'%(sess.run(a), sess.run(b), sess.run(d)))

6. 使用tf.placeholder(tf.float32) # 进行输入参数的占位操作,在sess.run(output, feed_dict={x:7.0, y:1.0})进行真实数据的输入

代码:首先使用tf.placeholder进行占位操作,使用tf.multiply进行点乘操作,最后使用sess.run(output, feed_dict={x:7.0, y:1.0}) 将真实数据输入计算

# 6. 使用tf.placeholder进行数据的输入
x = tf.placeholder(tf.float32)
y = tf.placeholder(tf.float32)
z = tf.multiply(x, y)
with tf.Session() as sess:
    # c表示用于承接z返回的结果
    c = sess.run(z, feed_dict={x:5.0, y:2.0})
    print(c)

原文地址:https://www.cnblogs.com/my-love-is-python/p/10520238.html