Tensorflow初识


1. 初识tensorflow

  • tensorflow中需要明白的几点:
    • 使用tensor表示数据
    • 使用图来表示计算任务
    • 在会话中执行图

  • tensorflow中的程序分成了构建阶段和执行阶段,构建阶段,在图中定义OP。执行阶段,在会话中执行图中的OP。
import tensorflow as tf
import os
os.environ['TF_CPP_MIN_LOG_LEVEL']='2'
node1 = tf.constant(3.9)
node2 = tf.constant(4.0)print(node1, node2)
print(node1, node2)

并没有显示node1和node2的值,输出的结果为

Tensor("Const_2:0", shape=(), dtype=float32) 
Tensor("Const_3:0", shape=(), dtype=float32)

Tensorflow Python库中有一个默认的图,op构造器可以为图中添加节点。

matrix1 = tf.constant([[3, 3]])
matrix2 = tf.constant([[2],[2]])
c = tf.matmul(matrix1, matrix2)
print(tf.get_default_graph(), matrix1.graph, matrix2.graph)

输出结果为:

<tensorflow.python.framework.ops.Graph object at 0x0000000004B72748>
 <tensorflow.python.framework.ops.Graph object at 0x0000000004B72748> 
<tensorflow.python.framework.ops.Graph object at 0x0000000004B72748>

在会话中启动图

创建一个Session()对象,调用Session的run()方法来执行图中的op

sess = tf.Session()
result = sess.run(c)
print(result)
sess.close()

输出的结果为,两个矩阵相乘的结果:

[[12]]

feed操作

  • 在程序执行的时候,不确定输入的是什么,提前“占个坑”。比如,在训练神经网络的时,具体的权重参数不确定,就可以用feed操作。
  • 标记方法:tf.placeholder()
input1 = tf.placeholder(tf.float32)
input2 = tf.placeholder(tf.float32)
output = tf.add(input1, input2)
with tf.Session() as sess:
    print(sess.run([output], feed_dict={input1:10.0, input2:20.0}))

输出结果为:

[30.0]

tensorflow实现一个加法

# 定义tensor
a = tf.constant(5.0)
b = tf.constant(6.0)
sum1 = tf.add(a, b)
# 开启上下文管理器,避免了关闭sess.close()的操作
with tf.Session() as sess:
    print(sess.run(sum1))
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 使用 TensorFlow, 你必须明白 TensorFlow: 使用图 (graph) 来表示计算任务. 在被称...
    今早上阅读 633评论 0 1
  • 基本使用 使用 TensorFlow, 你必须明白 TensorFlow: 使用图 (graph) 来...
    西方失败9527阅读 780评论 0 1
  • 初次接触简书 就像小草仰望大树 我的菜园很小 小到只有几步 小草也有梦想 大树是它的榜样 吸收阳光雨露 不惧风雪雨...
    自雨自在阅读 922评论 20 24
  • 读王老师的书,你会惊异于他犀利的笔墨,渊博的学识,电影,电视,生活,时事新闻,一个人物,一本书,他都能从教育的角度...
    笑笑8阅读 604评论 1 2
  • 冬,你冷若冰霜 你那白雪的面庞,晶莹的肌肤,仿佛高傲的公主。让走近你的人 总是感到无助,忧虑与彷徨 可你又美丽端庄...
    白頻州hp阅读 360评论 0 0