import tensorflow as tf x=tf.Variable([1,2]) a=tf.constant([3,3]) sub=tf.subtract(x,a) #增加一个减法op add=tf.add(x,sub) #增加一个加法op #注意变量再使用之前要再sess中做初始化,但是下边这种初始化方法不会指定变量的初始化顺序 init=tf.global_variables_initializer() with tf.Session() as sess: sess.run(init) print(sess.run(sub)) print(sess.run(add)) #################分割线##################### #创建一个名字为‘counter’的变量 初始化0 state=tf.Variable(0,name='counter') new_value=tf.add(state,1) #创建一个op,作用是使state加1 update=tf.assign(state,new_value) #赋值op init=tf.global_variables_initializer() with tf.Session() as sess: sess.run(init) print(sess.run(state)) for _ in range(5): sess.run(update) print(sess.run(state))
看上边的代码,你会注意到与普通的编程有些区别:
- tensorflow中会用到init=tf.global_variables_initializer(),这种变量初始化的东西,但是明明在上边定义的时候已经初始化了啊,哈哈,这只能说你在python中确实初始化了,但是在tf的session中你并没有初始化;
- update=tf.assign(state, new_value) 赋值操作,直接用接口而不是用等号,这也就说明tensorflow不是用python实现的,是有c++实现的,你如果想把python中的值在session中修改,必须要用这种接口的方式
目录:
- tensorflow简介、目录
- tensorflow中的图(02-1)
- tensorflow变量的使用(02-2)
- tensorflow中的Fetch、Feed(02-3)
- tensorflow版helloworld---拟合线性函数的k和b(02-4)
- tensorflow非线性回归(03-1)
- MNIST手写数字分类simple版(03-2)
- 二次代价函数、交叉熵(cross-entropy)、对数似然代价函数(log-likelihood cost)(04-1)
- 多层网络通过防止过拟合,增加模型的准确率(04-2)
- 修改优化器进一步提升准确率(04-3)
- 手写数字识别-卷积神经网络cnn(06-2)
- 循环神经网络rnn与长短时记忆神经网络简述(07-2)
- 循环神经网络lstm代码实现(07-3)
- tensorflow模型保存和使用08
- 下载inception v3 google训练好的模型并解压08-3
- 使用inception v3做各种图像分类识别08-4
- word2vec模型训练简单案例
- word2vec+textcnn文本分类简述及代码