溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

未探索的TensorFlow庫都有哪些

發(fā)布時間:2021-12-23 16:12:26 來源:億速云 閱讀:200 作者:柒染 欄目:大數(shù)據(jù)

這篇文章給大家介紹未探索的TensorFlow庫都有哪些,內(nèi)容非常詳細(xì),感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。

TensorFlow是一個端到端的開源機(jī)器學(xué)習(xí)平臺,能夠執(zhí)行一系列任務(wù)。它為初學(xué)者和研究人員提供了一個易用性,可以用于不同的應(yīng)用,如,但不限于,計算機(jī)視覺,自然語言處理和強(qiáng)化學(xué)習(xí)。

在計算機(jī)視覺領(lǐng)域,我們大多數(shù)人都熟悉TensorFlow的核心以及TensorFlow Lite和JS。它們用于在移動設(shè)備和邊緣設(shè)備上運行模型,為后者在web上運行模型。然而,TensorFlow還提供了更多神秘的庫,我們將在文中對此進(jìn)行解釋。


TensorFlow模型優(yōu)化工具包

實時模型對于許多商業(yè)操作是必不可少的。MobileNet的推理速度使它成為了眾人矚目的焦點,即使這意味著要犧牲一點準(zhǔn)確性。

優(yōu)化TensorFlow模型首先想到的是將其轉(zhuǎn)換為TensorFlow lite服務(wù)。但是,這在桌面上不太好用,因為它是為ARM neon優(yōu)化的。這篇問題對此進(jìn)行了解釋(https://github.com/tensorflow/tensorflow/issues/35380),否則我們需要進(jìn)一步優(yōu)化模型。模型優(yōu)化工具箱可以幫助我們完成這些任務(wù)。根據(jù)其主頁,它可以用于:

減少云和邊緣設(shè)備(如移動設(shè)備、物聯(lián)網(wǎng))的延遲和推理成本。

將模型部署到邊緣設(shè)備,并限制處理、內(nèi)存、功耗、網(wǎng)絡(luò)使用和模型存儲空間。

支持對現(xiàn)有硬件或新的專用加速器執(zhí)行和優(yōu)化。

它可以應(yīng)用于已經(jīng)訓(xùn)練過的模型,也可以在訓(xùn)練期間用于進(jìn)一步優(yōu)化解決方案。在編寫本文時,它提供了三種技術(shù),以及其他一些正在進(jìn)行的改進(jìn)模型的技術(shù)。

修剪

第一種方法是權(quán)重剪枝。它的工作原理是刪除層之間的一些連接,從而減少所涉及的參數(shù)和操作的數(shù)量,從而優(yōu)化模型。在訓(xùn)練過程中消除了不必要的張量。這有助于縮小模型的大小,通過訓(xùn)練后量化可以進(jìn)一步減小模型的大小。

與只在訓(xùn)練期間進(jìn)行的修剪不同,量化可以在訓(xùn)練和測試中進(jìn)行。Tensorflow Lite模型也被量化為使用8位整數(shù),而不是通常使用的32位浮點。這提高了性能和效率,因為整數(shù)運算比浮點運算快得多。

然而,這是有代價的。量化是一種有損技術(shù)。這意味著先前從-3e38到3e38表示的信息必須從-127表示到127。這回引入更多錯誤。為了解決這個問題,可以在訓(xùn)練期間應(yīng)用量化。

量化訓(xùn)練

通過在訓(xùn)練中應(yīng)用量化,我們迫使模型學(xué)習(xí)它將導(dǎo)致的差異并相應(yīng)地采取行動。量化誤差作為噪聲引入,優(yōu)化器試圖將其最小化。用這種方法訓(xùn)練的模型具有與浮點模型相當(dāng)?shù)木?。很有意思的是,我們可以比較一下用這種方法創(chuàng)建的Tensorflow-Lite模型與普通模型。

訓(xùn)練后量化

雖然最好在訓(xùn)練期間應(yīng)用量化,但有時這樣做是不可行的,因為我們可能有預(yù)訓(xùn)練好的權(quán)重可供使用。

權(quán)重聚類

它將相似的權(quán)重組合起來,并用一個值替換它們。它可以想象成JPEG壓縮。此外,由于相似的權(quán)重被插值到相同的數(shù)目,它也是有損的。

權(quán)重矩陣原本存儲浮點值。這些值被轉(zhuǎn)換成整數(shù),整數(shù)代表簇號。我們再存儲包含簇的查找表以便查詢。這減少了所需的空間,因為整數(shù)需要更少的存儲空間。

如下面的示例所示,16個float-32值被指定給4個float-32質(zhì)心,層權(quán)重被轉(zhuǎn)換為整數(shù)值。權(quán)重矩陣越大,節(jié)省的空間就越大。

未探索的TensorFlow庫都有哪些

TensorFlow Graphics

TensorFlow graphics旨在將計算機(jī)視覺和計算機(jī)圖形學(xué)結(jié)合起來,解決復(fù)雜的三維任務(wù)。

計算機(jī)圖形工作流需要三維對象及其在場景中的絕對位置、對它們由燈光構(gòu)成的材質(zhì)的描述以及生成合成渲染的攝影機(jī)。另一方面,計算機(jī)視覺工作流將從圖像開始,并嘗試推導(dǎo)其參數(shù)。

