成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

如何理解Android中快速遷移風(fēng)格

這篇文章主要講解了“如何理解Android中快速遷移風(fēng)格”,文中的講解內(nèi)容簡(jiǎn)單清晰,易于學(xué)習(xí)與理解,下面請(qǐng)大家跟著小編的思路慢慢深入,一起來(lái)研究和學(xué)習(xí)“如何理解Android中快速遷移風(fēng)格”吧!

彝良網(wǎng)站建設(shè)公司成都創(chuàng)新互聯(lián),彝良網(wǎng)站設(shè)計(jì)制作,有大型網(wǎng)站制作公司豐富經(jīng)驗(yàn)。已為彝良數(shù)千家提供企業(yè)網(wǎng)站建設(shè)服務(wù)。企業(yè)網(wǎng)站搭建\外貿(mào)營(yíng)銷(xiāo)網(wǎng)站建設(shè)要多少錢(qián),請(qǐng)找那個(gè)售后服務(wù)好的彝良做網(wǎng)站的公司定做!

效果

如何理解Android中快速遷移風(fēng)格

如何理解Android中快速遷移風(fēng)格

缺點(diǎn)

  • 1.沒(méi)有組件化

  • 2.沒(méi)有混淆

  • 3.有些地方抽象不夠

深度學(xué)習(xí)和神經(jīng)網(wǎng)絡(luò)的基本概念

什么是深度學(xué)習(xí)

  • 1.AI--》機(jī)器學(xué)習(xí)--》深度學(xué)習(xí),前面三個(gè)概念是遞進(jìn)的,簡(jiǎn)單來(lái)說(shuō)深度學(xué)習(xí)是機(jī)器學(xué)習(xí)的一種,深度學(xué)習(xí)就是利用機(jī)器來(lái)學(xué)習(xí)很多數(shù)據(jù),而機(jī)器學(xué)習(xí)又是實(shí)現(xiàn)AI的一種方式。

  • 2.在深度學(xué)習(xí)中有兩個(gè)重要的東西:數(shù)據(jù)和神經(jīng)網(wǎng)絡(luò)。在深度學(xué)習(xí)中有兩個(gè)重要的過(guò)程:訓(xùn)練和測(cè)試 1.數(shù)據(jù)和網(wǎng)絡(luò): 1.數(shù)據(jù):我們想象一個(gè)簡(jiǎn)單的圖片分類(lèi)場(chǎng)景,我們有10000張已經(jīng)被人工分好類(lèi)的圖片,每張圖片都有一個(gè)正確的分類(lèi),比如貓、狗等等。 2.網(wǎng)絡(luò):這里的神經(jīng)網(wǎng)絡(luò)我們可以想象成一個(gè)函數(shù),我們的輸入是一張圖片,輸出則是這張圖片在每個(gè)分類(lèi)下面的分?jǐn)?shù)。也就是一個(gè)分?jǐn)?shù)的數(shù)組。 2.訓(xùn)練和測(cè)試: 1.訓(xùn)練:在訓(xùn)練的時(shí)候我們會(huì)將圖片集中的圖片一次次的輸入到神經(jīng)網(wǎng)絡(luò)里面去,然后會(huì)一次次得到該圖片在每個(gè)分類(lèi)下的分?jǐn)?shù),每當(dāng)我們得出了一個(gè)分?jǐn)?shù)數(shù)組之后我們可以計(jì)算當(dāng)前的神經(jīng)網(wǎng)絡(luò)損失值(當(dāng)前的網(wǎng)絡(luò)準(zhǔn)確率越高損失值越低),有了損失值,我們的目標(biāo)就是降低損失值。了解導(dǎo)數(shù)的同學(xué)都知道我們可以通過(guò)求導(dǎo)損失值函數(shù)得到讓損失值降低的梯度方向,然后反饋到神經(jīng)網(wǎng)絡(luò)中。就這樣一次次的循環(huán),讓損失值降到最低。 2.測(cè)試:當(dāng)我們將神經(jīng)網(wǎng)絡(luò)訓(xùn)練到了一個(gè)最佳的狀態(tài),我們就可以將我們需要進(jìn)行分類(lèi)的圖片,輸入到神經(jīng)網(wǎng)絡(luò)中,得到最終神經(jīng)網(wǎng)絡(luò)對(duì)該圖片分類(lèi)的結(jié)果。 3.總結(jié):深度學(xué)習(xí)到底是怎么學(xué)習(xí)的呢?我們可以看見(jiàn)我們的訓(xùn)練數(shù)據(jù)是經(jīng)過(guò)人的處理的,那么深度學(xué)習(xí)的過(guò)程就是將人的處理過(guò)程固化到我們的神經(jīng)網(wǎng)絡(luò)中,最終讓神經(jīng)網(wǎng)絡(luò)來(lái)代替人工處理的過(guò)程。 4.上面只是介紹深度學(xué)習(xí)的基本流程,如果要更深入地了解可以看這篇博客

什么是神經(jīng)網(wǎng)絡(luò)

