首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

TensorFlow从0到1 - 2 - TensorFlow核心编程

上一篇Hello, TensorFlow!中的代码还未解释,本篇介绍TensorFlow核心编程的几个基本概念后,那些Python代码就很容易理解了。...[2, 1, 3]。...计算图 TensorFlow核心编程,通常是由两大阶段组成: 1 构建计算图 2 运行计算图 计算图,The Computational Graph,是由计算节点(node)构成的图。...在Python中使用它,只需要一行导入语句,即可访问TensorFlow的所有类和方法: import tensorflow as tf 上面就是由3个节点构建的计算图,Python代码如下: import...代码分3块:导入语句、构建计算图和运行计算图; node1和node2是常量节点,常量节点:没有输入,输出是事先存储在其内部的值; node3是一个加法操作,2个输入分别是node1和node2的输出

799100
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    TensorFlow从0到1丨第2篇:TensorFlow核心编程

    上一篇Hello, TensorFlow!中的代码还未解释,本篇介绍TensorFlow核心编程的几个基本概念后,那些Python代码就很容易理解了。...[2, 1, 3]。...计算图 TensorFlow核心编程,通常是由两大阶段组成: 1 构建计算图 2 运行计算图 计算图,The Computational Graph,是由计算节点(node)构成的图。...节点,node,代表一种运算操作,输入≥0个张量,输出1个张量,下图右侧是一个加法节点,接受两个输入: ? 图2.计算图 TensorFlow提供了很多的API。...在Python中使用它,只需要一行导入语句,即可访问TensorFlow的所有类和方法: import tensorflow as tf 上面就是由3个节点构建的计算图,Python代码如下: import

    1.1K40

    TensorFlow从1到2 - 5 - 非专家莫入!TensorFlow实现CNN

    上一篇4 深入拆解CNN架构准备好了CNN的理论基础,本篇从代码层面,来看看TensorFlow如何搞定CNN,使识别精度达到99%以上。 ? 分析代码的方式 再次说明下分析代码的方式。...与逐行分析代码不同,我偏好先清理代码涉及到的语言、工具的知识点,然后再去扫描逻辑。所以“Python必知必会”、“TensorFlow必知必会”将是首先出现的章节。...:CNN识别Fashion-MNIST; 代码运行环境: Python 3.6.2; TensorFlow 1.3.0 CPU version; Python必知必会 With 在本篇所分析的代码中,用到了大量的...tf.name_scope 先来体会下我设计的“玩具”代码: import tensorflow as tf with tf.name_scope('V1'): a1 = tf.Variable...2行; 有关TensorFlow计算图(Graph)基本构建单元Node的概念,请回顾《TensorFlow从0到1 - 2 - TensorFlow核心编程》。

    2.5K90

    TensorFlow从1到2 - 2 - 消失的梯度

    如下图所示,从左到右,从上到下,依次是第1个到第4个隐藏层偏置bl上的梯度求模的值,曲线显示越靠前的层偏置向量b的模越小,所用代码tf_2-2_one_path.py。 ?...更加严重的问题是,在它的负区间上,梯度为0,一旦进入到这个区间学习将完全停止。...隐层数量 每隐层神经元数 迭代次数 识别精度 代码 1 隐层x1 100 30 97.57% tf_2-2_1_hidden_layers_relu.py 2 隐层x2 100,100 30 97.92%...我们的训练过程,可能并没有学习到层次化的概念,或者学习了错误的层次化概念。 这或许是基于梯度下降训练全连接网络的宿命。...对于大分辨率图像来说,也都会事先进行特征提取,再将低维特征数据输入网络,而不是构建端到端的深度网络架构。

    1.2K60

    TensorFlow从1到2(九)迁移学习

    从简单开始,先展示一下识别 如同本系列第五篇一样,先使用最简短的代码熟悉一下MobileNet V2。...标注则非常简单,就是1(代表Dog)或者0(代表Cat)。上面的程序中,我们使用get_label_name(label)将数字转换为可读的字符串。这个标注比ImageNet要简单的多。...MobileNet V2模型默认是将图片分类到1000类,每一类都有各自的标注。...因为本问题分类只有两类,所以在代码上,我们构建模型的时候增加include_top=False参数,表示我们不需要原有模型中最后的神经网络层(分类到1000类),以便我们增加自己的输出层。...考虑到原有ImageNet图片库的样本,大多并非猫和狗。所以完全保留原有的模型参数可能对MobileNet V2来讲也是资源上的浪费。

    1.8K10

    TensorFlow从1到2 - 1 - 深度神经网络

    上一主题《TensorFlow从0到1》介绍人工神经网络的基本概念与其TensorFlow实现,主要基于浅层网络架构,即只包含一个隐藏层的全连接(FC,Full Connected)网络。...新主题《TensorFlow从1到2》将探索近5年来取得巨大成功的深度神经网络(Deep Neural Networks,DNN),它已成为机器学习中一个独立的子领域——深度学习(Deep Learning...以MNIST识别为例,使用在上一主题中构建好的全连接网络进行训练,测试结果如下表所示: 隐层数量 每隐层神经元数 迭代次数 识别精度 代码 1 隐层x1 100 30 95.25% tf_2-1_1_...hidden_layers.py 2 隐层x2 100 30 95.87% tf_2-1_2_hidden_layers.py 3 隐层x3 100 30 96.3% tf_2-1_3_hidden_layers.py...4 隐层x4 100 60 96.08% tf_2-1_4_hidden_layers.py 随着隐藏层数量的增加,识别精度增长并不显著,当隐藏层数量增加到4层时,收敛不仅需要更多的迭代次数,识别精度反而开始下降了

    928110

    TensorFlow从1到2(十三)图片风格迁移

    风格迁移 《从锅炉工到AI专家(8)》中我们介绍了一个“图片风格迁移”的例子。因为所引用的作品中使用了TensorFlow 1.x的代码,算法也相对复杂,所以文中没有仔细介绍风格迁移的原理。...今天在TensorFlow 2.0的帮助,和新算法思想的优化下,实现同样功能的代码量大幅减少,结构也越发清晰。所以今天就来讲讲这个话题。...在《从锅炉工到AI专家(8)》引用的代码中,除了构建神经网络、训练,主要工作是在损失函数降低到满意程度之后,使用网络中间层的输出结果计算、组合成目标图片。原文中对这部分的流程也做了简介。...新的代码来自TensorFlow官方文档。除了程序升级为TensorFlow 2.0原生代码。...不过TensorFlow内置的将图像0-255整数值转换为浮点数的过程,会自动将数值变为0-1的浮点小数。 这个过程其实对我们多此一举,因为我们后续的很多计算都需要转换回0-255。 #!

    2K42

    TensorFlow从1到2 | 第五章 非专家莫入!TensorFlow实现CNN

    上一篇TensorFlow从1到2 | 第四章: 拆解CNN架构 准备好了CNN的理论基础,本篇从代码层面,来看看TensorFlow如何搞定CNN,使识别精度达到99%以上。 ?...分析代码的方式 再次说明下分析代码的方式。 与逐行分析代码不同,我偏好先清理代码涉及到的语言、工具的知识点,然后再去扫描逻辑。...; 代码运行环境: 1、Python 3.6.2; 2、TensorFlow 1.3.0 CPU version; python必知必会 with在本篇所分析的代码中,用到了大量的With,值得一说。...)代码: import tensorflow as tf with tf.name_scope('V1'): a1 = tf.Variable([50]) a2 = tf.Variable...计算图(Graph)基本构建单元Node的概念,请回顾《TensorFlow从0到1 - 2 - TensorFlow核心编程》。

    1K80

    TensorFlow从1到2 - 4 - 深入拆解CNN架构

    以“层”作为拆解粒度的话,刨去输入层和输出层,LeNet-5共有6个隐藏层:从左到右依次是: C1卷积层(Convolutional Layer); S2降采样层(Sub-Sampling Layer)...,即池化层(Pooling Layer); C3卷积层; S4降采样层; C5卷积层; F6全连接层(Full Connected Layer); 其中,关于全连接层我们已经非常熟悉了(回顾直达TensorFlow...从0到1),而其余的5层中,只有卷积层和降采样层两种类型,交替重复出现。...+ 2x2 - 5) / 1 + 1 = 28。...一张动图可以体现出以上的所有扩展: 观察上图,有: 输入尺寸:7x7x3; 滤波器尺寸:3x3x3; 滤波器数量:2; 滤波器跨距:2; 补0圈数:1; 输出尺寸:3x3x2; 其中输入,滤波器,输出都变成了三维结构

    97670

    TensorFlow从1到2(二)续讲从锅炉工到AI专家

    我们先不进入TensorFlow 2.0中的MNIST代码讲解,因为TensorFlow 2.0在Keras的帮助下抽象度比较高,代码非常简单。...0-1的数据转换为标准的0-255的整数数据,2维28x28的图片 image = tf.floor(256.0 * tf.reshape(imgs[i], [28, 28])) # 原数据为...目的只是为了延续原来的讲解,让图片直接显示而不是保存为图像文件,以及升级到Python3和TensorFlow 2.0的执行环境。 样本集显示出来效果是这样的: ?...(tf.matmul(x, W1) + b1) #定义第二层(隐藏层)网络,1024输入,512输出 W2 = weight_variable([1024, 512]) b2 = bias_variable...0-1的数据转换为标准的0-255的整数数据,2维28x28的图片 image = tf.floor(256.0 * tf.reshape(imgs[i], [28, 28])) # 原数据为

    54300

    TensorFlow从1到2 | 第四章: 拆解CNN架构

    上一篇 《TensorFlow从1到2 | 第三章: 深度学习革命的开端:卷积神经网络》 快速回顾了CNN的前世今生。 本篇将拆开CNN架构,一探究竟。...从0到1),而其余的5层中,只有卷积层和降采样层两种类型,交替重复出现。...+ 2x2 - 5) / 1 + 1 = 32 补0操作如下所示: 归纳当前构建网络用到的超参数: 输入层的尺寸,记为N; 小视窗尺寸,记为F; 跨距,stride; 补0圈数,记为P; 共享权重和偏置...一张动图可以体现出以上的所有扩展: 观察上图,有: 输入尺寸:7x7x3; 滤波器尺寸:3x3x3; 滤波器数量:2; 滤波器跨距:2; 补0圈数:1; 输出尺寸:3x3x2; 其中输入,滤波器,输出都变成了三维结构...3者的关归纳如下,务必牢记: 输入的通道数 == 滤波器的通道数; 滤波器的个数 == 输出的通道数; 这个关系可以用另一种视图辅助记忆,见下: 滤波器的层次 上一篇《TensorFlow从1到2 |

    79570

    TensorFlow从1到2(八)过拟合和欠拟合的优化

    先看上边的一组图,随着训练迭代次数的增加,预测的错误率迅速下降。 我们上一篇中讲,达到一定迭代次数之后,验证的错误率就稳定不变了。...实际上你仔细观察,训练集的错误率在稳定下降,但验证集的错误率还会略有上升。两者之间的差异越来越大,图中的两条曲线,显著分离了,并且分离的趋势还在增加。这就是过拟合的典型特征。...增加权重的规范化 通常有两种方法,称为L1规范化和L2规范化。前者为代价值增加一定比例的权重值的绝对值。后者增加一定比例权重值的平方值。...具体的实现来源于公式,有兴趣的可以参考一下这篇文章《L1 and L2 Regularization》。...我们删除掉上面源码中的bigger模型和small模型的部分,包括模型的构建、编译和训练,添加下面的代码: # 构建一个L2规范化的模型 l2_model = keras.models.Sequential

    1.3K20

    TensorFlow从1到2 | 第一章 消失的梯度

    上一主题 《TensorFlow从0到1》介绍了人工神经网络的基本概念与其TensorFlow实现,主要基于浅层网络架构,即只包含一个隐藏层的全连接(FC,Full Connected)网络。...新主题 《TensorFlow从1到2》 将探索近5年来取得巨大成功的深度神经网络(Deep Neural Networks),它已成为机器学习中一个独立的子领域——深度学习(Deep Learning...以MNIST识别为例,使用在上一主题中构建好的全连接网络进行训练,测试结果如下表所示: 隐层数量 每隐层神经元数 迭代次数 识别精度 代码 1 隐层x1 100 30 95.25% tf_2-1_1_...hidden_layers.py 2 隐层x2 100 30 95.87% tf_2-1_2_hidden_layers.py 3 隐层x3 100 30 96.3% tf_2-1_3_hidden_layers.py...隐层数量 每隐层神经元数 迭代次数 识别精度 代码 1 隐层x1 100 30 97.62% tf_2-1_1_hidden_layers_relu.py 2 隐层x2 100 30 97.72% tf

    92850

    TensorFlow从1到2(十五)(完结)在浏览器做机器学习

    接着我们使用《TensorFlow从1到2(七)》中,油耗预测的数据集,也完成一个简单的油耗预测的示例。 原始的数据结构请到第七篇中查看。这里为了js处理的方便,已经预先转成了json格式。...(inputs, [inputs.length, 1]); const labelTensor = tf.tensor2d(labels, [labels.length, 1]); /...程序核心的训练和测试(预测)的代码在TensorFlow中非常简单,我们早就有经验了。...xs.reshape([100, 1])); // 预测结果也是规范化的0-1值,所以使用数据集取值范围还原到原始样本模型 const unNormXs...建议有需要的朋友继续到官网文档中学习。 水平所限,文中错误、疏漏不少,欢迎批评指正。 (连载完)

    93620

    TensorFlow从0到1 - 16 - L2正则化对抗“过拟合”

    它在12 TensorFlow构建3层NN玩转MNIST代码的基础上,使用了交叉熵损失,以及1/sqrt(nin)权重初始化: 1个隐藏层,包含30个神经元; 学习率:3.0; 迭代数:30次; mini...TensorFlow实现L2正则化 TensorFlow的最优化方法tf.train.GradientDescentOptimizer包办了梯度下降、反向传播,所以基于TensorFlow实现L2正则化...: 将网络中所有层中的权重,依次通过tf.add_to_collectio加入到tf.GraphKeys.WEIGHTS中; 调用tf.contrib.layers.l2_regularizer生成L2...所以在实现L2正则化时增加了隐藏层的神经元数量(从30到100)来抵消识别精度的下降。 ?...L2正则化(基于TensorBoard绘制) 附完整代码 import argparse import sys from tensorflow.examples.tutorials.mnist import

    1.4K90

    TensorFlow从1到2(三)数据预处理和卷积神经网络

    文件下载之后,放置到~/.keras/datasets文件夹,以后执行程序的时候,会自动从本地读取数据。...接着是数据预处理的问题,主要是从原始的图片、标注,转换为机器学习所需要的规范化之后的数据。我们在TensorFlow 1.x中所使用的数据实际是已经规范化之后的。...keras.Sequential([ # 输入层把28x28的2维矩阵转换成1维 keras.layers.Flatten(input_shape=(28, 28)), keras.layers.Dense...现在,MNIST已经是完整的TensorFlow 2.0的原生代码了。绕了这么远,希望能帮你更深刻理解这些代码背后的工作。...在TensorFlow 2.0中,则只是一个函数几行代码(请尽量跟TensorFlow 1.x版本的代码对应着看。

    1K20
    领券