
TensorFlow
文章平均质量分 50
糖公子没来过
学生一枚
展开
-
TensorFlow1基本概念介绍
主要概念Graph Session Tensor Operation Feed Fetch TensorFlow高层封装与常用APIGraph描述计算的过程,通过tensorboard图形化流程结构声明import tensorflow as tf# 声明g = tf.Graph()g = tf.get_default_graph()x = tf.constant(0) # 利用变量直接获取graphg = x.graph声明并交叉使用多个Graph原创 2021-12-27 20:01:07 · 1734 阅读 · 0 评论 -
Auto-Encoders
非监督学习Why neededAuto-EncodersHow to trainMaximize LikelihoodMinimize KL DivergenceHow to compote KL between q(z) and p(z)实战Auto-Encoderimport osimport tensorflow as tfimport numpy as npfrom tensorflow import ke...原创 2021-10-26 21:26:00 · 137 阅读 · 0 评论 -
ResNet实战
Basic BlockRes BlockResNet-18源码resnet.pyimport tensorflow as tffrom tensorflow import kerasfrom tensorflow.keras import layers, Sequentialclass BasicBlock(layers.Layer): def __init__(self, filter_num, stride=1): .原创 2021-10-24 10:46:18 · 289 阅读 · 0 评论 -
ResNet 与 DenseNet
ResNetThe residual moduleResNet 残差网络,F(x) + x = H(x),那么F(x) = H(x) - x,“残差”就是这么来的为了使网络层数加深也不至于比浅层次网络的性能差,设计出了这样一种带有“短路机制”的网络,一个BasicBlock的结果是网络F(x)与直连x的和上面显示了参数量正是因为ResNet有这种性质,ResNet可以做的很深Basic BlockRes BlockResNet-18DenseN..原创 2021-10-24 10:41:51 · 175 阅读 · 0 评论 -
Batch Normalization
提出原因使用Sigmoid 激活函数时如果数据的分布范围较大,训练时容易出现梯度弥散现象,因此提出了Batch Normalization的方法另外,从另一个角度,如果输入的数据大小差别过大,就会导致参数w在某一个方向上梯度变化不明显而另一个方向上梯度变化比较大,这个时候的网络优化的效率是比较低的。如果数据输入都是在一定范围内的话,网络优化起来效率就会比较高,就像下面李宏毅老师的图一样NormalizationNorm如上图所示,有很多Norm的方法,但其实只是角度不同,每次原创 2021-10-24 10:15:09 · 191 阅读 · 0 评论 -
卷积神经网络
卷积神经网络介绍为什么要“卷积”全连接所需要的参数数量过多,尤其对于现在处理的数据量来说更多,对应硬件显存要求巨大。为了减少这部分需求,同时对神经网络也能够实现很好的训练,提出了卷积神经网络的概念如何实现权值共享一些概念 feature maps: 比如说在Computer Vision 领域中,feature map 指的就是图像,包括输入的原始图像以及通过神经网络各层处理出来的“中间图像”。中间图像加引号是因为有的层处理完之后的由于维度发生了变换,无法呈现出一个图像原创 2021-10-22 16:11:10 · 1552 阅读 · 0 评论 -
TensorFlow_其他的训练Tricks
TricksEarly Stopping Dropout Stochastic Gradient DescentEarly StoppingDropout注意:out = network(x, training=True) 这一行中,设置training参数为True对比下面设置为False注意:dropout 在做 test 的时候不能使用,做 test 的时候要求全连接,以得到最好的效果stochastic 在这里并不是取它的汉语意思“随机的”.原创 2021-10-21 19:36:14 · 209 阅读 · 1 评论 -
动量与学习率
momentum(势能) learning rate decay(学习率衰减)Momentum上面是之前的参数更新公式,下面两个是带Momentum的参数更新公式可以看到两者之间的变化就是关于梯度的计算带Momentum的梯度计算中是这一步的梯度和上一步梯度的求和!!这样的话就会保留一些之前动量的信息在TensorFlow中实现Learning rate tunningLearning rate decay(学习率衰减)Adaptiv...原创 2021-10-21 17:17:39 · 289 阅读 · 0 评论 -
Regularization(正则化)——避免过拟合
L1正则化和L2正则化import tensorflow as tffrom tensorflow.keras import datasets, layers, optimizers, Sequential, metricsdef preprocess(x, y): x = tf.cast(x, dtype=tf.float32) / 255. y = tf.cast(y, dtype=tf.int32) return x,ybatc...原创 2021-10-21 16:57:09 · 189 阅读 · 0 评论 -
TensorFlow中的交叉验证
交叉验证是用来避免模型的过拟合和欠拟合现象Train, TestTrain, val, testEvaluate during trainTest after trainingk-fold cross validation用到一个.gather 方法,提取出x和y的随机的50k数据(因为idx经过了shuffle);并且是在每一个epoch中都进行一次随机提取,epoch有500次,也就是做了500次交叉验证...原创 2021-10-21 14:58:03 · 1607 阅读 · 0 评论 -
Keras 实战
import tensorflow as tffrom tensorflow.keras import datasets, layers, optimizers, Sequential, metricsfrom tensorflow import kerasimport osos.environ['TF_CPP_MIN_LOG_LEVEL'] = '2'def preprocess(x, y): # [0~255] => [-1~1] x = 2 ...原创 2021-10-21 08:35:50 · 276 阅读 · 0 评论 -
TensorFlow——模型保存与加载
save/load weights save/load entire model saved_modelsave_load_weights.pyimport tensorflow as tffrom tensorflow.keras import datasets, layers, optimizers, Sequential, metricsdef preprocess(x, y): """ x is a simple image, no...原创 2021-10-21 08:27:52 · 600 阅读 · 0 评论 -
Keras 高层API
Keras.MetricsStep 1. Build a meterStep 2. Update dataStep 3. Get Average dataClear bufferimport tensorflow as tffrom tensorflow.keras import datasets, layers, optimizers, Sequential, metricsdef preprocess(x, y): x = tf.c..原创 2021-10-21 08:09:31 · 129 阅读 · 0 评论 -
Fashion MNIST 实战
import tensorflow as tffrom tensorflow import kerasfrom tensorflow.keras import datasets, layers, optimizers, Sequential, metricsimport osos.environ['TF_CPP_MIN_LOG_LEVEL'] = '2'def preprocess(x, y): x = tf.cast(x, dtype=tf.float32) / .原创 2021-10-20 21:02:35 · 89 阅读 · 0 评论 -
TensorFlow——Himmelblau函数优化实战
Himmelblau function最小值PlotGradient Descentimport numpy as npfrom mpl_toolkits.mplot3d import Axes3Dfrom matplotlib import pyplot as pltimport tensorflow as tfdef himmelblau(x): return (x[0] ** 2 + x[1] - 11) ** 2 +...原创 2021-10-20 20:46:24 · 186 阅读 · 0 评论 -
TensorFlow——梯度计算
Gradient Descent核心公式For instanceGradientTape如果不将需要求梯度的 w 放入GradientTape中,就不能自动求 w 的梯度另外,GradientTape 有一个参数persistent,如果不设置的话,tape.gradient 只能用一次,也就是只能求一次梯度,再用的话就会报错二阶导的求法例如:激活函数及其梯度sigmoidtanhreluSigmoidtf.sigm...原创 2021-10-20 20:29:08 · 1079 阅读 · 0 评论 -
TensorFlow高级操作
合并与分割tf.concat([a, b], axis=0)concat:+条件:维数必须相当,且除了要合并的维度之外,其他维度的数据相等tf.splitsplit:-tf.stack([a, b], axis=0)stack:+stack:create new dim,可以增加维度(大维度)进行合并tf.unstackunstack:-数据统计tf.norm(a)范数计算:L1 Norm**tf.norm(b, or原创 2021-10-16 16:48:34 · 268 阅读 · 0 评论 -
TensorFlow基础
目录数据类型创建Tensor索引与切片(重要)维度变换(重要)Broadcasting数学运算前向传播(张量)实战各小节要点总结数据类型数据转换创建Tensor从numpy或list中转化成Tensor用tf.zeros()创建全为0的Tensor用tf.zeros_like()创建与另一个Tensor相同维数和结构的全为0的Tensor用tf.ones()创建全为1的Tensor用tf.fill([], a)来创建全为a的Tens...原创 2021-10-15 20:16:42 · 280 阅读 · 0 评论