我們?cè)谏弦还?jié)中說(shuō)到了,最終人處理數(shù)據(jù)的過(guò)程通過(guò)我們的訓(xùn)練被固化到神經(jīng)網(wǎng)絡(luò)中去了。下面我會(huì)簡(jiǎn)單介紹一下前面說(shuō)到的神經(jīng)網(wǎng)絡(luò)。

  • 1.還是在簡(jiǎn)單的圖片分類(lèi)場(chǎng)景: 1.我們假設(shè)圖片為x的大小為100 * 100(我們把圖片平鋪成為1 * 10000的矩陣),圖片一共有10個(gè)分類(lèi)。 2.那么一個(gè)兩層的神經(jīng)網(wǎng)絡(luò)就是這樣的:y = x * w1 * w2(w1為 10000 * a的矩陣,w2為a * 10的矩陣),這里最終y就是一張圖片在各個(gè)分類(lèi)下的分?jǐn)?shù),式子中的乘法是矩陣乘法。 3.當(dāng)然層數(shù)更多的神經(jīng)網(wǎng)絡(luò)就是有更多的w,我們w1 和 w2中的a可以自己定義。

  • 2.解釋一下y = x * w1 * w2: 1.研究表明我們?cè)诳磝這張圖片的時(shí)候,我們會(huì)先看圖片的輪廓,這里我們大腦中看圖片輪廓的神經(jīng)元就相當(dāng)于w1 2.看完輪廓之后我們會(huì)對(duì)這個(gè)圖片中的東西有基本感覺(jué),判斷這張圖片屬于哪些類(lèi)別,這里的類(lèi)別就是x * w1的結(jié)果 3.2中的結(jié)果會(huì)被輸入大腦中下一層神經(jīng)元,這里的神經(jīng)元就相當(dāng)于w2,經(jīng)過(guò)w2之后我們就會(huì)輸出一個(gè)結(jié)果這里就是y。 4.當(dāng)然人的神經(jīng)元層數(shù)遠(yuǎn)比上面說(shuō)到的多

  • 3.訓(xùn)練y = x * w1 * w2的過(guò)程以人做對(duì)比就相當(dāng)于:我們有一堆圖片給一個(gè)啥也不懂的小孩看,剛開(kāi)始他肯定輸出的結(jié)果都是錯(cuò)的,但是我們只要每次糾正一下他的錯(cuò)誤,那么他腦袋中的神經(jīng)元(w)就會(huì)不斷的修改然后識(shí)別的準(zhǔn)確率不斷提高。

Android中的Tensorflow

這一節(jié)將會(huì)介紹如何在Android中使用已經(jīng)訓(xùn)練好的神經(jīng)網(wǎng)絡(luò)

開(kāi)始

本篇文章中,我只會(huì)以一個(gè)demo為例子進(jìn)行講解,前面提到的MyPhotoShop項(xiàng)目會(huì)另起一個(gè)專題進(jìn)行剖析。

  • 1.demo地址:github地址(https://github.com/whenSunSet/TensorflowPureDemo)

  • 2.引入Tensorflow:compile 'org.tensorflow:tensorflow-android:+'

Tensorflow中的概念

  • 1.圖(graph):我們?cè)谇懊嬷v解了一個(gè)神經(jīng)網(wǎng)絡(luò)是什么樣子的,在Tensorflow中神經(jīng)網(wǎng)絡(luò)的每個(gè)神經(jīng)元w都屬于圖中的一個(gè)節(jié)點(diǎn),神經(jīng)網(wǎng)絡(luò)全部的節(jié)點(diǎn)就構(gòu)成了一個(gè)有向無(wú)環(huán)圖也就是Tensorflow的圖的一部分。當(dāng)然Tensorflow的圖中除了神經(jīng)網(wǎng)絡(luò)的節(jié)點(diǎn)外,還有其他輔助的操作:比如圖片解碼、圖片編碼、圖片預(yù)處理操作等等。我們舉一個(gè)圖的例子就是:圖片a--》解碼圖片產(chǎn)生b--》處理b產(chǎn)生圖片數(shù)據(jù)矩陣c(1 * 10000)--》c與w1(10000 * x)矩陣相乘產(chǎn)生d(1 * x)--》d與w2(x * 10)矩陣相乘產(chǎn)生e(1 * 10)--》選出e中值最大的分類(lèi),神經(jīng)網(wǎng)絡(luò)就判斷圖片a是這種分類(lèi)的圖片。

  • 2.節(jié)點(diǎn)(node):每個(gè)節(jié)點(diǎn)都是圖的一部分,每個(gè)節(jié)點(diǎn)有:入?yún)?、出參、具體操作函數(shù)(比如矩陣乘法)、可能有神經(jīng)元值w。

  • 3.TensorFlowInferenceInterface:一個(gè)Tensorflow中訓(xùn)練的上下文,在不同語(yǔ)言中名字不同。內(nèi)部包含了一個(gè)訓(xùn)練中需要的全部實(shí)例。

