tensorflow基础语法入门

文章目录

  • 语法入门
    • 1,常量定义
    • 2,定义运算结构(实际并不运算)
    • 3,定义会话Seesion,并执行
    • 4,定义变量
    • 5,占位变量机制
    • 6,矩阵乘
    • 7,全局初始化
    • 8,feed_dict字典输入
    • 补充

语法入门

1,常量定义

a = tf.constant([1, 2], name="a")
b = tf.constant([2, 3], name="b")

2,定义运算结构(实际并不运算)

result = a+b

3,定义会话Seesion,并执行

gpu_options= tf.GPUOptions(per_process_gpu_memory_fraction=0.333)# 设置占用内存量
sess = tf.Session(config=tf.ConfigProto(gpu_options=gpu_options))
sess = tf.Session()
print(sess.run(result))# 此时才真正完成运算

或另一种表达方式:

with tf.Session() as sess:# 这种方式会自动释放计算机资源
    sess.run(result)
    

4,定义变量

1.1,tf.random_normal创建随机生成函数tf.Variable()

w1 = tf.Variable(tf.random_normal((2,3),stddev=1,seed=1))
w2 = tf.Variable(tf.random_normal((3,1),stddev=1,seed=1))

5,占位变量机制

1.2,定义输入特征向量 x=tf.placeholder(tf.float32,shape=(1,2),name=“input”)

# 指定变量
# x = tf.constant([[0.7,0.9]])
# 占位变量机制
x=tf.placeholder(tf.float32,shape=(1,2),name="input")

6,矩阵乘

1.3,向前传播

a = tf.matmul(x,w1)
y = tf.matmul(a,w2)# 矩阵乘

7,全局初始化

sess = tf.Session()
""" sess.run(y)不能直接运行,因为w1,w2还没有初始化"""
#sess.run(w1.initializer)
#sess.run(w2.initializer)

"""以上可用以下代替"""
init_op = tf.global_variables_initializer()
sess.run(init_op)

8,feed_dict字典输入

# 若用占位变量机制,则需要给定一个feed_dict字典
print(sess.run(y,feed_dict={x:[[0.7,0.9]]}))
sess.close()

补充

"""补充:维度可以转换,类型不能"""
# w1.assign(w2)#会出错
tf.assign(w1,w2,validate_shape=False) # 这句可以,但基本不用

你可能感兴趣的:(tensorflow)