什么是TensorFlow?

从零开始的TensorFlow入门指南:构建第一个模型并可视化训练过程 当谈到深度学习框架时,TensorFlow是最流行的之一。它是一个由Google开发的开源框架,被广泛应用于图像识别、语音识别、自然语言处理和强化学习等领域。本篇文章将介绍TensorFlow的基本概念和入门步骤,帮助初学者快速掌握TensorFlow。 一、TensorFlow基础概念TensorFlow是一个用于构建和训练机器学习模型的框架。它主要包括以下几个核心概念:张量(Tensor):张量是TensorFlow中的基本数据类型,可以看作是一个n维数组。例如,标量是一个零维张量,向量是一维张量,矩阵 阅读详情

前言

只有光头才能变强。

文本已收录至我的GitHub仓库,欢迎Star:https://github.com/ZhongFuCheng3y/3y

回顾前面:

TensorFlow是什么意思?Tensor?Flow?这篇文章介绍TensorFlow一些最基础的知识。

一、Tensor介绍

在介绍之前,首先要记住一个结论:TensorFlow使用Tensor来表示数据

接着我们来看看什么是Tensor,在官网的文档中,Tensor被翻译成”张量“。其中也给出了一个定义:

张量是对矢量和矩阵向潜在的更高维度的泛化,TensorFlow 在内部将张量表示为基本数据类型的n维数组。

不知道你们看完这句话有啥感受,反正我当时就看不懂,啥是”张量“?。于是,我就跑去知乎里边用关键字搜了一下:”张量是什么“。果真给我搜到了相关的问题:《怎么通俗地理解张量?》

我本以为通过知乎,就可以通俗易懂地理解什么是张量,能给我一个清晰的认识。殊不知,大多数答主都在回答在物理和数学中张量的定义,随后贴出了一堆我看不懂的公式。其中,也看到了一种相对通俗易懂的定义:

一个量, 在不同的参考系下按照某种特定的法则进行变换, 就是张量.

把所有答主的回答都阅读了一遍,看完就更加抽象了。再回到官方文档中,看看官方介绍张量的例子,貌似有点懂了。

目前为止我们有两个结论:

  • TensorFlow使用Tensor来表示数据
  • TensorFlow 在内部将张量表示为基本数据类型的n维数组

我再翻译一下上面的两句话:在TensorFlow所有的数据都是一个n维的数组,只是我们给它起了个名字叫做张量(Tensor)

中间折腾了一大堆,实际上还是将最开头的结论和官方的定义再翻译成自己觉得好理解的话…但很多时候,学习就这么一个过程。

1.1Tensor的基础

从上面我们已经得知,Tensor(张量)实际上就是一个n维的数组。这就延伸了几个的术语:

  • 阶(秩)
  • 形状
1.1.1阶(秩)

其实上,阶就是平时我们所说的维数。

  • 比如我们有一个二维的数组,那么这个阶就是2
  • 比如我们有一个三维的数组,那么这个阶就是3

以前在写Java的时候,可能一般接触到的都是二维的,但在机器学习上就很可能有很高的维度,那维数我们怎么数?很简单,我们数括号就行了。举个例子,我们可能会看到有下面的一个数组输出形式:

[[[9 6]
  [6 9]
  [8 8]
  [7 9]]
 [[6 1]
  [3 5]
  [1 7]
  [9 4]]]