這可以看作是一個自編碼器,視覺系統(tǒng)(編碼器)將嘗試查找參數(shù),而圖形系統(tǒng)(解碼器)將基于這些參數(shù)生成圖像,并與原始圖像進(jìn)行比較。此外,該系統(tǒng)不需要標(biāo)記數(shù)據(jù),也不需要以自我監(jiān)督的方式訓(xùn)練。一些用途是:

  1. 變換-可以對對象執(zhí)行旋轉(zhuǎn)和平移等對象變換。這可以通過神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)來精確地找到物體的位置。它對于需要精確估計這些物體位置的機(jī)械手臂很有用。

  2. 建模攝像機(jī)-可以設(shè)置不同的攝像機(jī)內(nèi)部參數(shù)來改變圖像的感知方式。例如,更改攝影機(jī)的焦距會更改對象的大小。

  3. 材料-可以使用具有不同類型光反射能力的不同類型的材料。因此,創(chuàng)建的場景可以精確地模擬對象在真實世界中的行為。

  4. 三維卷積和池(點云和網(wǎng)格)-它有三維卷積和池層,允許我們對三維數(shù)據(jù)進(jìn)行語義分類和分割。

  5. TensorBoard 3D-3D數(shù)據(jù)變得越來越普遍,可以用來解決從2D數(shù)據(jù)進(jìn)行三維重建、點云分割、3D對象變形等問題。通過TensorBoard 3D,這些結(jié)果可以可視化,從而更好地了解模型。

進(jìn)一步閱讀:https://blog.tensorflow.org/2019/05/introducing-tensorflow-graphics_9.html

TensorFlow Federated

這個庫也可以用于計算機(jī)視覺以外的其他領(lǐng)域。隨著移動設(shè)備和邊緣設(shè)備數(shù)量的增加,產(chǎn)生了大量的數(shù)據(jù)。

聯(lián)邦學(xué)習(xí)的目標(biāo)是在分散數(shù)據(jù)上執(zhí)行機(jī)器學(xué)習(xí),即在設(shè)備本身上!這意味著不需要向服務(wù)器上傳大量(敏感)數(shù)據(jù)。它已經(jīng)在谷歌鍵盤上使用。

TensorFlow Privacy

通過隱私攻擊可以從經(jīng)過訓(xùn)練的ML模型中提取敏感信息。

未探索的TensorFlow庫都有哪些

左側(cè)是僅使用人名和模型重建的圖像。右邊的圖像是原始圖像。

同樣,像TensorFlow Federated一樣,這并不是計算機(jī)視覺所獨有的。最常用的技術(shù)是差分隱私。

差分隱私一種公開共享數(shù)據(jù)集信息的系統(tǒng),通過描述數(shù)據(jù)集中組的模式,同時保留數(shù)據(jù)集中個人的信息。

假設(shè)敏感信息不會在數(shù)據(jù)集中完全重復(fù),通過使用差分隱私模型,可以確保模型不會學(xué)習(xí)此類信息。

例如,假設(shè)有一個人與人之間聊天的數(shù)據(jù)集。現(xiàn)在,聊天中傳遞的敏感信息可以是密碼、銀行帳戶詳細(xì)信息等。因此,如果在這個數(shù)據(jù)集上創(chuàng)建了一個模型,則差分隱私將確保該模型無法學(xué)習(xí)這些細(xì)節(jié),因為這些信息的數(shù)量很少。閱讀這篇關(guān)于差分隱私的文章,它還包含了執(zhí)行它的代碼。

TensorFlow Hub

你們中的大多數(shù)人一定對這個庫有所了解,所以我對它的介紹將非常簡短。

TensorFlow Hub是一個在TensorFlow中發(fā)布、發(fā)現(xiàn)和重用部分機(jī)器學(xué)習(xí)模塊的平臺。把它稱為TensorFlow模型的GitHub是正確的。

開發(fā)人員可以共享他們預(yù)訓(xùn)練過的模型,然后可以被其他人重用。通過重用,開發(fā)人員可以使用較小的數(shù)據(jù)集訓(xùn)練模型,提高泛化能力,或者只是加快訓(xùn)練速度。讓我們快速了解一下現(xiàn)有的幾種不同的計算機(jī)視覺模型。

  • 圖像分類——從MobileNet到Inception 再到EfficientNet,有一百多個可用于此任務(wù)的模型。說出你想要的任何型號,很可能會在那里找到它。

  • 對象檢測和分割-同樣,你需要的任何模型都可以在這里找到,特別是在COCO數(shù)據(jù)集上訓(xùn)練的TensorFlow model-zoo對象檢測器的集合中。Deeplab架構(gòu)在圖像分割領(lǐng)域占據(jù)主導(dǎo)地位。還有大量的TfLite和TensorFlow Js模型可用。

  • 圖像樣式化-圖像樣式化的不同的主干,以及一個卡通感興趣。

  • **生成對抗網(wǎng)絡(luò)-**提供了像Big GAN和Compare GAN這樣的GAN模型,在ImageNet和Celeb數(shù)據(jù)集上進(jìn)行訓(xùn)練。還有一個無邊界的GAN,可以用來生成攝像機(jī)捕捉到的場景之外的區(qū)域。此外,他們中的大多數(shù)有一個Colab Notebook,所以實現(xiàn)他們不會太難。

關(guān)于未探索的TensorFlow庫都有哪些就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學(xué)到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI