栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

deeplearning.24Tensorflow深度学习框架

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

deeplearning.24Tensorflow深度学习框架

loss L(y^​,y) (y^​(i)−y(i))2(1)
注意其中tensorflow2.0的版本差异 使用下述代码可以是应该2.x版本。

# 计算损失函数 定义一些变量
tf.compat.v1.disable_eager_execution() # 保证session.run()能够正常运行
y_hat tf.constant(36, name y_hat ) # Define y_hat constant. Set to 36.
y tf.constant(39, name y ) # Define y. Set to 39
loss tf.Variable((y - y_hat) ** 2, name loss )
init tf.compat.v1.global_variables_initializer()
with tf.compat.v1.Session() as session: # Create a session and print the output
 session.run(init) # Initializes the variables
 print(session.run(loss))

在TensorFlow中编写和运行程序包含以下步骤

创建尚未执行的变量。在这些变量之间编写操作。初始化变量。创建一个会话session。运行会话session 这将运行你上面编写的操作。
因此 当我们为损失创建变量时 我们仅将损失定义为其他数量的函数 但没有验证其值。为了验证它 我们必须运行init tf.compat.v1.global_variables_initializer()初始化损失变量 在最后一行中 我们终于能够验证loss的值并打印它。
测试一个简单的例子
# 测试简单的例子
a tf.constant(2)
b tf.constant(10)
c tf.multiply(a, b)
print(c)


最后并没有输出c是什么 不过我们得到了一个Tensor类型的变量 没有维度 数字类型为int32。我们之前所做的一切都只是把这些东西放到了一个“计算图(computation graph)”中 而我们还没有开始运行这个计算图 为了实际计算这两个数字 我们需要创建一个会话并运行它
追加下列代码

sess tf.compat.v1.Session ()
print(sess.run(c))

最后得到loss值20.

接下来 我们需要了解一下占位符 placeholders 。占位符是一个对象 它的值只能在稍后指定 即先在此处占据一个位置。要指定占位符的值 可以使用一个feed字典 feed_dict变量 来传入 接下来 我们为x创建一个占位符 这将允许我们在稍后运行会话时传入一个数字。

# 利用feed_dict来改变x的值
x tf.compat.v1.placeholder(tf.int64, name x )
print(sess.run(2 * x, feed_dict {x: 3}))
sess.close()

输出为6

线性函数

计算Y Wx b线性函数。其中W X X X和 b b b是从随机正态分布中抽取的。 W 的维度是 4,3 X 是 3,1 b 是 4,1 。

# 定义线性函数
def linear_function():
 实现一个线性功能 
 初始化W 类型为tensor的随机变量 维度为(4,3)
 初始化X 类型为tensor的随机变量 维度为(3,1)
 初始化b 类型为tensor的随机变量 维度为(4,1)
 result - 运行了session后的结果 运行的是Y WX b
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/267389.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号