一些关于Tensorflow的基础概念

什么是tensorflow

简单说来,tensorflow是一个从底层到高层的库。
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

什么是张量

张量就是客观实体的数字表示形式
在这里插入图片描述

  • 在tensorflow中,张量是某种相同数据类型的多维数组

    • 数据类型(整型,浮点型,字符串等)
    • 数组形状 (数组的大小等属性)
  • tenserflow中特殊的张量

    • tf.constant() 常量
    • tf.placeholder() 占位符
    • tf.Variable() 变量

Tensorflow中的操作

  • 存储节点:存储张量
  • 计算节点:算法逻辑表达
  • 数据节点:数据占位符操作,用于描述图外数据输入的属性
    操作的输入输出都是张量或者操作(函数式编程)
    在这里插入图片描述

会话

#1.创建回话
sess = tf.Session(target=..., graph=..., config=...)
#2.估算张量或者执行操作
sess.run(...)
#3.关闭会话
sess.close()

或者

import tensorflow as tf
#创建数据流图,y=W*x+b,其中W和b为存储节点,x为数据节点
x = tf.placeholder(tf.float32)
W = tf.Variable(1.0)
b = tf.Variable(1.0)
y = W * x + b
with tf.Session() as sess:
	tf.global_variables_initializer().run()  #Operation.run
	fetch = y.eval(feed_dict={x=3.0})        #Tensor.eval
	print(fetch)                             #fetch = 1.0 * 3.0 +1.0  

优化器

  • 损失函数:损失函数是评估特定模型参数和特定输入时,表达模型输出的推理值与真实值之间不一致程度的函数。损失函数L的定义如下:

    • loss = L(f(xi ; θ), y-i)
      在这里插入图片描述
      在这里插入图片描述
      如果过度追求训练数据上的低损失值,就会遇到过拟合问题。训练集通常并不能完全代表真是场景的数据分布,当两者的分布不一致时,如果过分依赖训练集上的数据,面对新数据时就会无所适从,这时模型的范化能力就会变差。
      在这里插入图片描述
      在这里插入图片描述
  • 优化算法

    • 典型深度学习和机器学习问题都转化成最优化问题进行求解
    • 求解最优化问题的算法称为优化算法,他们通常采用迭代方式实现:首先设定一个初始的可行解,然后基于特定的函数反复计算可行解,直到找到一个最优解或达到预设的收敛条件。不同的优化算法采用的迭代策略各有不同:
      • 有的使用目标函数的一阶导数,如梯度下降法
        在这里插入图片描述
        在这里插入图片描述
      • 有的使用目标函数的二阶导数,如牛顿法
      • 有的使用前几轮的迭代信息,如Adam
  • 优化器是实现优化算法的载体。一次典型的迭代优化应该分为以下三个部分:

    • 计算梯度:调用compute_gradients方法
    • 处理梯度:用户按照自己需求处理梯度值,如梯度裁剪和梯度加权等
    • 应用梯度:调用apply_gradients方法,将处理后的梯度值应用到模型参数
      在这里插入图片描述
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值