APP下载
报价宝  ›  科技  › 

用于深度学习的TensorFlow(第1部分)

报价宝 来源:baojiabao.com 发布时间:2019-10-07 02:50:00 11月15日更新
报价宝综合消息用于深度学习的TensorFlow(第1部分)

点选上方关注,All in AI中国

TensorFlow是一个免费的开源软件库,用于跨任务范围的资料流和可区分程式设计。它是一个符号数学库,也用于机器学习应用程序,如神经网络。它用于Google的研究和制作,TensorFlow由Google Brain团队开发,供Google内部使用。

深度学习是一种特殊的机器学习,通过学习将世界表示为概念的巢状层次结构来实现巨大的力量和灵活性,每个概念都是根据更简单的概念定义的,更抽象的表示是根据更抽象的概念计算出来的。

深度学习如何运作?

深度学习模型旨在通过类似于人类得出结论的逻辑结构来持续分析资料。为实现这一目标,深度学习使用称为人工神经网络(ANN)的分层算法结构。人工神经网络的设计灵感来自人脑的生物神经网络。这使得机器智慧比标准机器学习模型的功能强大得多。确保深度学习模型不会得出错误的结论是一个棘手的前景,但是当它按预期工作时,功能性深度学习是一个科学奇迹和潜在的骨干,是真正的人工智能的潜在支柱。

机器学习使用算法来解析资料,从资料中学习,并根据学到的知识做出明智的决策深度学习将算法分层构建,建立一个“人工神经网络”,该网络能够自主学习并做出智慧决策深度学习是机器学习的一个子领域,虽然两者都属于人工智能的广泛范畴,但深度学习是最像人类的人工智能的动力

在编写实际的深度学习应用程序之前,我们必须从TensorFlow中理解以下概念

常数变数占位符损失计算减少损失常量

可以使用tf.constant()函式建立常量。

tf.constant( value,dtype=None, shape=None, name='Const', verify_shape=False )

引数:值:输出型别为dtype的常量值(或列表)。dtype:得到的Tensor的元素的型别。形状:结果Tensor的可选维数。名称:Tensor的可选名称。verify_shape:布林值,用于验证值的形状。import tensorflow as tf

#Build computational graph

node1 = tf.constant(3.0,tf.float32)

node2 = tf.constant(4.0,tf.float32)

output = node1 + node2

#Run computational graph

sobj = tf.compat.v1.Session()

sobj.run(output)

会话:会话基本上是TensorFlow程式的支柱。会话启用程式以使常量准备就绪并执行所需的操作。它可以通过以下方式完成。

占位符

占位符只是一个变数,我们将在以后分配资料。它允许我们建立操作并构建计算图,而不需要资料。在TensorFlow术语中,我们然后通过这些占位符将资料提供给图表。

tf.placeholder(

dtype,

shape=None,

name=None

)

引数:

dtype:要进给的Tensor中的元素型别。形状:要进给的Tensor的形状(可选)。如果未指定形状,则可以提供任何形状的Tensor。name:操作的名称(可选)。import tensorflow as tf

#Build computational grapg

node1 = tf.compat.v1.placeholder(tf.float32)

node2 = tf.compat.v1.placeholder(tf.float32)

output = node1 + node2

#Run computational graph

sobj = tf.compat.v1.Session()

sobj.run(output,{node1:[1,3],node2:[4,5]})

变数来计算损失

TensorFlow变数是表示程式操纵的共享、持久状态的最佳方式。变数在呼叫run()时保持图中的状态。您可以通过构造变数类的例项将变数新增到图形中

import tensorflow as tf

#Model Parameter

w = tf.compat.v1.Variable([.3],tf.float32)

b = tf.compat.v1.Variable([-.3],tf.float32)

#Input and Output

x = tf.compat.v1.placeholder(tf.float32)

linear_model = w * x + b

y = tf.compat.v1.placeholder(tf.float32)

#loss function

squared_delta = tf.square(linear_model-y)

loss = tf.reduce_sum(squared_delta)

init = tf.global_variables_initializer()

#Run computational graph

sobj = tf.compat.v1.Session()

sobj.run(init)

sobj.run(loss,{x:[1,2,3,4],y:[0,-1,-2,-3]})

减少损失

我们使用损失函式来确定预测值与训练资料中的实际值的偏差。我们改变模型权重以使损失最小化,这就是训练的全部内容。 梯度下降是一种尝试最小化某些错误的学习算法

TensorFlow有一整套优化型别,并且您也可以定义自己的优化

梯度下降优化器Adagrad 优化器Momentum 优化器Adam优化器Ftrl优化器RMSProp优化器import tensorflow as tf

#Model Parameter

w = tf.compat.v1.Variable([.3],tf.float32)

b = tf.compat.v1.Variable([-.3],tf.float32)

#Input and Output

x = tf.compat.v1.placeholder(tf.float32)

linear_model = w * x + b

y = tf.compat.v1.placeholder(tf.float32)

#loss function

squared_delta = tf.square(linear_model-y)

loss = tf.reduce_sum(squared_delta)

#optimiser

optimiser = tf.compat.v1.train.GradientDescentOptimizer(0.01)

train = optimiser.minimize(loss)

init = tf.global_variables_initializer()

#Run computationalgraph

sobj = tf.compat.v1.Session()

sobj.run(init)

for i in range(1000):

sobj.run(train,{x:[1,2,3,4],y:[0,-1,-2,-3]})

sobj.run([w,b])

文章标签: 报价宝 降噪耳机价格 耳机价格 红米手机价格 华为手机价格 小米手机价格 电视机价格 笔记本电脑价格 笔记本价格 汽车价格 报价宝 数码相机价格 汽车价格 华为手机价格 降噪耳机价格