demo代碼講解

我們本次demo中只涉及Tensorflow在Android中神經(jīng)網(wǎng)絡(luò)模型的使用,并不涉及訓(xùn)練的過(guò)程。原因有兩個(gè):1.移動(dòng)端并不適合訓(xùn)練神經(jīng)網(wǎng)絡(luò) 2.Tensorflow for Android沒(méi)有訓(xùn)練的API。

  • 1.我這次使用的神經(jīng)網(wǎng)絡(luò)是已經(jīng)訓(xùn)練好的快速風(fēng)格遷移網(wǎng)絡(luò)

  • 2.對(duì)于模型我們的輸入是:一張圖片轉(zhuǎn)化為的float類(lèi)型的張量,大小為(1 * 800 * 600 * 3),輸入節(jié)點(diǎn)的名字是padsss:0,這里的名字是在訓(xùn)練過(guò)程中定義的。

  • 3.對(duì)于這個(gè)模型我們的輸出是:大小為(1 * 780 * 680 * 3)的float類(lèi)型張量。輸出節(jié)點(diǎn)的名字是squeezesss:0,名字也是在訓(xùn)練過(guò)程中定義的。

android中的深度學(xué)習(xí)——快速風(fēng)格遷移

  • 4.我們看代碼,先用RxPermission獲取了一下權(quán)限,獲取成功之后將assets中需要處理的圖片寫(xiě)入到sd卡中一遍后面使用,進(jìn)入make()方法

android中的深度學(xué)習(xí)——快速風(fēng)格遷移

  • 5.將4中的圖片讀取到內(nèi)存中

  • 6.以ARGB為例我們知道Bitmap中每個(gè)像素是以int十六進(jìn)制儲(chǔ)存像素的,類(lèi)似這種形式FFFFFFFF,那么每?jī)晌痪褪且粋€(gè)通道的數(shù)值,上限是256。所以接下來(lái)就是將Bitmap中的像素值,轉(zhuǎn)化為float類(lèi)型的數(shù)組,數(shù)組大小是(800 * 600 * 3)。

  • 7.創(chuàng)建了一個(gè)TensorFlowInferenceInterface對(duì)象,入?yún)⑹茿ssetManager和模型文件,這里就表示將神經(jīng)網(wǎng)絡(luò)在內(nèi)存中建立起來(lái)

  • 8.輸出一下每個(gè)節(jié)點(diǎn)的名字

  • 9.向神經(jīng)網(wǎng)絡(luò)中傳入輸入節(jié)點(diǎn)的名字、輸入節(jié)點(diǎn)的數(shù)據(jù)、數(shù)據(jù)張量的維度

  • 10.運(yùn)行神經(jīng)網(wǎng)絡(luò),入?yún)⑹禽敵龉?jié)點(diǎn)的名字

  • 11.神經(jīng)網(wǎng)絡(luò)的運(yùn)行是阻塞的,所以運(yùn)行好了之后,就能獲取數(shù)據(jù)了,這里將數(shù)據(jù)存入(780 * 580 * 3)的float數(shù)組中。

  • 12.將float數(shù)組重新整合成Bitmap的像素值,然后寫(xiě)入Bitmap中。

注意點(diǎn)

  • 1.demo運(yùn)行的時(shí)候速度會(huì)比較慢,耐心等待一下

  • 2.我運(yùn)行的設(shè)備是:小米mix2、Android8.0。其他設(shè)備可能會(huì)有問(wèn)題,要么就是速度非常慢,還可能是cpu或者系統(tǒng)版本不支持。

感謝各位的閱讀,以上就是“如何理解Android中快速遷移風(fēng)格”的內(nèi)容了,經(jīng)過(guò)本文的學(xué)習(xí)后,相信大家對(duì)如何理解Android中快速遷移風(fēng)格這一問(wèn)題有了更深刻的體會(huì),具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是創(chuàng)新互聯(lián),小編將為大家推送更多相關(guān)知識(shí)點(diǎn)的文章,歡迎關(guān)注!

分享標(biāo)題:如何理解Android中快速遷移風(fēng)格
文章URL:http://jinyejixie.com/article24/pdccje.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供外貿(mào)網(wǎng)站建設(shè)用戶體驗(yàn)、做網(wǎng)站搜索引擎優(yōu)化、App設(shè)計(jì)、小程序開(kāi)發(fā)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

手機(jī)網(wǎng)站建設(shè)
海门市| 江川县| 平利县| 上思县| 六安市| 来宾市| 武隆县| 且末县| 石柱| 专栏| 大庆市| 运城市| 仲巴县| 沅陵县| 莱芜市| 教育| 靖西县| 东辽县| 万山特区| 枣阳市| 特克斯县| 新营市| 彰武县| 静宁县| 河间市| 邵武市| 阳朔县| 棋牌| 宽甸| 台北市| 甘泉县| 鸡西市| 二手房| 玛沁县| 梅州市| 云梦县| 卢湾区| 密山市| 延川县| 保靖县| 宜兴市|