我们直接看第一个括号到第一个数字,有多少个括号就知道了。[[[9可以发现有3个括号,那这个就是一个三维的数组,它的阶(秩)就是3

1.1.2形状

张量的形状可以让我们看到每个维度中元素的数量。

比如我们在Java中创建出一个二维的数组:int [][] array = new int[3][4],我们就可以知道这个数组有三行有四列。但如果我们创建出一个多维的数组,单单只用行和列就描述不清了。所以,在TensorFlow一般我们会这样描述:

  • 在维度一上元素的个数有3个,在维度二上元素的个数有4个。
  • 其实说到底还是一个意思,但只是说法变了而已。

如果我们要打印上面数组的形状时,我们可以得到这样的结果:shape = (3,4)。我们再看看第一篇写”机器学习HelloWorld“的时候,再来看看当时打印的结果:shape = (60000, 28, 28)。通过shape我们就可以得到一些信息:

  • 当前数组是三维的
  • 在第一维中有60000个元素
  • 在第二维中有28个元素
  • 在第三维中有28个元素

那我们如果拿到一个数组,怎么通过肉眼看他的shape呢?

比如说:m = [[1, 2, 3], [4, 5, 6], [7, 8, 9]],这个很简单,一眼就可以看出这个是一个二维数组(矩阵),有三行三列。所以shape的结果应该是(3,3)

再来看一个:t = [[[2], [4], [6]], [[8], [10], [12]], [[14], [16], [18]]],从多个括号上我们可以看出,这是三维的。我们先把最外层括号去掉得到的结果是[[2], [4], [6]], [[8], [10], [12]], [[14], [16], [18]]

Ok,到这一步,我们可以理解成有三个子数组,于是我们的shape可以先写成shape(3,?,?)

  • 我们从括号上判断一定是三维的,所以肯定是(?,?,?)的。从“子数组”的个数我们将第一个“?”号填充为3

随后,我们继续把外层的括号去除,得到这样的结果:[2], [4], [6],也是有三个元素,于是我们的shape就可以填成shape(3,3,?)

最后,再把括号去掉,我们可以发现只有一个元素,于是最后的结果就是shape(3,3,1)

我们可以看下图来巩固一下上面所说的概念:

例子

1.1.3 Tensor数据类型

TensorFlow 在内部将张量表示为基本数据类型的 n维数组,没错的。在一个数组里边,我们总得知道我们的存进去的数据究竟是什么类型。

  • 我们可以将任意数据结构序列化为 string 并将其存储在 tf.Tensor 中。通过 tf.cast可以将 tf.Tensor 从一种数据类型转型为另一种。

Tensor的数据类型如下所示:

Tenor的数据类型

二、特殊的张量

特殊的张量由一下几种:

这次,我们先来讲讲前三种(比较好理解),分别是变量、常量和占位符。

2.1 常量

常量就是常量的意思,一经创建就不会被改变。(相信大家还是能够理解的)

在TensorFlow中,创建常量的方式十分简单:

a = tf.constant(2)
b = tf.constant(3)

2.2变量

变量也挺好理解的(就将编程语言的概念跟这里类比就好了)。一般来说,我们在训练过程中的参数一般用变量进行存储起来,因为我们的参数会不停的变化。

在TensorFlow创建变量有两种方式:


# 1.使用Variable类来创建
# tf.random_normal 方法返回形状为(1,4)的张量。它的4个元素符合均值为100、标准差为0.35的正态分布。
W = tf.Variable(initial_value=tf.random_normal(shape=(1, 4), mean=100, stddev=0.35), name="W")
b = tf.Variable(tf.zeros([4]), name="b")

# 2.使用get_variable的方式来创建
my_int_variable = tf.get_variable("my_int_variable", [1, 2, 3], dtype=tf.int32,
  initializer=tf.zeros_initializer)

值得注意的是:当我们创建完变量以后,我们每次使用之前,都需要为其进行初始化!

tf.global_variables_initializer()

2.3占位符

我最早接触占位符这个概念的时候是在JDBC的时候。因为SQL需要传入的参数才能确定下来,所以我们可能会写出这样的SQL语句:select * from user where id =?

同样地,在TensorFlow占位符也是这么一个概念,可能需要等到运行的时候才把某些变量确定下来,于是我们就有了占位符。

在TensorFlow使用占位符也很简单:

# 文件名需要等到运行的时候才确定下来
train_filenames = tf.placeholder(tf.string, shape=[None])

#  ..省略一堆细节
# 运行的时候,通过feed_dict将占位符具体的值给确定下来
feed_dict={train_filenames: training_filenames}

上面的东西说白了在编程语言中都是有的,只是语法变了而已。

三、Flow?介绍图和节点

我们将Flow翻译成中文:流,所以现在是Tensor流?

其实,在TensorFlow中,使用图 (graph) 来表示计算任务。其实TensorFlow默认会给我们一张空白的图,一般我们会叫这个为”数据流图“。数据流图由有向边和节点组成,在使用TensorFlow的时候我们会在图中创建各种的节点,而Tensor会在这些节点中流通。所以,就叫做TensorFlow

那有人就会好奇,我们执行什么操作会创建节点呢?在TensorFlow中,节点的类型可以分为三种:

  • 存储节点:有状态的变量操作,通常用于存储模型参数
  • 计算节点:无状态的计算和控制操作,主要负责算法的逻辑或流程的控制
  • 数据节点:数据的占位符操作,用于描述图外输入的数据

看到这里的同学,可能就反应过来了:原来在上面创建的变量、常量和占位符在TensorFlow中都会生成一个节点!对于这类的操作Operation(行为)一般大家会简说成op

所以,op就是在TensorFlow中所执行的一个操作统称而已(有可能是创建变量的操作、也有可能是计算的操作)。在TensorFlow的常见的op有以下:

Tensorflow常见的op

其实说白了就是TensorFlow会给我们一张空白的数据流图,我们往这张数据流图填充(创建节点),从而实现想要效果。

  • 开局一张图,内容全靠编!

数据流图的组成

我们来看看官方的给出数据流图的gif,加深下印象。

  • TensorFlow使用数据流图来表示计算任务
  • TensorFlow使用Tensor来表示数据,Tensor在数据流图中流动。
  • 在TensorFlow中”创建节点、运算“等行为统称为op

数据流图

四、啥是session?

TensorFlow程序通常被组织成一个构建阶段和执行阶段. 在构建阶段, op的执行步骤被描述成一个图. 在执行阶段, 使用会话执行执行图中的op。

  • 注意:因为是有向边,所以只有等到之前的入度节点们的计算状态完成后,当前节点才能执行操作。

说白了,就是当我们在编写代码的时候,实际上就是在将TensorFlow给我们的空白图描述成一张我们想要的图。但我们想要运行出图的结果,那就必须通过session来执行。

举个小例子:

import tensorflow as tf
# 创建数据流图:y = W * x + b,其中W和b为存储节点,x为数据节点。
x = tf.placeholder(tf.float32)
W = tf.Variable(1.0)
b = tf.Variable(1.0)
y = W * x + b

# =========如果不使用session来运行,那上面的代码只是一张图。我们通过session运行这张图,得到想要的结果
with tf.Session() as sess:
    tf.global_variables_initializer().run() # Operation.run
    fetch = y.eval(feed_dict={x: 3.0})      # Tensor.eval
    print(fetch)   # fetch = 1.0 * 3.0 + 1.0

4.1 Fetch是啥?

Fetch就时候可以在session.run的时候传入多个op(tensor),然后返回多个tensor(如果只传入一个tensor的话,那就是返回一个tensor)

4.2tensor.eval()和Operation.run()

有的同学在查阅资料的时候,发现可能调用的不是session.run,而是tensor.eval()和Operation.run()。其实,他们最后的调用的还是session.run。不同的是session.run可以一次返回多个tensor(通过Fetch)。

最后实际还是掉session.run

最后

曾经看到一段话总结得不错:

  • 使用 tensor 表示数据.
  • 使用图 (graph) 来表示计算任务.
  • 在会话(session)中运行图
  • 通过 变量 (Variable) 维护状态.

TensorFlow 是一个编程系统, 使用图来表示计算任务. 图中的节点被称之为 op (operation 的缩写). 一个 op 获得 0 个或多个 Tensor, 执行计算, 产生 0 个或多个 Tensor. 每个 Tensor 是一个类型化的多维数组.

这篇文章简单讲了TensorFlow是啥意思以及一些基础的概念。但我也只是简单以我的理解方式来说了一些常见概念。里头的知识点还是比较多的(比如创建变量的时候一般我们会指定哪些参数….),这些就交由大家去官网、博客、书籍去学习了。

我相信,只要了解了这些概念,那学习一定可以事半功倍!

下一篇TensorFlow文章敬请期待~

参考资料:

乐于输出干货的Java技术公众号:Java3y。公众号内有200多篇原创技术文章、海量视频资源、精美脑图,不妨来关注一下!

帅的人都关注了

觉得我的文章写得不错,不妨点一下赞!

TensorFlow 基本概念与使用场景 TensorFlow是一个开源的深度学习框架,由 Google Brain 团队开发和维护。它用于构建和训练机器学习模型,尤其是深度神经网络。TensorFlow 支持多种平台,包括桌面、移动设备、Web 和云端,并且具有良好的可扩展性,可以在不同的硬件上运行,如 CPU、GPU,甚至 TPU(Tensor Processing Unit,Google 定制的硬件加速器)。TensorFlow 的核心概念是张量(Tensor),它是表示数据的基本单位。 阅读详情

相关推荐

安装 TensorFlow

之前一直安装不成功TensorFlow,即使安装了,也无法在jupyter notebook使用,为了方便自己下一次,就写一个记录。一下就是GPT的回答,目测有用。

Qovkzing的博客 2625

从零开始学TensorFlow【什么是TensorFlow?】

前言只有光头才能变强。文本已收录至我的GitHub仓库,欢迎Star:https://github.com/ZhongFuCheng3y/3yTensorFlow是什么意...

3y 1092

【Python】TensorFlow

当我们谈论 TensorFlow 时,如果仅仅将其理解为一个 Python “库”,那就极大地低估了它的内涵和外延。TensorFlow 并非一个孤立的工具,而是一个庞大、完整且不断演进的开源端到端机器学习平台与生态系统。它的核心使命是让研究人员能够将最前沿的机器学习理念付诸实践,并让开发者能够轻松地将这些成果部署到现实世界的应用中。核心设计哲学:计算即数据流图 (Computation as Dataflow Graphs)要理解 TensorFlow 的设计精髓,必须回到它的根源——数据流图。尽管 Te

宅男很神经 1391

TensorFlow什么意思?TensorFlow是什么?

对于jetty你都了解吗?那么jetty究竟是什么东西?它是什么意思?下面就让我们一起通过下面的文章来了解一下jetty吧。 jetty是什么? 其实,jetty就是一个开源的servlet容器。 jetty为基于java的web容器,例JSP和servlet提供运行环境。 jetty是用java语言编写的,它的API以一组JAR包的形式发布。 开发者可以将Jetty容器实例化成一个对象,这样能够为一些独立运行的java应用提供网络和web连接。 对于jetty你都了解了吧!那么下面就继续来一起

gp16674213804的博客 5122

Tensorflow常用函数汇总_tensorflow函数

操作描述返回一个用于寄存op类型的梯度函数的装饰器设置操作节点类型op_type的节点没有指定的梯度返回一个用于寄存op类型的shape函数的装饰器表示tensor的shape与other合并shape信息,返回一个TensorShape类与other的维度相连结返回tensor的rank返回tensor的维度以list的形式返回tensor的shape判断shape是否为兼容TensorShape(None)与其他任何shape值兼容判断dims是否为兼容。

2401_86372166的博客 1718

【TensorFlow】学习笔记-TensorFlow 是什么?

(张量)是多维数组的抽象表示,可以存储数据,是TensorFlow的基本计算单位,支持标量(0D张量),向量(1D张量),矩阵(2D张量),高维矩阵(3D张量)。:用于机器学习环境的工具库,涵盖数据验证,数据转换,模型部署等方面,可以帮助用户完成数据预处理到模型部署的整个流程。:基础核心功能,包括了计算图的定义和优化,Tensor数据类型的处理,如加,减,矩阵乘法,自动求导等。:TensorFlow提供一系列对张量操作的函数,例如加法,矩阵乘法,卷积等。:张量维度的大小,(3,2)表示3行2列。

小陈的博客,持续学习中-- 635

TensorFlow是什么(转)

TensorFlow 是一个开源的、基于 Python 的机器学习框架,它由 Google 开发,并在图形分类、音频处理、推荐系统和自然语言处理等场景下有着丰富的应用,是目前最热门的机器学习框架。 除了 Python,TensorFlow 也提供了 C/C++、Java、Go、R 等其它编程语言的接口。 任何曾经试图在Python中只利用 NumPy 编写神经网络代码的人都知道那是多么麻烦。编写一个简单的一层前馈网络的代码尚且需要 40 多行代码,当增加层数时,编写代码将会更加困难,执行时间也会更长..

qq_42731532的博客 9518

IEEE Access投稿全流程:从LaTeX模板到Overleaf实战(附避坑指南)

本文详细解析了向IEEE Access期刊投稿的完整流程,重点介绍了如何使用LaTeX模板在Overleaf平台上高效撰写和格式化论文。内容涵盖模板选择、作者信息填写、公式图表排版、参考文献管理(BibTeX)以及投稿前的最终检查清单,旨在帮助研究者,尤其是LaTeX新手,规避常见技术问题,顺利完成符合期刊严格要求的稿件提交。

open4的博客 576

WSL2配置tensorflow GPU环境

自tensorflow2.10版本后已不再支持windows本机环境了,而 Windows 10 19044 或更高版本上的 WSL2 支持具有 GPU 访问权限的 TensorFlow。这对应于 Windows 10 版本 21H2,即 2021 年 11 月的更新。所以你要是想用新一点的版本又想用GPU训练的话那就只能在WSL2里面装了。

m0_74274799的博客 6026

鸿蒙之HML语法参考

HML(HarmonyOS Markup Language)是一套类HTML的标记语言,通过组件,事件构建出页面的内容。页面具备数据绑定、事件绑定、条件渲染和逻辑控制等高级能力。

2401_82772199的博客 1649

Netapp FAS2750热备盘替换失败问题分析与解决

本文深入分析了Netapp FAS2750存储系统中热备盘替换失败的故障现象,揭示了磁盘分区属主不匹配导致数据同步无法启动的根本原因。通过详细的排查步骤和解决方案,帮助运维人员快速恢复aggr状态,并提供了长期预防措施和最佳实践建议,确保存储系统的高可用性。

weixin_33737774的博客 399

tensorflow的详细安装

**tensorflow的详细安装** 1.打开清华开源镜像网站下载Anaconda,https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/ ,我下载的是Anaconda3-5.2.0-Windows-x86_64.exe,它对应的Python版本是3.6.5。 (Anaconda是Python的升级版,因此不需要另外下载Python,但是tensorflow的版本需要和Python的版本相对应,经过查阅资料,得知目前3.6.x的pytho...

每天进步一点点,不要逃避 2万+

基于ROS2的无人机野生动物巡查系统设计

自主巡检系统是嵌入式人工智能与机器人技术融合的关键应用方向,其核心在于多源感知融合、实时路径规划与端侧智能识别的协同实现。原理上依赖SLAM定位构建环境地图,结合栅格化建模与混合路径算法(如蚁群+BFS)达成全覆盖遍历;技术价值体现在资源受限平台下的确定性响应与时空对齐能力,支撑高鲁棒性野外作业。典型应用场景包括生态监测、禁飞区巡检及小尺度智能安防。本文围绕ROS2 Humble中间件架构、Livox激光雷达与MaixCAM视觉协同、YOLO11n INT8模型端侧部署等关键技术展开,突出嵌入式AI与实时控

weixin_30598047的博客 649

React Native TensorFlow 使用教程

React Native TensorFlow 使用教程 项目介绍 React Native TensorFlow 是一个开源项目,旨在将 TensorFlow 深度学习框架集成到 React Native 移动应用开发中。通过这个项目,开发者可以在不离开 React Native 环境的情况下,利用 TensorFlow 进行机器学习模型的训练和推理。 项目快速启动 安装依赖 首先,确保你已经安...

gitblog_00639的博客 739

从零开始STM32cubeide学习

使用的是正点原子的精英版,单片机是STM32F103ZET6,详细讲解完成跑马灯实验

weixin_44077208的博客 2280

C++,使用Qt设计一个登录窗口

使用Qt设计一个登录界面

heyu0311的博客 2991

Tensorflow2

张量是具有统一类型(称为dtype)的多维数组。就像 Python 数值和字符串一样,所有张量都是不可变的:永远无法更新张量的内容,只能创建新的张量。# 下面是一个“标量”(或称“0 秩”张量), 标量包含单个值,但没有“轴”# “向量”(或称“1 秩”张量)就像一个值的列表。向量有 1 个轴# “矩阵”(或称“2 秩”张量)有 2 个轴[3, 4],# 张量的轴可能更多,下面是一个包含 3 个轴的张量#值全为0的张量#值全为1的张量#ones_like#随机正态分布数据。

qq_53171460的博客 2004

[Dify] -进阶13- 使用“知识库 + 工作流”打造智能推荐系统

本文介绍了在Dify平台上构建智能推荐系统的方法,重点阐述了知识库与工作流技术的结合应用。通过知识库管理RAG流程,实现文档上传、向量嵌入和检索优化;利用工作流设计节点化推荐逻辑,支持并行处理与条件分支。以电话销售话术推荐为例,展示了从数据收集到实时生成的完整流程。该方法具有准确性高、扩展性强、维护简便等优势,可广泛应用于各类推荐场景,实现从数据存储到智能推荐的闭环解决方案。

技术小甜甜:传播可落地技术,帮助个人和企业降低解决真实场景问题的成本 1067

TensorFlow C++ API版本管理:如何选择和切换不同TensorFlow版本

TensorFlow C++ API版本管理是机器学习开发中的关键环节,特别是当您需要在不同项目中使用不同TensorFlow版本时。tensorflow_cc项目为您提供了完整的TensorFlow C++ API构建和安装解决方案,让您能够轻松管理和切换不同版本的TensorFlow库。😊 ## 为什么需要TensorFlow版本管理? 在机器学习开发中,不同项目可能依赖不同版本的Ten

gitblog_00445的博客 953

EndNote X9 参考文献附录列表 格式调整

EndNote X9 插入参考文献常见问题总结

程序员,他们想的是什么?他们想的永远都是技术,他们崇尚的也永远都是技术。 2570

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

C++ 调用tensorflow

1.安装protobuf 3.6 # 安装依赖软件 sudo apt-get install autoconf automake libtool curl make g++ unzip # 克隆版本为3.6.0的protobuf源码 git clone -b v3.6.0 https://github.com/protocolbuffers/protobuf.git # 下载 protobuf...

koibiki的博客 4745

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

Tensorflow1.x与Tensorflow2.0的区别

来源:斯坦福大学cs231n Historical background on TensorFlow 1.x TF1.x的历史背景 TensorFlow 1.x is primarily a framework for working with static computational graphs. Nodes in the computational graph are Tensors whi...

qq_44776899的博客 3万+

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

TensorFlow1和TensorFlow2介绍

上图中是一个SGD的训练图,从下往上看,先输入数据,然后对这个数据标记和整理形状,在对数据进行一系列的数学操作,然后计算损失和更新参数。(1)构建一个计算图。图中的节点可以是TensorFlow支持的任何数学操作。(2)初始化变量。将前期定义的变量赋初值。(3)创建一个会话。这才是图计算开始的地方,也是体现它“惰性”的地方,也就是说,仅仅构建一个图,这些图不会自动执行计算操作,而是还要显式提交到一个会话去执行,也就是说,它的执行,是滞后的。(4)在会话中运行图的计算。

m0_73426548的博客 1279

tensorflow2.0 与tensorflow1.0的性能区别

从某种意义讲,tensorflow这个项目已经失败了,要不了几年以后,江湖上再无tensorflow 因为tensorflow2.0 和tensorflow1.0 从本质上讲就是两个项目,1.0的静态图有他的优势,比如性能方面,但是debug不方便,2.0的动态图就是在模仿pytorch,但是画虎不成反类犬. 为了对比1.0 与2.0 pip install tensorflow==2.0.0...

luoganttcc的博客 2万+

CANN/ge TensorFlow模型解析接口

<a name="table38301303189"></a> <table><thead align="left"><tr id="row20831180131817"><th class="cellrowborder" valign="top" width="57.99999999999999%" id="mcps1.1.3.1.1"><p id="p1883113061818"><a nam

gitblog_00467的博客 696

从Python到Node.js:如何用TensorFlow导出GraphDef并无缝交给node-tensorflow消费

**node-tensorflow** 是一个让 Node.js 直接消费 TensorFlow 模型的开源模块:你在 Python 里构建和训练模型,导出 GraphDef 文件,Node.js 端只需几行代码即可完成推理部署——无需在服务器安装 Python。本文用"三步走"带你走完 **TensorFlow 导出 GraphDef → Node.js 加载执行** 的完整链路,新手也能快速上

gitblog_01121的博客 960
上一篇: 为什么有些网站域名不以www开头?什么是二级域名?
下一篇: HTTP常见面试题(修订版)
Java3y
Java3y 领域专家: 后端开发技术领域 领域专家: 后端开发技术领域
博客等级 码龄9年 1万+粉丝 509原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值