在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

如何用TensorFlow進(jìn)行機(jī)器學(xué)習(xí)研究

Tensorflowers ? 來源:cg ? 2019-02-05 10:06 ? 次閱讀

在此之前,我們介紹過用于自動(dòng)微分的 TensorFlow API - 自動(dòng)微分,優(yōu)化機(jī)器學(xué)習(xí)模型的關(guān)鍵技術(shù),這是機(jī)器學(xué)習(xí)的基本構(gòu)建塊。在今天的教程中,我們將使用先前教程中介紹的 TensorFlow 基礎(chǔ)來進(jìn)行一些簡單的機(jī)器學(xué)習(xí)。

TensorFlow 還包括一個(gè)更高級(jí)別的神經(jīng)網(wǎng)絡(luò) API(tf.keras),它提供了有用的抽象來減少樣板。我們強(qiáng)烈建議那些使用神經(jīng)網(wǎng)絡(luò)的人使用更高級(jí)別的 API。但是,在這個(gè)簡短的教程中我們將從神經(jīng)網(wǎng)絡(luò)訓(xùn)練的基本原理來建立一個(gè)堅(jiān)實(shí)的基礎(chǔ)。

設(shè)置

import tensorflow as tftf.enable_eager_execution()

變量

TensorFlow 中的張量是不可變的無狀態(tài)對(duì)象。然而,機(jī)器學(xué)習(xí)模型需要具有可變的狀態(tài):隨著模型的訓(xùn)練,計(jì)算預(yù)測的相同代碼應(yīng)該隨著時(shí)間的推移而表現(xiàn)不同(希望具有較低的損失!)。要表示在計(jì)算過程中需要改變的狀態(tài),事實(shí)上您可以選擇依賴 Python 這種有狀態(tài)的編程語言:

# Using python statex = tf.zeros([10, 10])x += 2 # This is equivalent to x = x + 2, which does not mutate the original # value of xprint(x)

tf.Tensor([[2。2. 2. 2. 2. 2. 2. 2. 2. 2.] [2。2. 2. 2. 2. 2. 2. 2. 2. 2.] [2。2. 2. 2. 2. 2. 2. 2. 2. 2.] [2。2. 2. 2. 2. 2. 2. 2. 2. 2.] [2。2. 2. 2. 2. 2. 2. 2. 2. 2.] [2。2. 2. 2. 2. 2. 2. 2. 2. 2.] [2。2. 2. 2. 2. 2. 2. 2. 2. 2.] [2。2. 2. 2. 2. 2. 2. 2. 2. 2.] [2。2. 2. 2. 2. 2. 2. 2. 2. 2.] [2。2. 2. 2. 2. 2. 2. 2. 2. 2.]],shape =(10,10),dtype = float32)

但是,TensorFlow 內(nèi)置了有狀態(tài)操作,這些操作通常比您所用的低級(jí) Python 表示更易于使用。例如,為了表示模型中的權(quán)重,使用 TensorFlow 變量通常是方便有效的。

變量是一個(gè)存儲(chǔ)值的對(duì)象,當(dāng)在 TensorFlow 計(jì)算中使用時(shí),它將隱式地從該存儲(chǔ)值中讀取。有些操作(如:tf.assign_sub,tf.scatter_update 等)會(huì)操縱存儲(chǔ)在 TensorFlow 變量中的值。

v = tf.Variable(1.0)assert v.numpy() == 1.0# Re-assign the valuev.assign(3.0)assert v.numpy() == 3.0# Use `v` in a TensorFlow operation like tf.square() and reassignv.assign(tf.square(v))assert v.numpy() == 9.0

使用變量的計(jì)算在計(jì)算梯度時(shí)自動(dòng)跟蹤。對(duì)于表示嵌入式的變量,TensorFlow 默認(rèn)會(huì)進(jìn)行稀疏更新,這樣可以提高計(jì)算效率和內(nèi)存效率。

使用變量也是一種快速讓代碼的讀者知道這段狀態(tài)是可變的方法。

示例:擬合線性模型

現(xiàn)在讓我們把目前掌握的幾個(gè)概念 — 張量、梯度帶、變量 — 應(yīng)用到構(gòu)建和訓(xùn)練一個(gè)簡單模型中去。這通常涉及幾個(gè)步驟:

1.定義模型。

2.定義損失函數(shù)。

3.獲取訓(xùn)練數(shù)據(jù)。

