TF学习day1

问题1:梯度爆炸

TF学习day1
出现了梯度爆炸
解决:减小标准差stddev
w1 = tf.Variable(tf.random.truncated_normal([784,256], stddev=0.01))
b1 = tf.Variable(tf.zeros([256]))
w2 = tf.Variable(tf.random.truncated_normal([256,128], stddev=0.01))
b2 = tf.Variable(tf.zeros([128]))
w3 = tf.Variable(tf.random.truncated_normal([128,10], stddev=0.01))
b3 = tf.Variable(tf.zeros([10]))

问题2:数据没有跟踪到

with tf.GradientTape() as tape:

补充内容-数据类型

TF学习day1
TF学习day1
  • ndim,shape,numpy(),device,cpu/gpu
  • 数据转换:cast指定dtype
  • tensor包了一下tf.Variable就自动具有了求导的特性,也还是一个tensor
  • Epoch:这一千张图片全部训练完成一次即为一个Epoch。
    Step:1000/10 即为step,表示要更新多少次梯度。
    BatchSize:这里的10 即为batchsize。
  • 合并数据
    concat:维度可以不同[4,35,8],[2,35,8]
    stack:维度相同[4,35,8],[2,35,8]
  • 切割数据
    unstack:【2,4,35,8】假如在8这个维度打散,就得到了8个【2,4,35】
    split:[【2,4,35,8】指定num_or_size_splites=2,则8/2=4就得到了两个【2,4,35,4】
  • 数据统计
  • 向量范数
    二范数:tf.norm()=tf.sqrt(tf.reduce_sum(tf.square()))
    一范数:指定ord=1
  • 张量排序
    sort排序,argsort排序前的位置(0开始)
    top_k:最大的前几个
  • 填充与复制
    pad:
    TF学习day1
    tile:
    TF学习day1
  • 张量限幅
    exploding:值太大了。vanishing:值太小了,loss不动。
  • tf.clip_by_global_norm:等比例的裁剪
  • 高阶操作
  • Where
  • scatter_nd:有目的性的更新,在全0的底板上更新
  • meshgrid:

Original: https://blog.csdn.net/qq_43634388/article/details/122849124
Author: 姬如
Title: TF学习day1

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/511304/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球