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

TensorFlow基础

一个 TensorFlow 图描述了计算的过程. 为了进行计算, 图必须在 会话 里被启动. 会话 将图的 op 分发到 CPU 或 GPU 之类的 设备 上, 同时提供执行 op 的方法....会话 (Session):在被称之为 会话 (Session) 的上下文 (context) 执行图. tensor:使用 tensor 表示数据....启动图的第一步是创建一个 Session 对象, 如果无任何创建参数, 会话构造器将启动默认图. Session文档:Session 类。...数据结构来代表所有的数据, 计算图中, 操作间传递的数据都是 tensor....注意: 如果需要保存和恢复模型变量的不同子集,可以创建任意多个saver对象。同一个变量可被列入多个saver对象,只有当saver的restore()函数被运行时,它的值才会发生改变。

67810

资源 | TensorFlow极简教程:创建、保存和恢复机器学习模型

选自Github 机器之心编译 参与:Jane W、李泽南 TensorFlow 是一个由谷歌发布的机器学习框架,在这篇文章,我们将阐述 TensorFlow 的一些本质概念。...如何实际保存和加载 保存(saver)对象 可以使用 Saver 对象处理不同会话(session)任何与文件系统有持续数据传输的交互。...图(graph):你希望会话处理的图。对于初学者来说,棘手的事情是:TF 总存在一个默认的图,其中所有操作的设置都是默认的,所以你的操作范围总在一个「默认的图」。...graph.get_operation_by_name('loss/train_op') hyperparameters = tf.get_collection('hyperparameters') 恢复权重 请记住,实际的权重只存在于一个会话...TF 自带多个方便的帮助方法,: 在时间和迭代处理模型的不同检查点。它如同一个救生员,以防你的机器在训练结束前崩溃。

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

    《Scikit-Learn与TensorFlow机器学习实用指南》 第12章 设备和服务器上的分布式 TensorFlow

    在本节,我们将介绍如何设置您的环境,以便 TensorFlow 可以在一台机器上使用多个 GPU 卡。 然后,我们将看看如何在可用设备上进行分布操作,并且并行执行它们。...当我们创建一个会话时,TensorFlow 会记录一条消息,告诉我们它已经找到了一个 GPU 卡(在这个例子是 Grid K520 卡)。...服务器,您必须创建一个服务器对象,并向其传递集群规范(以便它可以与其他服务器通信)以及它自己的作业名称和任务编号。...., never) 开始一个会话 一旦所有任务启动并运行(但还什么都没做),您可以从位于任何机器上的任何进程(甚至是运行的进程)的客户机上的任何服务器上打开会话,并使用该会话像普通的本地会议一样。...ps_tasks的数量,您可以传递集群spec = cluster_spec,TensorFlow 将简单计算"ps"作业的任务数。

    1.1K10

    不再让CPU和总线拖后腿:Exafunction让GPU跑的更快!

    在这篇博文中,研究者们将展示如何在 TensorFlow 中直接通过 GPU 内存传递模型输入和输出以进行模型推理,完全绕过 PCIe 总线和 CPU 内存。...首先,用户必须从会话创建一个 tensorflow::CallableOptions 的实例,以指定哪些张量被传入和传出 GPU 内存而不是 CPU 内存。...::Session::CallableHandle 的实例,这个类封装了如何在 GPU 上运行带有输入和输出的 TensorFlow 图的方法。...创建和销毁可调用对象的代价比较大,所以最好只在模型初始化时创建和销毁可调用对象。另外,可调用的对象应该在会话本身被销毁之前被销毁。...TensorFlow CUDA stream 的输入必须与 TensorFlow 的流同步,而输出的使用对象必须在访问内存之前与 TensorFlow 的流同步。

    1.1K40

    TensorFlow入门:一篇机器学习教程

    在这个TensorFlow教程,您将学习如何在TensorFlow中使用简单而强大的机器学习方法,以及如何使用它的一些辅助库来调试,可视化和调整使用它创建的模型。...作为构造函数参数传递的初始值表示可作为张量转换或返回的张量或对象。...可以在使用TensorFlow库的过程构建计算图,而不必显式实例化Graph对象TensorFlow的Graph对象可以通过简单的代码行来创建c = tf.add(a, b)。...图形参数将从训练程序创建的会话对象传递。...会话(Session)封装了TensorFlow运行时的控制和状态。没有参数的会话将使用在当前会话创建的默认图形,否则会话类接受在该会话中使用的图形参数来执行。 什么是TensorBoard?

    4K10

    20分钟了解TensorFlow基础

    同时,我们会展示如何在你的系统上安装TensorFlow。...会话对象TensorFlow API的一部分,它在Python对象和我们的数据之间进行通信,以及为我们定义的对象分配内存的实际计算系统,存储中间变量,最后返回结果给我们。...这两行代码使用了我们的第一个TensorFlow操作:tf.constant()。在TensorFlow,任何在图中的计算节点称作一个操作(Operation)或者简写为Op。...tf.shape与任何其他操作一样,shape直到在会话执行时才会运行。 命名 张量对象可以用命名来标识,它是内部字符串。...现在定义了操作(y),可在会话运行。创建一个会话对象,然后只运行 y 变量。 请注意,这意味着如果定义了更大的操作图,也只能运行图的一小部分。

    88930

    高效的TensorFlow 2.0:应用最佳实践以及有什么变化

    自动替换为新方法的最简单方法是使用v2升级脚本。 Eager执行 TensorFlow 1.X要求用户调用tf. API手动将抽象语法树(图)拼接在一起。...然后,用户需要通过将一组输出张量和输入张量传递给 session.run()* 函数调用来手动编译抽象语法树。...相比之下,TensorFlow 2.0立即执行(就像Python通常做的那样),在tf 2.0,图形和会话感觉更像实现细节。...函数,而不是会话 session.run() 调用几乎就像一个函数调用:指定输入和要调用的函数,然后返回一组输出。...Keras层/模型继承自tf.train.Checkpointable并与@ tf.function集成,这使得直接获得检查点或从Keras对象导出SavedModel成为可能。

    85130

    深度学习框架TensorFlow 官方文档中文版

    基本使用 使用 TensorFlow, 你必须明白 TensorFlow: 使用图 (graph) 来表示计算任务. 在被称之为 会话 (Session) 的上下文 (context) 执行图....源 op 的输出被传递给其它 op 做运算. Python 库, op 构造器的返回值代表被构造出的 op 的输出, 这些返回值可以传递给其它 op 构造器作为输入....启动图的第一步是创建一个 Session 对象, 如果无任何创建参数, 会话构造器将启动默认图. 欲了解完整的会话 API, 请阅读Session 类. ?...在实现上, TensorFlow 将图形定义转换成分布式执行的操作, 以充分利用可用的计算资源( CPU 或 GPU)....这样可以避免使用一个变量来持有会话. ? Tensor TensorFlow 程序使用 tensor 数据结构来代表所有的数据, 计算图中, 操作间传递的数据都是 tensor.

    96530

    Tensorflow从入门到精通(二):附代码实战

    在计算图模型,操作间所传递的数据都可以看做是Tensor。那Tensor的结构到底是怎样的呢?我们可以通过程序1-1更深入的了解一下Tensor。...首先,我们要知道一定要用和保存变量相同的Saver对象来恢复变量。其次,不需要事先对变量进行初始化。...此外,还有一些与变量相关的重要函数,:eval()等。 认识了常量和变量,Tensorflow还有一个非常重要的常用函数——placeholder。...这也是placeholder不同于常量的地方,它不可以直接拿来使用,而是需要用户传递常数值。 最后,Tensorflow还有一个重要的概念——fetch。...Fetch的含义是指可以在一个会话同时运行多个op。这就方便我们在实际的建模过程,输出一些中间的op,取回多个tensor。

    1.1K70

    TensorFlow基础知识

    1 综述 TensorFlow的编程系统: 使用张量(tensor)来表示数据 使用图(graph)来表示计算任务。 图中的节点被称之为 op (operation 的缩写)....使用会话(Session)的上下文(context)执行图 通过变量(Variable)维护状态 使用 feed 和 fetch 赋值和获取数据. 2 张量(Tensor) 张量就是多维数组(列表)...3 会话 会话(Session):执行计算图中的节点运算。...当你创建一个Saver对象时,你可以选择性地为检查点文件的变量定义变量名。默认情况下,将使用每个变量Variable.name属性的值。...TensorFlow 还提供了 feed 机制, 该机制 可以临时替代图中的任意操作的 tensor 可以对图中任何操作提交补丁, 直接插入一个tensor. feed 使用一个 tensor 值临时替换一个操作的输出结果

    74440

    校园视频AI分析识别算法 TensorFlow

    目前谷歌已把TensorFlow应用到很多内部项目,谷歌语音识别,GMail,谷歌图片搜索等。...接下来描述校园视频AI分析识别算法训练过程具体实际操作过程的一些技术细节注意的地方:第一步创建一个session对象.如果无任何创建参数,会话构造器将启动默认图.sess = tf....)' 触发了图中三个 op (两个常量 op 和一个矩阵乘法 op) 的执行.整个执行过程是自动的,会话负责传递 op 所需的全部输入. op 通常是并发执行的.可以指定设备with tf.device...会话.import tensorflow as tfsess = tf....)使用tf.merge_all_summaries将节点的信息汇总合并,它会依据特点步骤将所有数据生成一个序列化的 Summary protobuf对象将汇总的protobuf对象传递给tf.train.Summarywriter.SummaryWriter

    26710

    教程 | 如何使用TensorFlow API构建视频物体识别系统

    该 API 的第一个版本包含: 一个可训练性检测模型的集合,包括: 带有 MobileNets 的 SSD(Single Shot Multibox Detector) 带有 Inception V2...在 TensorFlow API 的 GitHub ,已经有经过 COCO 数据集训练过的可用模型了。COCO 数据集包含 30 万张图片,90 中常见事物类别。其中的类别包括: ?...Inception Resnet v2 的 Faster RCNN: ?...protobuf),将其载入内存,链接:https://developers.google.com/protocol-buffers/ 使用内建帮助代码来载入标签、分类、可视化工具等内容 打开一个新的会话并在一个图像上运行模型...主要步骤如下: 使用 VideoFileClip 函数从视频抓取图片。 fl_image 函数非常好用,可以用来将原图片替换为修改后的图片,我把它用于传递物体识别的每张抓取图片。

    1.5K50

    tf.summary

    ,最常用的可视化方法有三种途径,分别为TensorFlow与OpenCv的混合编程、利用Matpltlib进行可视化、利用TensorFlow自带的可视化工具TensorBoard进行可视化。...如果你将图形传递给构造函数,它将被添加到事件文件。(这相当于稍后调用add_graph())。...graph: 图形对象sess.graph。max_queue: 整数。等待事件和摘要的队列大小。flush_secs: 号码。将挂起的事件和摘要刷新到磁盘的频率(以秒为单位)。...大多数用户在构造函数传递一个图。参数:graph: 图形对象ses .graph。global_step: 号码。可选的全局步骤计数器,以记录与图形。graph_def: 弃用。...此方法将提供的摘要封装在事件协议缓冲区,并将其添加到事件文件。你可以使用tf.Session.run或tf.张量来传递计算任何总结op的结果。对这个函数求eval。

    2.5K61

    tf.train

    class MonitoredSession: 类会话对象,用于处理初始化、恢复和挂钩。...在tensorflow,在训练过程更改学习率主要有两种方式,第一个是学习率指数衰减,第二个就是迭代次数在某一范围指定一个学习率。...它需要启动图表的会话。要保存的变量也必须已初始化。该方法返回新创建的检查点文件的路径前缀。这个字符串可以直接传递给restore()调用。参数:sess:用于保存变量的会话。...此方法需要启动图形的会话。它创建一个线程列表,可以选择启动它们。enqueue_ops传递的每个op都有一个线程。coord参数是一个可选的协调器,线程将使用它一起终止并报告异常。...如果先前为给定会话创建的线程仍在运行,则不会创建任何新线程。参数:sess:一个会话。coord:可选的协调器对象,用于报告错误和检查停止条件。daemon:布尔。如果为真,让线程守护进程线程。

    3.6K40

    机器学习(1) - TensorflowSharp 简单使用与KNN识别MNIST流程

    然后,在下载的压缩包的\lib中找到tensorflow.dll,将它改名为libtensorflow.dll,并在你的工程引用它。 这样一来,环境初始化就完成了。 3....TensorflowSharp的概念 TensorflowSharp / Tensorflow中最重要的几个概念: 图(Graph):它包含了一个计算任务的所有变量和计算方式。...不过,Tensorflow的图和常规的表达式还有所不同,Tensorflow的节点变量是可以被递归的更新的。...会话(Session):为了获得图的计算结果,图必须在会话中被启动。图是会话类型的一个成员,会话类型还包括一个runner,负责执行这张图。会话的主要任务是在图运算时分配CPU或GPU。...Runner:在建立图之后,必须使用会话的Runner来运行图,才能得到结果。在运行图时,需要为所有的变量和占位符赋值,否则就会报错。 4.

    73030

    浏览器的机器学习:使用预训练模型

    在本文,我们将探索如何在TensorFlow.js中加载预训练的机器学习模型,完成图片分类任务。...MobileNets是一种小型、低延迟、低耗能模型,满足各种资源受限的使用场景,可用于分类、检测、嵌入和分割,功能上类似于其他流行的大型模型(Inception)。...1表示MobileNet V1,2表示使用MobileNet V2。默认值为1。 alpha:较小的alpha会降低精度,但会提高性能。默认值为1.0。...这个示例写的比较简单,从浏览器控制台输出log,显示结果,在chrome浏览器可以打开开发者工具查看: 加载json格式的MobileNets模型 使用封装好的JS对象确实方便,但使用自己训练的模型时...参考文献: tensorflow官网 你还可以读 一步步提高手写数字的识别率(1)(2)(3) TensorFlow.js简介 浏览器的手写数字识别

    1.2K20

    Keras正式从TensorFlow分离:效率大幅提升

    tf.keras 正是在 TensorFlow v1.10.0 引入的,这是将 Keras 直接集成到 TensorFlow的第一步。...变更之后,当前 TensorFlow 代码库的 Keras 部分将很快被删除。这意味着: 1....任何在先前代码库未解决的 Keras 相关活跃问题将在现有的 ticket 线程处理,并将通过提交到新代码库进行修复; 4. 与原代码库相关的陈旧问题将被关闭。...如果更改很小,文档修复简单的 bug 修复,则只需打开 PR 无需讨论。 与个人用户不同,企业用户提交的贡献需要遵守《谷歌软件授权与企业贡献者许可协议》。...的基本用法和核心概念,并通过变分自编码器(Variational Autoencoder)和超网络(Hypernetwork)这两个完整的例子展示了如何在实践中使用 Keras。

    1.3K20
    领券