官术网_书友最值得收藏!

2.6 擴(kuò)展:使用tensorflow.js進(jìn)行機(jī)器學(xué)習(xí)

tensorflow.js是一個(gè)機(jī)器學(xué)習(xí)的前端框架,Google也在GitHub開源了相關(guān)代碼。GitHub地址:https://github.com/tensorflow/tfjs。在實(shí)現(xiàn)方面,TensorFlow團(tuán)隊(duì)使用了WebGL庫(kù)對(duì)運(yùn)算過(guò)程進(jìn)行優(yōu)化,使得tensorflow.js在學(xué)習(xí)尤其是網(wǎng)絡(luò)擴(kuò)大的時(shí)候能夠有更好的性能表現(xiàn)。在API設(shè)計(jì)方面,框架更多地考量到了開發(fā)人員的易用性,在較為底層的API方面使用了TensorFlow Python的許多概念,而在高級(jí)抽象API方面則更多地與Keras框架保持一致。

接下來(lái)我們通過(guò)一個(gè)簡(jiǎn)單的例子了解一下tensorflow.js的魅力。

1. 類庫(kù)引入

(1)script標(biāo)簽引入

標(biāo)簽的引入是最為直接的方式,引入的地址為https://cdn.jsdelivr.net/npm/@tensorflow/tfjs@0.9.0。下面給大家提供一個(gè)簡(jiǎn)單的開發(fā)模板:

(2)npm引入

如果你使用了Node進(jìn)行前端架構(gòu)的開發(fā),就需要包管理工具npm來(lái)引入。

   npm install @tensorflow/tfj

下面給大家提供一個(gè)簡(jiǎn)單的開發(fā)模板(ES 6):

   import * as tf from '@tensorflow/tfjs';
   // 在下面寫機(jī)器學(xué)習(xí)業(yè)務(wù)代碼

2. hello tfjs — 一個(gè)簡(jiǎn)單的示例

(1)代碼編寫
   // 定義模型:線性回歸模型
     const model = tf.sequential();
     model.add(tf.layers.dense({units: 1, inputShape: [1]}));
     
     // 定義模型損失函數(shù)和梯度下降算法
     model.compile({loss: 'meanSquaredError', optimizer: 'sgd'});
     
     // 準(zhǔn)備學(xué)習(xí)數(shù)據(jù)
     const xs = tf.tensor2d([1, 2, 3, 4], [4, 1]);
     const ys = tf.tensor2d([1, 3, 5, 7], [4, 1]);
     
     //模型學(xué)習(xí)
     model.fit(xs, ys).then(() => {
       // 使用訓(xùn)練完成的模型進(jìn)行預(yù)測(cè)
       model.predict(tf.tensor2d([5], [1, 1])).print();
     });
(2)代碼分析

代碼中具體做的事情是線性回歸分析,步驟總結(jié)為:模型定義→模型學(xué)習(xí)→模型使用。如果大家想要深入了解線性回歸分析的內(nèi)容,可以參考筆者的免費(fèi)課程,課程鏈接:https://www.imooc.com/learn/972。

(3)運(yùn)行結(jié)果

在瀏覽器上運(yùn)行,在命令行中就能看到想要的輸出,如圖2.21所示。

圖2.21 代碼運(yùn)行結(jié)果

近年來(lái),隨著前端框架(React、Vue、Angular)的崛起和微信小程序的發(fā)力,前端從業(yè)人員的開發(fā)能力得到了長(zhǎng)足的進(jìn)步,人工智能時(shí)代不但給予后臺(tái)通關(guān)前后臺(tái)的能力,而且也給了前端業(yè)務(wù)更多的想象力,tensorflow.js就是在這樣的環(huán)境下應(yīng)運(yùn)而生的產(chǎn)物。我們通過(guò)上述的入門例子對(duì)tensorflow.js有了直觀的感受,如果你學(xué)習(xí)了TensorFlow的核心知識(shí),那么上手tensorflow.js將會(huì)非常容易。

主站蜘蛛池模板: 龙川县| 绍兴县| 陆河县| 丘北县| 理塘县| 武宣县| 仙桃市| 潍坊市| 道孚县| 松江区| 休宁县| 嘉善县| 桦南县| 晋州市| 汕尾市| 大安市| 吉木萨尔县| 呈贡县| 青阳县| 遂平县| 肃宁县| 灵山县| 宝坻区| 永顺县| 灵丘县| 绥阳县| 焉耆| 孟连| 蕉岭县| 游戏| 吉水县| 皋兰县| 奉新县| 若尔盖县| 九江市| 阆中市| 凤庆县| 新源县| 博客| 上高县| 南乐县|