TensorFlow基本函数

话不多说,直接干货

先提几个基础概念:

特征、标签对:机器学习过程重要的两个概念,一组特征对应一个标签。

梯度:函数对各参数求偏导后的向量,用来表示下降程度。提出这个概念是为了方便快捷的找到损失函数的最小值,后续会有梯度下降、梯度消失、梯度爆炸等相关概念。

梯度下降:沿着损失函数梯度下降的方向,寻找损失函数的最小值,得到最优参数的方法。

下面是TensorFlow的基础函数:

以下会有维度这个词,因为TensorFlow提出张量概念(和c语言的变量相似,但是更加突出维度空间情况),张量具有维度的特征,简单来说就是(1)表示一个数,([1,2][2,1])表示一个二维的矩阵,并不复杂

为了方便代码,一般在程序开头输入 import tensorflow as tf ,以下tf均代表TensorFlow

tf.zeros(维度)、tf.ones(维度) 、 tf.fill(维度,指定值) 分别代表创建全为0、1、制定值的数、数组、矩阵,维度为1,就是数,增加维度,就变成数组、矩阵、多维空间。

tf.random.normal(维度,mean=均值,stddev=标准差) 表示生成正态分布的随机数,均值,标准差可以自己设置

tf.random.truncated_normal(维度,mean=均值,stddev=标准差) 表示生成截断式正态分布的随机数,和上面的不同之处是,这个函数生成的数一定会在两倍标准差之内,可能更靠近对称轴。

tf.random.uniform(维度,minval=最小值,maxval=最大值) 表示生成均匀分布随机数,在最小值和最大值之间

tf.cast(张量名称,type=) 强制类型转换,比如整形转换成浮点型32位

tf.reduce_min(张量名称)、tf.reduce_max(张量名称) 计算张量中元素的最小、最大值

axis=0、axis=1 分别代表的是按列操作、按行操作

tf.Variable() 将变量标记为可训练,被标记的变量会在反向传播中记录梯度信息,神经网络训练中,常用该函数标记待训练参数,例如:tf.Variable(tf.random.normal()[2,2],mean=0,stdder=1),注意Variable首字母大写,小写会报错

tf.add(),tf.subtract(),  tf.multiply()  ,  tf.divide()   ,tf.square() ,    tf.pow() ,   tf.matmul()    分别代表数学运算加、减、乘、除、平方、次方、开方、矩阵乘 ,注意运算必须是相同维度

tf.data.Dataset.from_tensor_slices((输入特征,标签))   代表生成特征/标签对,构建数据集

with  tf.GradientTape()  as type:

     若干计算过程

grad = type.gradient(函数,对谁求导)          这三行代表的是计算过程中对函数进行求导,常见的有对损失函数求梯度下降

enumerate(列表名)   枚举,就是一个被命名的整数型常数的聚合  

举例:

seq= ['one','two','three']

for i,element  in enumerate(seq):

 print(i,element)            结果就是【0,one】,【1,two】,【2,three】

tf.one_hot()    代表独热编码,1表示是,0表示非   别想太复杂,就是将待转换的数据转换成one—_hot形式的数据输出,tf.one_hot(待转换数据,depth=几分类)

tf.nn.softmax(x)   是输出符合概率分布   机器学习不管是分类还是回归问题都要把最后的结果转换成分布概率的问题,概率大的结果就是我们的估计结果,所以最后的结果必须要转化成概率

变量.assign_sub()    代表的是参数变量的自减,变量=变量-1,被用在神经网络中参数的自更新,必须是可指定,可训练类型,也就是上面提到的Variable类型

tf.argmax(张量名称,axis = 操作轴)  axis=0,行操作,axis,列操作,这个函数是返回张量沿着指定维度最大值的索引,注意是索引,不是最大值,是最大值的位置

相关讲解视频,可以结合理解,

 https://www.bilibili.com/video/BV1Cg4y1q7Xq?p=6

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

素描花海

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值