Tensorflow 突发奇想地总结
你学的这些知识,将来工作又不用得到,那你学这个有什么意义?
1、可以把tensorflow 想象成汇编,即:
汇编拥有DataSegment 、 CodeSegment 、StackSegment等汇编运行的机制是 程序运行前,在DataSegment之中定义好,然后,在CodeSegment中写要执行的代码,mov AX ,0x333…之类。
2、而Tensor flow的机制如下:
可以理解为有: 数据段、计算关系段、执行(会话)
- 第一,先定义好 数据如 tf.get_variable 或者tf.placeholder 、tf.constant等等,
- 第二,其次定义他们之间的计算关系,如:
train_step = tf.train.GradientDescentOptimizer(learning_rate).minimize(loss, global_step)
with tf.control_dependencies([train_step, variable_averages_op]):
# 先执行 train_step,再执行variable_averages_op
# 最后执行train_op
train_op = tf.no_op(name='train')
或者
layer2 = tf.matmul(layer1, weights) + biases
layer1 = tf.nn.relu(tf.matmul(input_tensor, weights) + biases)
等等。。。。。
- 第三,建立Session 上下文本管理空间,
在其中运行
with tf.Session() as see:
with tf.Session() as sess:
tf.global_variables_initializer().run()
for i in range(TRAINING_STEPS):
# 一次取100个数据,利用mnist内部func
xs, ys = mnist.train.next_batch(BATCH_SIZE)
# 列表[]中的是要计算的东西,feed_dict 是给其中用到的变量赋值
_, loss_value, step = sess.run([train_op, loss, global_step], feed_dict={x: xs, y_: ys})