欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

tensorflow学习笔记(1)------北京大学 曹健

程序员文章站 2022-05-02 11:09:12
...

tensorflow学习笔记(1)

0 环境搭建

tensorfolw的环境搭建(anaconda版,一步到位)

视频里环境搭建过程很详细,就不细说了。(视频中也有配置视频,链接在文末)
另外,本笔记只是我记忆难记的地方写的,不喜勿喷。
课程环境(python3.7 、tensorfow2.1)

1.1 梯度下降公式

tensorflow学习笔记(1)------北京大学 曹健
lr为学习率,w为权重。(lr太小,参数更新很慢;lr太大,会在最小的损失值左右摆动)

代码1.1

反向传播,梯度下降,使损失函数减小的过程,权重更新的过程。

import tensorflow as tf
w = tf.Variable(tf.constant(5, dtype=tf.float32))
Ir = 0.2
epoch = 40


for epoch in range(epoch):
    with tf.GradientTape() as tape:
        loss = tf.square(w+1)
    grads = tape.gradient(loss, w)  # 求梯度

    w.assign_sub(Ir * grads)  # w = w - Ir(0.2) * grads(12)
    print("After %s epoch, w is %f, loss is %f" % (epoch, w.numpy(), loss))

tf.Varable 创建一个可训练的张量
tf.GradienTape()函数可以实现某个函数对某个参数求导的过程。(相当于高中数学老师对你们说的,y对x求导的过程)

1.2 张量

tensorflow学习笔记(1)------北京大学 曹健
tensorflow学习笔记(1)------北京大学 曹健
tensorflow学习笔记(1)------北京大学 曹健
tensorflow学习笔记(1)------北京大学 曹健

1.3 常用函数

tensorflow学习笔记(1)------北京大学 曹健
tensorflow学习笔记(1)------北京大学 曹健
tensorflow学习笔记(1)------北京大学 曹健
tensorflow学习笔记(1)------北京大学 曹健
tensorflow学习笔记(1)------北京大学 曹健

1.4 常用函数2

enumerate() 枚举
通常用在:

seq = ["aaa", "bbb", "ccc"]
for i, element in enumerate(seq):
    print(i, element)

运行结果:
tensorflow学习笔记(1)------北京大学 曹健
也就是元素的索引和元素相对应着输出,在后面深度学习中,经常用在选取某目标的识别准确率的选取上。

tf.nn.softmax()
概率分布,通过该函数确定3分类问题中各个分类的可能性,并且三个类别可能性相加为1.(3类是举例,其实几类都行,这里有点像高中概率问题)
tensorflow学习笔记(1)------北京大学 曹健
这个是上面代码1.1里w公式的函数

tf.argmax(张量名,axis = 操作轴)
返回列表中最大值的索引