4.運(yùn)行訓(xùn)練數(shù)據(jù)并使用 “優(yōu)化器” 調(diào)整變量以匹配數(shù)據(jù)。

在本教程中,我們將介紹一個(gè)簡單線性模型的簡單示例:f(x) = x * W + b,它有兩個(gè)變量 —W 和 b。此外,我們將綜合數(shù)據(jù),以便訓(xùn)練好的模型具有 W = 3.0 和 b = 2.0。

定義模型

讓我們定義一個(gè)簡單的類來封裝變量和計(jì)算。

class Model(object): def __init__(self): # Initialize variable to (5.0, 0.0) # In practice, these should be initialized to random values. self.W = tf.Variable(5.0) self.b = tf.Variable(0.0) def __call__(self, x): return self.W * x + self.b model = Model()assert model(3.0).numpy() == 15.0

定義損失函數(shù)

損失函數(shù)測量給定輸入的模型輸出與期望輸出的匹配程度。讓我們使用標(biāo)準(zhǔn)的 L2 損失。

def loss(predicted_y, desired_y): return tf.reduce_mean(tf.square(predicted_y - desired_y))

獲取訓(xùn)練數(shù)據(jù)

讓我們用一些噪音(noise)合成訓(xùn)練數(shù)據(jù)。

TRUE_W = 3.0TRUE_b = 2.0NUM_EXAMPLES = 1000inputs = tf.random_normal(shape=[NUM_EXAMPLES])noise = tf.random_normal(shape=[NUM_EXAMPLES])outputs = inputs * TRUE_W + TRUE_b + noise

在我們訓(xùn)練模型之前,讓我們想象一下模型現(xiàn)在的位置。我們將用紅色繪制模型的預(yù)測,用藍(lán)色繪制訓(xùn)練數(shù)據(jù)。

import matplotlib.pyplot as pltplt.scatter(inputs, outputs, c='b')plt.scatter(inputs, model(inputs), c='r')plt.show()print('Current loss: '),print(loss(model(inputs), outputs).numpy())

Current loss:

7.92897

定義訓(xùn)練循環(huán)

我們現(xiàn)在有了網(wǎng)絡(luò)和培訓(xùn)數(shù)據(jù)。我們來訓(xùn)練一下,使用訓(xùn)練數(shù)據(jù)更新模型的變量 ( W 和 b),以便使用梯度下降減少損失。在 tf.train.Optimizer 實(shí)現(xiàn)中有許多梯度下降方案的變體。我們強(qiáng)烈建議使用這種實(shí)現(xiàn),但本著從基本原理出發(fā)的精神,在這個(gè)特定的例子中,我們將自己實(shí)現(xiàn)基本的數(shù)學(xué)。

def train(model, inputs, outputs, learning_rate): with tf.GradientTape() as t: current_loss = loss(model(inputs), outputs) dW, db = t.gradient(current_loss, [model.W, model.b]) model.W.assign_sub(learning_rate * dW) model.b.assign_sub(learning_rate * db)

最后,讓我們反復(fù)運(yùn)行訓(xùn)練數(shù)據(jù),看看 W 和 b 是如何發(fā)展的。

model = Model()# Collect the history of W-values and b-values to plot laterWs, bs = [], []epochs = range(10)for epoch in epochs: Ws.append(model.W.numpy()) bs.append(model.b.numpy()) current_loss = loss(model(inputs), outputs) train(model, inputs, outputs, learning_rate=0.1) print('Epoch %2d: W=%1.2f b=%1.2f, loss=%2.5f' % (epoch, Ws[-1], bs[-1], current_loss))# Let's plot it allplt.plot(epochs, Ws, 'r', epochs, bs, 'b')plt.plot([TRUE_W] * len(epochs), 'r--', [TRUE_b] * len(epochs), 'b--')plt.legend(['W', 'b', 'true W', 'true_b'])plt.show()

Epoch 0: W=5.00 b=0.00, loss=7.92897Epoch 1: W=4.64 b=0.35, loss=5.61977Epoch 2: W=4.35 b=0.64, loss=4.07488Epoch 3: W=4.11 b=0.88, loss=3.04133Epoch 4: W=3.91 b=1.07, loss=2.34987Epoch 5: W=3.75 b=1.23, loss=1.88727Epoch 6: W=3.62 b=1.36, loss=1.57779Epoch 7: W=3.51 b=1.47, loss=1.37073Epoch 8: W=3.42 b=1.55, loss=1.23221Epoch 9: W=3.35 b=1.62, loss=1.13954

