玩玩机器学习3——TensorFlow基础之Session基本运算、占位符和变量的使用

通过TensorFlow的矩阵和常量的"加减乘除"运算,讲一下Session、变量以及占位符的使用

 

目录

Session创建会话与运算

变量的使用

占位符的使用


 

Session创建会话与运算

#session的使用,介绍两种启动Session的方式,进行矩阵乘法运算
import tensorflow as tf #引入TensorFlow库

m1 = tf.constant([[2,2],[3,4]])#定义一个一行两列的矩阵常量
m2 = tf.constant([[3,4],[3,1]])#定义一个两行一列的矩阵常量
dot_operation = tf.matmul(m1, m2)#定义m1和m2的TensorFlow矩阵乘法

# 使用会话的方法1
sess = tf.Session()#定义会话
result = sess.run(dot_operation)#执行会话乘法
print(result)#打印矩阵相乘的结果
sess.close()#关闭会话

# 使用会话的方法2,会话简化达到相同效果
with tf.Session() as sess:
    result_ = sess.run(dot_operation)
    print(result_)

输出结果:

[[12 10]
 [21 16]]


变量的使用

#变量的使用
var = tf.Variable(0)#定义一个常量var,数值为0

add_operation = tf.add(var, 1)#定义一个常量加法运算,var数值加1
update_operation = tf.assign(var, add_operation)#将加法运算

with tf.Session() as sess:#开启会话
    sess.run(tf.global_variables_initializer())#变量本地初始化
    for _ in range(3):#运算循环3次
        sess.run(update_operation)#执行加法运算
        print(sess.run(var))#输出每次的运算结果

输出结果:

1
2
3
 


占位符的使用

#占位符的使用
x1 = tf.placeholder(dtype=tf.float32, shape=None)#用占位符定义常量x1
y1 = tf.placeholder(dtype=tf.float32, shape=None)#用占位符定义常量y1
z1 = x1 + y1#定义z2为x1和y1相加的结果

x2 = tf.placeholder(dtype=tf.float32, shape=[2, 1])#用占位符定义2行1列矩阵x2
y2 = tf.placeholder(dtype=tf.float32, shape=[1, 2])#用占位符定义1行2列矩阵y2
z2 = tf.matmul(x2, y2)#定义z2为x2和y2矩阵相乘的结果

with tf.Session() as sess:
    #将常量放入占位符
    z1_value = sess.run(z1, feed_dict={x1: 1, y1: 2})

    # 将矩阵放入占位符
    z2_value = sess.run([z2],feed_dict={x2: [[2], [2]], y2: [[3, 3]]})
    print(z1_value)
    print(z2_value)

输出结果:

3.0
[array([[6., 6.],
       [6., 6.]], dtype=float32)]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

青年夏日科技

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值