前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Tensortflow学习笔记

Tensortflow学习笔记

原创
作者头像
freesan44
修改2021-10-12 17:56:34
4660
修改2021-10-12 17:56:34
举报
文章被收录于专栏:freesan44freesan44

tf.random_normal() 生成正态分布随机数

tf.truncated_normal() 生成去掉过大偏离点的正态分布随机数

tf.random_uniform() 生成均匀分布随机数

tf.zeros 表示生成全 0 数组

tf.ones 表示生成全 1 数组

tf.fill 表示生成全定值数组

tf.constant 表示生成直接给定值的数组

例如:

w=tf.Variable(tf.random_normal(2,3,stddev=2, mean=0, seed=1))

表示生成正态分布随机数,形状两行三列,标准差是 2,均值是 0,随机种子是 1。

tf.matmul = np.dot

a= tf.matmul(X, W1)

y= tf.matmul(a, W2)

基本思想是with所求值的对象必须有一个enter()方法,一个exit()方法。

√过拟合:神经网络模型在训练数据集上的准确率较高,在新的数据进行预测或分类时准确率较低,说明模型的泛化能力差。

√正则化:在损失函数中给每个参数 w 加上权重,引入模型复杂度指标,从而抑制模型噪声,减小过拟合。

√在 Tensorflow 中,一般让模型的输出经过 sofemax 函数,以获得输出分类的概率分布,再与标准 答案对比,求出交叉熵,得到损失函数,用如下函数实现:

代码语言:txt
复制
ce = tf.nn.sparse_softmax_cross_entropy_with_logits(logits=y, labels=tf.argmax(y_, 1)) 
cem = tf.reduce_mean(ce)

√matplotlib 模块:Python 中的可视化工具模块,实现函数可视化

终端安装指令:sudo pip install matplotlib

√函数 plt.scatter():利用指定颜色实现点(x,y)的可视化

plt.scatter (x 坐标, y 坐标, c=”颜色”)

plt.show()

√收集规定区域内所有的网格坐标点:

xx, yy = np.mgrid起:止:步长, 起:止:步长 #找到规定区域以步长为分辨率的行列网格坐标点

grid = np.c_xx.ravel(), yy.ravel() #收集规定区域内所有的网格坐标点 √plt.contour()函数:告知 x、y 坐标和各点高度,用 levels 指定高度的点描上颜色

plt.contour (x 轴坐标值, y 轴坐标值, 该点的高度, levels=等高线的高度)

plt.show()

NN优化三元素:正则化、滑动平均、学习率

√在 Tensorflow 中,正则化表示为:

首先,计算预测结果与标准答案的损失值

  1. MSE: y 与 y的差距(loss_mse) = tf.reduce_mean(tf.square(y-y))
  2. 交叉熵:ce = tf.nn.sparsesoftmax_cross_entropy_with_logits(logits=y, labels=tf.argmax(y, 1)) y 与 y_的差距(cem) = tf.reduce_mean(ce)
  3. 自定义:y 与 y_的差距

其次,总损失值为预测结果与标准答案的损失值加上正则化项

loss = y 与 y_的差距 + tf.add_n(tf.get_collection('losses'))

Python的with...as的用法

紧跟with后面的语句被求值后,返回对象的__enter__()方法被调用,这个方法的返回值将被赋值给as后面的变量。当with后面的代码块全部被执行完之后,将调用前面返回对象的__exit__()方法。

√在 Tensorflow 中,指数衰减学习率表示为:

代码语言:txt
复制
learning_rate = tf.train.exponential_decay(
LEARNING_RATE_BASE, global_step,
数据集总样本数 / BATCH_SIZE,
LEARNING_RATE_DECAY,
staircase=True) train_step=tf.train.GradientDescentOptimizer(learning_rate).minimize(loss, global_step=global_step)

√在 Tensorflow 中,滑动平均表示为:

代码语言:txt
复制
ema = tf.train.ExponentialMovingAverage(MOVING_AVERAGE_DECAY, global_step) 
ema_op = ema.apply(tf.trainable_variables())
with tf.control_dependencies([train_step, ema_op]):
    train_op = tf.no_op(name='train')

其中,滑动平均和指数衰减学习率中的 global_step 为同一个参数。

##前向传播

前向传播就是搭建模型的计算过程,让模型具有推理能力,可以针对一组输入 给出相应的输出。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • NN优化三元素:正则化、滑动平均、学习率
    • Python的with...as的用法
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档