下一步

在本教程中,我們介紹了變量 Variables,使用了到目前為止討論的 TensorFlow 基本原理構(gòu)建并訓(xùn)練了一個(gè)簡單的線性模型。

從理論上講,這幾乎是您使用 TensorFlow 進(jìn)行機(jī)器學(xué)習(xí)研究所需要的全部內(nèi)容。在實(shí)踐中,特別是對(duì)于神經(jīng)網(wǎng)絡(luò),更高級(jí)別的 APItf.keras 會(huì)更方便,因?yàn)樗峁└呒?jí)別的構(gòu)建塊(稱為 “層”),保存和恢復(fù)狀態(tài)的實(shí)用程序,一套損失函數(shù),一套優(yōu)化策略等等。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 機(jī)器學(xué)習(xí)

    關(guān)注

    66

    文章

    8418

    瀏覽量

    132634
  • tensorflow
    +關(guān)注

    關(guān)注

    13

    文章

    329

    瀏覽量

    60536

原文標(biāo)題:帶你使用 TensorFlow 進(jìn)行機(jī)器學(xué)習(xí)研究

文章出處:【微信號(hào):tensorflowers,微信公眾號(hào):Tensorflowers】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    如何使用TensorFlow構(gòu)建機(jī)器學(xué)習(xí)模型

    在這篇文章中,我將逐步講解如何使用 TensorFlow 創(chuàng)建一個(gè)簡單的機(jī)器學(xué)習(xí)模型。
    的頭像 發(fā)表于 01-08 09:25 ?990次閱讀
    如何使用<b class='flag-5'>TensorFlow</b>構(gòu)建<b class='flag-5'>機(jī)器</b><b class='flag-5'>學(xué)習(xí)</b>模型

    關(guān)于 TensorFlow

    世界上最好的機(jī)器學(xué)習(xí)工具庫之一的東東,我們希望能夠創(chuàng)造一個(gè)開放的標(biāo)準(zhǔn),來促進(jìn)交流研究想法和將機(jī)器學(xué)習(xí)算法產(chǎn)品化。Google的工程師們確實(shí)在
    發(fā)表于 03-30 19:57

    谷歌深度學(xué)習(xí)插件tensorflow

    前段時(shí)間忙著研究Zedboard,這幾天穿插著加入Python的深度學(xué)習(xí)研究,最近使用谷歌的tensorflow比較多,而且官方出了中文教程,比較給力,下面在Windows10下安裝
    發(fā)表于 07-04 13:46

    干貨!教你怎么搭建TensorFlow深度學(xué)習(xí)開發(fā)環(huán)境!

    `TensorFlow是谷歌基于DistBelief進(jìn)行研發(fā)的第二代人工智能學(xué)習(xí)系統(tǒng),其命名來源于本身的運(yùn)行原理。Tensor(張量)意味著N維數(shù)組,F(xiàn)low(流)意味著基于數(shù)據(jù)流圖的計(jì)算
    發(fā)表于 09-27 13:56

    tensorflow機(jī)器學(xué)習(xí)日志

    tensorflow學(xué)習(xí)日志(四)機(jī)器學(xué)習(xí)(泛化,過擬合, 數(shù)據(jù)集,驗(yàn)證集,測試集)
    發(fā)表于 04-14 06:32

    TensorFlow的特點(diǎn)和基本的操作方式

    Tensorflow是Google開源的深度學(xué)習(xí)框架,來自于Google Brain研究項(xiàng)目,在Google第一代分布式機(jī)器學(xué)習(xí)框架Dist
    發(fā)表于 11-23 09:56

    labview+yolov4+tensorflow+openvion深度學(xué)習(xí)

    缺陷檢測主要知識(shí)點(diǎn):1Tensorflow-GPU環(huán)境的搭建Tensorflow object環(huán)境搭建學(xué)會(huì)如何標(biāo)注圖片如何labview快速通過遷移學(xué)習(xí)訓(xùn)練自己的模型如何利用labview生成優(yōu)化后的OPENVINO模型IR如何
    發(fā)表于 05-10 22:33

    何用BMlang搭建Tensorflow模型?

    在EVM1684上如何用BMlang搭建一個(gè)Tensorflow模型,求助官方一個(gè)demo。
    發(fā)表于 09-18 07:00

    TensorFlow的框架結(jié)構(gòu)解析

    TensorFlow是谷歌的第二代開源的人工智能學(xué)習(xí)系統(tǒng),是用來實(shí)現(xiàn)神經(jīng)網(wǎng)絡(luò)的內(nèi)置框架學(xué)習(xí)軟件庫。目前,TensorFlow機(jī)器
    發(fā)表于 04-04 14:39 ?7113次閱讀
    <b class='flag-5'>TensorFlow</b>的框架結(jié)構(gòu)解析

    深度學(xué)習(xí)的發(fā)展與應(yīng)用,TensorFlow研究到實(shí)踐

    TensorFlow 的目標(biāo)是成為人人可用的機(jī)器學(xué)習(xí)平臺(tái),能夠幫助機(jī)器學(xué)習(xí)研究者、開發(fā)者,去表
    的頭像 發(fā)表于 06-05 11:00 ?4626次閱讀

    Swift for TensorFlow:無邊界機(jī)器學(xué)習(xí),值得大家期待

    據(jù)資料顯示,Swift for TensorFlow:無邊界機(jī)器學(xué)習(xí)簡介主要是——Swift for TensorFlow 是為下一代機(jī)器
    的頭像 發(fā)表于 09-20 14:20 ?2922次閱讀

    推薦初學(xué)者的TensorFlow延伸閱讀

    推薦初學(xué)者的延伸閱讀 除了課程內(nèi)容外,TensorFlow 官網(wǎng)也為大家提供了學(xué)習(xí)研究機(jī)器學(xué)習(xí)豐富實(shí)用的資源,例如老師在課程中提到的
    的頭像 發(fā)表于 11-04 18:31 ?1883次閱讀

    使用TensorFlow建立深度學(xué)習(xí)機(jī)器學(xué)習(xí)網(wǎng)絡(luò)

    教你使用TensorFlow建立深度學(xué)習(xí)機(jī)器學(xué)習(xí)網(wǎng)絡(luò)。
    發(fā)表于 03-26 09:44 ?18次下載

    如何使用TensorFlow進(jìn)行大規(guī)模和分布式的QML模擬

    發(fā)布人:Google 團(tuán)隊(duì) Cheng Xing 和 Michael Broughton 訓(xùn)練大型機(jī)器學(xué)習(xí)模型是 TensorFlow 的核心能力。多年來,訓(xùn)練規(guī)模已成為 NLP、圖像識(shí)別和藥物研發(fā)
    的頭像 發(fā)表于 08-10 17:31 ?2633次閱讀

    輕松入門,高效成長: "TensorFlow 機(jī)器學(xué)習(xí)技能解鎖季"

    體系,體驗(yàn) TensorFlow 的最佳實(shí)踐模式? 《 TensorFlow 入門實(shí)操課程》 帶你零基礎(chǔ)快速上手 想高效實(shí)踐機(jī)器學(xué)習(xí)模型部署,借助
    的頭像 發(fā)表于 11-10 11:35 ?790次閱讀
    主站蜘蛛池模板: avtt亚洲一区中文字幕| 特级毛片aaaa免费观看| 色秀视频免费高清网站| 国产成人mv在线观看入口视频| 欧美日韩影院| 久久99久久99精品免观看| 欧美精品四虎在线观看| 天天插天天干天天射| 日美一级毛片| 男人天堂伊人网| 日韩一级片在线播放| 乱小说录目伦200篇将曲勒| 免费看日本大片免费| 日本特黄绿像大片免费看| 狠狠叉| 黄色视屏在线免费播放| 国产视频久| 性中国videosex国产孕妇| 成人美女隐私免费| caoporn成人免费公开| 日产精品卡二卡三卡四卡乱码视频| 1000部啪啪未满十八勿入中国| 4438x色| 美女三级在线| 国产乱子伦一区二区三区| 五月婷婷婷| 一级不卡毛片| 美女张开腿让男生桶出水| 黄色日本视频网站| 午夜黄页网站在线播放| 日本久久久| 国外免费精品视频在线观看| 亚洲va久久久噜噜噜久久天堂| 综合网视频| 久久精品国产99久久72| 国产成人一区二区在线不卡| h视频国产| 九九99久久精品午夜剧场免费 | 午夜免费剧场| 黄网站色在线视频免费观看| 给我免费播放片黄色|