课程源于bilibili上的Codehub的tensorflow课程 ……
此笔记主要目的是自己理解和记录,如果能帮到其他人十分开心
首先安装anaconda
pip install tensorflow #安装tensorflow
了解基本概念 图是基于会话的 session,图中有操作(operate,简称op)和数据(tensor)
比较值得注意的是每次都需要初始化 变量 导入session 在session的基础上添加操作和结果。今天学习到的赋值操作比较特殊
利用assign函数
update=tf.assign(state,new_value)
默认将参数new_value付给参数state,这个操作名字叫update 每次调用update就可以实现这个功能。
附今天学习的时候写的代码
# In[2]:
import tensorflow as tf
# In[14]:
#创建一个常量op
m1=tf.constant([[3,3]])
#创建一个常量op
m2=tf.constant([[2],[3]])
#创建一个矩阵乘法的op 把m1,m2 传入
product=tf.matmul(m1,m2)
print(product)
# In[5]:
#定义一个会话,启动默认的图
sess=tf.Session()
#调用sess的run方法来调用矩阵乘法 product
#run(product)触发了图中的3个op
result=sess.run(product)
print(result)
sess.close()
# In[6]:
#创建sess的常用方法,这样就不需要关闭session了
with tf.Session() as sess:
#调用sess的run方法来调用矩阵乘法 product
#run(product)触发了图中的3个op
result=sess.run(product)
print(result)
# In[11]:
x=tf.Variable([1,2])
a=tf.constant([3,3])
#增加一个减法op
sub=tf.subtract(x,a)
#增加一个加法op
add=tf.add(x,sub)
#变量初始化
init=tf.global_variables_initializer()
with tf.Session() as sess:
#首先在会话中进行变量初始化的操作
sess.run(init)
print(sess.run(sub))
print(sess.run(add))
# In[ ]:
#创建一个变量初始化为0
state=tf.Variable(0,name='counter')
#创建一个op 使state加一
new_value=tf.add(state,1)
#赋值操作 assign 在tensorflow中不能用等号直接赋值,只能用assign方法 这个方法名字叫 update 作用是将第二个值赋给第一个值
update=tf.assign(state,new_value)
#只要出现了变量,就要对变量进行初始化操作
init=tf.global_variables_initializer()
#再次定义一个会话
with tf.Session() as sess:
sess.run(init) #在会话中初始化变量
print(sess.run(state))
for _ in range(5):
sess.run(update)#调用update方法 更新state的值
print(sess.run(state))#每更新一次,打印出来