TensorFlow是机器学习和深度学习的最受欢迎的工具之一。它被许多大型科技公司使用,如Twitter、Uber和谷歌。TensorFlow.js是一个JavaScript库,用于在浏览器中训练和部署机器学习模型。TensorFlow.js被设计为提供与传统TensorFlow相同的特性和功能,但为JavaScript生态系统。
今天,我们将深入了解TensorFlow,并讨论其优点、特点、模型等。在文章的最后,我们将对Layers API进行演练,这是用TensorFlow.js创建机器学习模型的两种方法之一。让我们开始吧!
什么是TensorFlow?
TensorFlow是一个开源的 机器学习平台。它是由谷歌的深度学习人工智能研究团队于2015年创建的。TensorFlow有一个广泛的环境,包括许多不同的工具、库和用户资源。
TensorFlow使用机器学习和深度学习算法。它使用Python作为可访问的前端API,在框架内构建应用程序,然后在C++中执行这些应用程序。通过TensorFlow,我们可以为许多不同的目的训练和运行深度神经网络,如图像分类、自然语言处理等。
众所周知,TensorFlow有一套直观的、易于学习的API。他们的目标是让你轻松学习和实现机器学习、深度学习和科学计算。2019年,他们发布了TensorFlow 2.0,增强了该平台,使其更容易操作,更有效率。他们的一个大变化是使用Keras API进行模型训练。
通过TensorFlow,我们可以创建数据流图。我们在图中看到的每个节点都代表一个数学运算,而节点之间的每条边被称为张量。一个张量是一个多维数组。
TensorFlow有很多好处,例如:
-
可移植性:TensorFlow使我们能够轻松地训练和部署我们的模型,无论我们使用什么语言或平台。
-
强大的功能:通过TensorFlow,我们可以使用Keras Functional API和Model Subclassing API等功能创建复杂的拓扑结构。
-
调试:我们可以使用急迫执行来进行快速和直观的调试。
-
社区:TensorFlow有一个庞大而活跃的社区。
-
抽象:TensorFlow有多个抽象层次,所以我们可以根据我们的需要选择合适的抽象层次。
什么是TensorFlow.js?
TensorFlow.js(TFJS)是一个开源的机器学习库,我们可以在任何运行JavaScript的地方运行。它支持WebGL,它是OpenGL的浏览器接口。OpenGL是一个用于渲染2D和3D矢量图的API。TensorFlow.js的目标是重新创建传统的TensorFlow的体验,但为JavaScript生态系统。
TFJS允许JavaScript代码在GPU上执行。它允许我们建立深度神经网络,我们可以很容易地集成到新的或现有的网络应用中,并在很大程度上基于Keras的API。
我们可以在以下平台上使用TensorFlow.js:
-
在Web浏览器中使用JavaScript的客户端
-
服务器端和使用Node.js的物联网工具
-
使用Electron的桌面和Web应用程序
-
使用React Native的本地移动应用程序
TensorFlow.js模型
TensorFlow.js提供了预训练的、开箱即用的机器学习模型,我们可以在我们的项目中使用。这些训练好的模型和用例中的一些包括:
-
图像分类
-
对象检测
-
身体分割
-
语音命令识别
-
简单的人脸检测
-
转移学习
-
以及更多
利用这些模型,JavaScript开发人员已经建立了很多非常酷的演示,例如:
-
YouTube的LipSync:这个演示使用Facemesh模型对你的对口型准确性进行评分。
-
Emoji Scavenger Hunt:在这个演示中,你用手机的摄像头在现实世界中寻找表情符号。
-
摄像头控制器:在这个演示中,你用浏览器中训练的图像玩吃豆人。
如果你想查看这些现有模型的代码,你可以访问tensorflow/tfjs-models GitHub资源库,深入了解!要查看演示的代码,你可以访问GitHub上的tensorflow/tfjs-examples 。
继续学习
学习基本的机器学习技术,不需要翻阅视频或文档。Educative基于文本的学习路径易于浏览,并具有实时编码环境,使学习快速而高效。
安装TensorFlow.js
在浏览器中安装TensorFlow.js的两种最常见的方式包括:
-
用npm安装
-
用脚本标签安装
如果我们想用npm安装,我们可以使用npm cli或yarn。
npm cli安装
npm install @tensorflow/tfjs
yarn add @tensorflow/tfjs
如果我们想使用脚本标签进行安装,我们可以在我们的主HTML文件中添加以下标签:
<script src="https://cdn.jsdelivr.net/npm/@tensorflow/tfjs@2.0.0/dist/tf.min.js"></script>
用Layers API创建一个ML模型
在TensorFlow.js中,有两种方法可以创建一个机器学习模型。我们可以使用更高层次的Layers API来建立一个使用层的模型,或者我们可以使用Core API的低级操作。今天,我们要仔细研究一下Layers API。
使用Layers API,我们可以创建一个顺序模型或一个功能模型。顺序模型是最常见的模型类型。我们可以通过使用const ,将一个层列表传递给sequential() 函数来创建一个。让我们来看看:
const model = tf.sequential({
indent layers: [
double indent tf.layers.dense({inputShape: [692], units: 35, activation: 'relu'}),
double indent tf.layers.dense({units: 15, activation: 'softmax'}),
indent ]
});
注意:当提供
inputShape,省去了批处理的大小。作为一个例子,假设我们计划给我们的模型提供形状为[X, 692]的张量,其中X是任何批次大小。我们会在制作模型时将我们的inputShape指定为[692]。
总结和下一步工作
恭喜你迈出了使用TensorFlow.js的第一步!它是一个伟大的工具,可以添加到你的机器学习工作流程中。有了TensorFlow,在浏览器中训练和部署机器学习和[深度学习模型很容易。机器学习是一个广阔的领域,还有很多东西需要学习。接下来推荐的一些概念包括:
-
用数据集进行图像处理
-
用TensorFlow构建高级数据管道
-
在Pandas和Numpy中分析和处理数据