文档章节

Tensorflow 基本概念

marjey
 marjey
发布于 2017/09/10 09:31
字数 491
阅读 19
收藏 0

tensor可简单的理解为多维数组,但是张量对象并未正真保存计算的结果值, 而是保存要获得这个值的计算过程。

import tensorflow as tf

a = tf.constant([[1, 2, 3, 4, 5], [1, 2, 3, 4, 5]], dtype=tf.float32)
b = tf.constant([[1, 2, 3, 4, 5], [1, 2, 3, 4, 5]], dtype=tf.float32)
result = a+b
print(result)
with tf.Session() as session:
    b = session.run(result)
    print(b)

 

tensorflow  Graph:

import tensorflow as tf

# 新建一个计算图
g1 = tf.Graph()
with g1.as_default():
    v = tf.get_variable("v", [1], initializer=tf.zeros_initializer())  # 设置初始值为0
# 新建另一个计算图
g2 = tf.Graph()
with g2.as_default():
    v1 = tf.get_variable("v1", [1], initializer=tf.ones_initializer())  # 设置初始值为1
    result = v1 + 1

# 新建一个session对话
with tf.Session(graph=g1) as sess:
    tf.global_variables_initializer().run()
    with tf.variable_scope("", reuse=True):
        print(sess.run(tf.get_variable("v")))

# 新建另一个session对话
with tf.Session(graph=g2) as sess:
    tf.global_variables_initializer().run()
    with tf.variable_scope("", reuse=True):
        print(sess.run(tf.get_variable("v1")))
        print(sess.run(result))

 

常量:常量也要看作是一个张量

import tensorflow as tf

a = tf.constant([1.0, 2.0], name="a")
b = tf.constant([2.0, 3.0], name="b")
result = a + b
print(result)
with tf.Session() as sess:
#即便是一个常量,也需要session通过运算得到。
    print(sess.run(result))
    print(result.eval())
    sess.close()

会话:

# 创建一个会话。
sess = tf.Session()
#
sess = tf.InteractiveSession () 可为交互式会话。
# 使用会话得到之前计算的结果。
print(sess.run(result))

# 关闭会话使得本次运行中使用到的资源可以被释放。
sess.close()
config=tf.ConfigProto(allow_soft_placement=True, log_device_placement=True)
#配置会话
sess1 = tf.InteractiveSession(config=config)
sess2 = tf.Session(config=config)

一个简单的前向传播

import tensorflow as tf

# 初始化随机值
init_w1 = tf.random_normal([2, 3], stddev=1, seed=1)
w1 = tf.Variable(init_w1)
init_w2 = tf.random_normal([3, 1], stddev=1, seed=1)
w2 = tf.Variable(init_w2)
x = tf.constant([[0.7, 0.9]])
a = tf.matmul(x, w1)
y = tf.matmul(a, w2)
sess = tf.Session()
sess.run(w1.initializer)
sess.run(w2.initializer)
print(sess.run(y))
sess.close()

# 新的输入类型
x = tf.placeholder(tf.float32, shape=(1, 2), name="input")
a = tf.matmul(x, w1)
y = tf.matmul(a, w2)
sess = tf.Session()
init_op = tf.global_variables_initializer()
sess.run(init_op)

print(sess.run(y, feed_dict={x: [[0.7, 0.9]]}))
# 批量input
x = tf.placeholder(tf.float32, shape=(3, 2), name="input")
a = tf.matmul(x, w1)
y = tf.matmul(a, w2)

sess = tf.Session()
# 使用tf.global_variables_initializer()来初始化所有的变量
init_op = tf.global_variables_initializer()
sess.run(init_op)

print(sess.run(y, feed_dict={x: [[0.7, 0.9], [0.1, 0.4], [0.5, 0.8]]}))

 

© 著作权归作者所有

共有 人打赏支持
marjey
粉丝 2
博文 173
码字总数 139219
作品 0
昆明
TensorFlow入门(一)

目录 TensorFlow简介 TensorFlow基本概念 Using TensorFlow Optimization & Linear Regression & Logistic Regression 1. TensorFlow简介   TensorFlow由Google的Brain Team创立,于2015年......

jclian91
08/13
0
0
tensorflow(一) 介绍及基本操作

一、tensorflow介绍 TensorFlow是谷歌基于DistBelief进行研发的第二代人工智能学习系统,其命名来源于本身的运行原理。Tensor(张量)意味着N维数组,Flow(流)意味着基于数据流图的计算,T...

missayaaa
04/23
0
0
TensorFlow,从一个 Android Demo 开始

TensorFlow Android Demo 项目地址 Machine Learning 既然提到了 TensorFlow,那是不是得神经网络、机器学习了解下? 如果你能坚持把 机器学习速成课程 给啃完了,觉得还挺有兴趣的,那可以考...

孟飞阳
07/17
0
0
TensorFlow——入门基础

TensorFlow原理: TensorFlow使用Graph来描述计算任务,图中的节点被称之为op.一个op可以接受0或多个tensor作为输入,也可产生0或多个tensor作为输出.任何一个Graph要想运行,都必须借助上下文S...

飞天小橘子
04/19
0
0
送书&优惠丨对深度学习感兴趣的你,不了解这些就太OUT了!

点击上方“程序人生”,选择“置顶公众号” 第一时间关注程序猿(媛)身边的故事 TensorFlow是什么? TensorFlow的前身是谷歌大脑(google brain)团队研发的DistBelief。自创建以来,它便被...

csdnsevenn
05/03
0
0

没有更多内容

加载失败,请刷新页面

加载更多

TypeScript基础入门之高级类型的可辨识联合(Discriminated Unions)

转发 TypeScript基础入门之高级类型的可辨识联合(Discriminated Unions) 高级类型 可辨识联合(Discriminated Unions) 你可以合并单例类型,联合类型,类型保护和类型别名来创建一个叫做 ...

durban
11分钟前
1
0
画图工具

目标是不要让我自己摆放,那样会打断我的思路。要自己会摆放,我写字就好。 纠结对齐的我在也不会因为一个像素的问题小心翼翼的移动鼠标了。因为它对不齐你也管不了。 Graphviz https://www...

郭大鹏
12分钟前
1
0
在Visual Studio中使用GitHub(使用篇)

上一篇中已经介绍了如何在windows下安装和配置Git,并且详细说明了如何和GitHub连接。 这里就详细的说明下如何在Visual Studio中使用GitHub。这里也是一个简单的Git教程。 注:非常非常简单的...

Jokeny
12分钟前
1
0
tomcat 在liunx系统中shutdown后进程仍然存在解决办法

这个在windows下没有碰到过,因为此前跑Tomcat都是以服务而不是命令脚本的形式跑的,而且已经换了一个项目,所以暂时不考察windows下是否存在该问题。 难道是Tomcat版本问题?或者用带内存泄...

乱舞
13分钟前
1
0
区块链10年了,还未落地,它失败了吗?

几乎每个人,甚至是对通证持怀疑态度的人,都对区块链的技术有积极的看法,因为它有可能改变世界。然而,区块链技术问世已经10年了,我们仍然没有真正的用上区块链技术。 有人说,比特币是建...

linux-tao
18分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部