PyTorch與深度學(xué)習(xí)實(shí)戰(zhàn) 課件 第6、7章 基于CycleGAN的圖像風(fēng)格轉(zhuǎn)換、基于TipDM大數(shù)據(jù)挖掘建模平臺(tái)實(shí)現(xiàn)文本生成_第1頁
PyTorch與深度學(xué)習(xí)實(shí)戰(zhàn) 課件 第6、7章 基于CycleGAN的圖像風(fēng)格轉(zhuǎn)換、基于TipDM大數(shù)據(jù)挖掘建模平臺(tái)實(shí)現(xiàn)文本生成_第2頁
PyTorch與深度學(xué)習(xí)實(shí)戰(zhàn) 課件 第6、7章 基于CycleGAN的圖像風(fēng)格轉(zhuǎn)換、基于TipDM大數(shù)據(jù)挖掘建模平臺(tái)實(shí)現(xiàn)文本生成_第3頁
PyTorch與深度學(xué)習(xí)實(shí)戰(zhàn) 課件 第6、7章 基于CycleGAN的圖像風(fēng)格轉(zhuǎn)換、基于TipDM大數(shù)據(jù)挖掘建模平臺(tái)實(shí)現(xiàn)文本生成_第4頁
PyTorch與深度學(xué)習(xí)實(shí)戰(zhàn) 課件 第6、7章 基于CycleGAN的圖像風(fēng)格轉(zhuǎn)換、基于TipDM大數(shù)據(jù)挖掘建模平臺(tái)實(shí)現(xiàn)文本生成_第5頁
已閱讀5頁,還剩77頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

基于CycleGAN的圖像風(fēng)格轉(zhuǎn)換所謂圖像風(fēng)格轉(zhuǎn)換,是指利用算法學(xué)習(xí)一類圖像的風(fēng)格,然后將學(xué)習(xí)到的風(fēng)格應(yīng)用到另外一張圖像上的技術(shù)。隨著深度學(xué)習(xí)的興起,圖像風(fēng)格遷移獲得了進(jìn)一步的發(fā)展,并取得了一系列突破性的研究成果,其出色的風(fēng)格遷移能力引起了學(xué)術(shù)界和工業(yè)界的廣泛關(guān)注,具有重要的研究價(jià)值。本案例將使用藝術(shù)風(fēng)格圖像與現(xiàn)實(shí)風(fēng)景圖像數(shù)據(jù)集,構(gòu)建CycleGAN網(wǎng)絡(luò),進(jìn)行圖像風(fēng)格轉(zhuǎn)換。一是將藝術(shù)風(fēng)格圖像轉(zhuǎn)換成現(xiàn)實(shí)風(fēng)景圖像風(fēng)格。二是將現(xiàn)實(shí)風(fēng)景圖像轉(zhuǎn)換成藝術(shù)風(fēng)格?;贑ycleGAN的圖像風(fēng)格轉(zhuǎn)換1數(shù)據(jù)準(zhǔn)備目錄目標(biāo)分析2構(gòu)建網(wǎng)絡(luò)3訓(xùn)練網(wǎng)絡(luò)4結(jié)果分析5在使用神經(jīng)網(wǎng)絡(luò)進(jìn)行圖像風(fēng)格遷移之前,圖像風(fēng)格遷移的程序設(shè)計(jì)有一個(gè)共同的思路:分析某一種風(fēng)格的圖像,并為該風(fēng)格建立一個(gè)數(shù)學(xué)或統(tǒng)計(jì)模型,再將模型應(yīng)用到待遷移的圖像中。因此帶來了一個(gè)問題,一個(gè)程序基本只能做某一種風(fēng)格或某一個(gè)場(chǎng)景間的轉(zhuǎn)換,存在較高的局限性。所以,傳統(tǒng)的風(fēng)格轉(zhuǎn)換研究的實(shí)際應(yīng)用非常有限。圖像風(fēng)格轉(zhuǎn)換的核心在于獲得輸入圖像的特征表達(dá)。卷積神經(jīng)網(wǎng)絡(luò)對(duì)于圖像高層特征的抽取,使得獲取特征的表達(dá)變得相對(duì)容易。因此,隨著深度學(xué)習(xí)技術(shù)的興起,圖像風(fēng)格轉(zhuǎn)換再次回到了大眾的視野。背景生活中,圖像風(fēng)格轉(zhuǎn)化的實(shí)際運(yùn)用較少,多數(shù)運(yùn)用偏娛樂性,例如,智能手機(jī)相機(jī)里的卡通濾鏡功能,可以將拍攝的圖像轉(zhuǎn)換成卡通風(fēng)格。本案例將基于CycleGAN進(jìn)行圖像風(fēng)格轉(zhuǎn)換。CycleGAN是圖像風(fēng)格轉(zhuǎn)換中常用的網(wǎng)絡(luò),其特點(diǎn)是樣本數(shù)據(jù)無需配對(duì)即可實(shí)現(xiàn)轉(zhuǎn)換,例如,將斑馬轉(zhuǎn)換成馬,如圖所示。背景CycleGAN特點(diǎn)就是圖像會(huì)經(jīng)過兩次風(fēng)格轉(zhuǎn)換。首先將圖像從風(fēng)格A轉(zhuǎn)換到風(fēng)格B。然后再從風(fēng)格B轉(zhuǎn)換回風(fēng)格A。如果兩次轉(zhuǎn)換的效果都比較好,那么轉(zhuǎn)換后的圖像應(yīng)該與輸入的圖像基本一致。CycleGAN通過對(duì)比轉(zhuǎn)換前后的圖像,形成了有監(jiān)督學(xué)習(xí),提升了轉(zhuǎn)換效果。背景本小節(jié)主要介紹圖像風(fēng)格轉(zhuǎn)換的相關(guān)背景、運(yùn)用領(lǐng)域以及本案例的分析目標(biāo)和相關(guān)流程。利用藝術(shù)風(fēng)格與現(xiàn)實(shí)風(fēng)景圖像數(shù)據(jù)集,可以實(shí)現(xiàn)以下目標(biāo)。讓模型將現(xiàn)實(shí)風(fēng)景圖像的風(fēng)格轉(zhuǎn)換成藝術(shù)風(fēng)格。讓模型將藝術(shù)風(fēng)格圖像轉(zhuǎn)換成現(xiàn)實(shí)風(fēng)景圖像的風(fēng)格。本案例的總體流程主要包括以下4個(gè)步驟。加載數(shù)據(jù),加載藝術(shù)風(fēng)格與現(xiàn)實(shí)風(fēng)景圖像數(shù)據(jù)集。構(gòu)建網(wǎng)絡(luò),包含殘差網(wǎng)絡(luò)、生成器、判別器及緩存隊(duì)列。訓(xùn)練網(wǎng)絡(luò),計(jì)算生成器和判別器的損失,從而對(duì)生成器和判別器進(jìn)行訓(xùn)練。結(jié)果分析,對(duì)迭代中輸出的風(fēng)格轉(zhuǎn)換圖像進(jìn)行分析。分析目標(biāo)本案例的總體流程圖如圖所示,主要包括加載數(shù)據(jù)、構(gòu)建網(wǎng)絡(luò)、訓(xùn)練網(wǎng)絡(luò)、結(jié)果分析4個(gè)步驟。分析目標(biāo)本案例基于PyTorch1.8.1、CUDA10.2和cuDNN8.2.0環(huán)境下運(yùn)行,其中PyTorch1.8.1也可以是CPU版本。本案例的目錄包含三個(gè)文件夾,分別是code、data和tmp。如右上圖所示。所有原始圖像數(shù)據(jù)存放在data文件夾,其中包含了四個(gè)文件夾,分別是trainA、trainB、testA、testB,如右下圖所示。項(xiàng)目工程結(jié)構(gòu)所有的代碼文件放在code文件夾,如圖所示。代碼運(yùn)行過程中生成的轉(zhuǎn)換圖像會(huì)放入tmp文件夾中,如圖所示。構(gòu)建網(wǎng)絡(luò)包括構(gòu)建殘差網(wǎng)絡(luò)、生成器、判別器以及緩存隊(duì)列。其中生成器與判別器是CycleGAN的主要組成部分。項(xiàng)目工程結(jié)構(gòu)1數(shù)據(jù)準(zhǔn)備目錄目標(biāo)分析2構(gòu)建網(wǎng)絡(luò)3訓(xùn)練網(wǎng)絡(luò)4結(jié)果分析5本案例使用的數(shù)據(jù)是藝術(shù)風(fēng)格圖像與現(xiàn)實(shí)風(fēng)景圖像數(shù)據(jù)集,包含了四個(gè)子數(shù)據(jù)集。testA文件夾里包含了263張藝術(shù)風(fēng)格圖像。testB文件夾里包含了751張現(xiàn)實(shí)風(fēng)景圖像。trainA文件夾里包含了562張藝術(shù)風(fēng)格圖像。trainB文件夾里包含了6287張現(xiàn)實(shí)風(fēng)景圖像。數(shù)據(jù)準(zhǔn)備1數(shù)據(jù)準(zhǔn)備目錄目標(biāo)分析2構(gòu)建網(wǎng)絡(luò)3訓(xùn)練網(wǎng)絡(luò)4結(jié)果分析5

構(gòu)建網(wǎng)絡(luò)使用殘差網(wǎng)絡(luò)增加淺層網(wǎng)絡(luò)到深層網(wǎng)絡(luò)的信息傳輸,可以解決網(wǎng)絡(luò)擁有層數(shù)較多時(shí),網(wǎng)絡(luò)準(zhǔn)確度出現(xiàn)飽和,甚至出現(xiàn)下降的問題。在定義殘差網(wǎng)絡(luò)block時(shí),ResidualBlock類繼承自父類Module,并通過block_layer對(duì)象定義殘差模塊中的網(wǎng)絡(luò)層。殘差網(wǎng)絡(luò)block生成器的目的是對(duì)輸入的圖像進(jìn)行風(fēng)格的轉(zhuǎn)換,生成能夠以假亂真的圖像。同時(shí),生成器所生成的圖像也將作為輸入對(duì)象提供給下一個(gè)生成器或判別器。在生成器中,使用了鏡像填充卷積(ReflectionPad2d)由低維的特征生成高維特征,同時(shí)使用圖像生成的歸一化層(InstanceNorm2d)加速模型收斂,最終得到了生成的圖像x。生成器Generator判別器的目的是對(duì)輸入的圖像進(jìn)行判斷,判斷圖像是真實(shí)的圖像或生成的圖像。在判別器中,使用了大量的卷積層用于提取輸入圖像的特征,在網(wǎng)絡(luò)的結(jié)尾使用avg_pool2d函數(shù)進(jìn)行均值池化。均值池化前的特征維度為torch.Size([10,1,14,14]),池化時(shí)對(duì)10個(gè)[14,14]大小的向量求均值并返回結(jié)果。判別器Discriminator訓(xùn)練網(wǎng)絡(luò)時(shí),每個(gè)周期都會(huì)讀取一定批量大小的數(shù)據(jù)用于訓(xùn)練。需要注意藝術(shù)風(fēng)格圖像與現(xiàn)實(shí)風(fēng)景圖像是成對(duì)被讀取的,圖像對(duì)中的固定搭配可能會(huì)被網(wǎng)絡(luò)學(xué)習(xí)到。因此,需要將輸入數(shù)據(jù)的順序打亂重新分組。定義緩存隊(duì)列ReplayBuffe。在ReplayBuffer函數(shù)中,有如下兩種可能。如果緩存池中的圖像數(shù)量小于閾值max_size,那么返回原圖像,并向緩存池增加輸入的圖像。如果緩存池中的圖像數(shù)量大于閾值max_size,那么從緩存池中隨機(jī)選擇圖像返回,并將輸入的圖像替換返回的圖像。緩存隊(duì)列ReplayBuffer1數(shù)據(jù)準(zhǔn)備目錄目標(biāo)分析2構(gòu)建網(wǎng)絡(luò)3訓(xùn)練網(wǎng)絡(luò)4結(jié)果分析5訓(xùn)練網(wǎng)絡(luò)的過程。首先需要實(shí)例化生成器、判別器和緩存隊(duì)列。然后設(shè)置損失函數(shù)和優(yōu)化器。其次開始訓(xùn)練網(wǎng)絡(luò)中的生成器和判別器。最后將風(fēng)格轉(zhuǎn)換的結(jié)果輸出保存。G_A2B表示生成風(fēng)格B圖像的生成器,G_B2A表示生成風(fēng)格A圖像的生成器,netD_A表示對(duì)風(fēng)格A圖像進(jìn)行判別的判別器,netD_B表示對(duì)風(fēng)格B圖像進(jìn)行判別的判別器。real_A和real_B為輸入的真實(shí)圖像。訓(xùn)練網(wǎng)絡(luò)生成器的訓(xùn)練過程主要包含如下6個(gè)步驟。利用G_A2B將real_B生成same_B,并獲取real_B和same_B之間的損失。利用G_B2A將real_A生成same_A,獲取real_A和same_A之間的損失。利用G_A2B將real_A生成fake_B,通過netD_B判斷fake_B,將netD_B的返回作為損失。利用G_B2A將real_B生成faka_A,通過netD_A判斷fake_A,將netD_A的返回作為損失。利用G_B2A將fake_B生成recovered_A,獲取recovered_A與real_A之間的損失。利用G_A2B將fake_A生成recovered_B,獲取recovered_B與real_B之間的損失。訓(xùn)練網(wǎng)絡(luò)生成器的訓(xùn)練過程及圖像名稱解釋,如圖所示,主要包含6個(gè)步驟。訓(xùn)練網(wǎng)絡(luò)對(duì)獲得的損失進(jìn)行加權(quán)求和即可得到生成器的總損失,訓(xùn)練完畢的G_A2B生成器需要滿足以下3點(diǎn)要求。如果輸入是圖像real_B,那么生成的圖像same_B在總體像素層面上與real_B相同。如果輸入是圖像real_A,那么生成的圖像fake_B會(huì)具有B型的風(fēng)格。如果輸入是圖像fake_A,那么生成的圖像recovered_B在內(nèi)容上與real_B相同,在風(fēng)格上與風(fēng)格B相同。訓(xùn)練完畢的判別器可以滿足以下4點(diǎn)要求。判別器netD_A可以對(duì)real_A判真。判別器netD_A可以對(duì)fake_A判偽。判別器netD_B可以對(duì)real_B判真。判別器netD_B可以對(duì)fake_B判偽。訓(xùn)練網(wǎng)絡(luò)訓(xùn)練網(wǎng)絡(luò)完成后最終的輸出結(jié)果是4張圖像。一張藝術(shù)風(fēng)格的真實(shí)圖像a_real。一張現(xiàn)實(shí)風(fēng)景圖像的真實(shí)圖像b_real。一張具有藝術(shù)風(fēng)格的現(xiàn)實(shí)風(fēng)景圖像a_fake。一張具有現(xiàn)實(shí)風(fēng)景圖像風(fēng)格的藝術(shù)圖像b_fake。訓(xùn)練網(wǎng)絡(luò)1數(shù)據(jù)準(zhǔn)備目錄目標(biāo)分析2構(gòu)建網(wǎng)絡(luò)3訓(xùn)練網(wǎng)絡(luò)4結(jié)果分析5通過觀察訓(xùn)練過程中某些周期的輸出結(jié)果來分析圖像風(fēng)格轉(zhuǎn)換模型的效果。訓(xùn)練第1個(gè)周期時(shí),生成的圖像基本是噪聲,如圖所示。其中a_fake.png為由真實(shí)藝術(shù)風(fēng)格圖像a_real.png生成的現(xiàn)實(shí)風(fēng)景圖像,b_fake.png為由現(xiàn)實(shí)風(fēng)景圖像a_real.png生成的藝術(shù)風(fēng)格圖像。結(jié)果分析訓(xùn)練第200個(gè)周期時(shí),模型已經(jīng)能夠生成具有簡(jiǎn)單色彩的圖像,如圖所示。訓(xùn)練第560個(gè)周期時(shí),生成的圖像已經(jīng)具備了一些紋理,如圖所示。結(jié)果分析訓(xùn)練第660個(gè)周期時(shí),生成的圖像具有更加濃郁的色彩,如圖所示。訓(xùn)練第1000個(gè)周期時(shí),生成的圖像已經(jīng)基本完成了風(fēng)格的轉(zhuǎn)換,如圖所示。結(jié)果分析本章主要實(shí)現(xiàn)了基于CycleGAN的圖像風(fēng)格轉(zhuǎn)換。在讀取數(shù)據(jù)之后,定義了殘差網(wǎng)絡(luò)、生成器、判別器和緩存隊(duì)列的函數(shù)。然后對(duì)網(wǎng)絡(luò)中的生成器與判別器進(jìn)行訓(xùn)練。最后對(duì)網(wǎng)絡(luò)訓(xùn)練過程中某幾個(gè)周期的輸出進(jìn)行分析。小結(jié)基于TipDM大數(shù)據(jù)挖掘建模平臺(tái)實(shí)現(xiàn)文本生成1實(shí)現(xiàn)文本生成目錄平臺(tái)簡(jiǎn)介2TipDM大數(shù)據(jù)挖掘建模平臺(tái)是由廣東泰迪智能科技股份有限公司自主研發(fā)的面向大數(shù)據(jù)挖掘項(xiàng)目的工具。該平臺(tái)使用Java語言開發(fā),采用瀏覽器/服務(wù)器(Browser/Server,B/S)結(jié)構(gòu),用戶不需要下載客戶端,可通過瀏覽器進(jìn)行訪問。該平臺(tái)具有支持多種語言、操作簡(jiǎn)單、無須編程語言基礎(chǔ)等特點(diǎn),以流程化的方式對(duì)數(shù)據(jù)輸入/輸出、統(tǒng)計(jì)與分析、數(shù)據(jù)預(yù)處理、挖掘與建模等環(huán)節(jié)進(jìn)行連接,從而達(dá)成大數(shù)據(jù)挖掘的目的。讀者可通過訪問該平臺(tái)查看具體的界面情況,訪問平臺(tái)的具體步驟如下。微信搜索公眾號(hào)“泰迪學(xué)社”或“TipDataMining”,并關(guān)注公眾號(hào)。關(guān)注公眾號(hào)后,回復(fù)“建模平臺(tái)”,獲取平臺(tái)的訪問方式。平臺(tái)簡(jiǎn)介平臺(tái)界面如右圖所示。平臺(tái)簡(jiǎn)介本章將以文本生成為例,介紹使用平臺(tái)實(shí)現(xiàn)案例的流程。在介紹之前,需要引入平臺(tái)的幾個(gè)概念。組件:對(duì)建模過程涉及的輸入與輸出、數(shù)據(jù)探索、數(shù)據(jù)預(yù)處理、建模、模型評(píng)估等算法分別進(jìn)行封裝,每一個(gè)封裝好的模塊被稱為組件。組件分為系統(tǒng)組件和個(gè)人組件。系統(tǒng)組件可供所有用戶使用,個(gè)人組件由個(gè)人用戶編輯,僅供個(gè)人賬號(hào)使用。工程:為實(shí)現(xiàn)某一數(shù)據(jù)挖掘目標(biāo),將各組件通過流程化的方式進(jìn)行連接,整個(gè)數(shù)據(jù)挖掘流程被稱為工程。參數(shù):每個(gè)組件都給用戶提供了需設(shè)置的內(nèi)容,這部分內(nèi)容稱為參數(shù)。共享庫:用戶可以將配置好的工程、數(shù)據(jù)集,分別公開到模型庫、數(shù)據(jù)集庫中作為模板,分享給其他用戶,其他用戶可以使用共享庫中的模板,創(chuàng)建無須配置組件便可運(yùn)行的工程。平臺(tái)簡(jiǎn)介TipDM大數(shù)據(jù)挖掘建模平臺(tái)主要有以下幾個(gè)特點(diǎn)。平臺(tái)組件基于Python、R以及Spark分布式引擎,進(jìn)行數(shù)據(jù)分析。Python、R以及Spark是目前常見的用于數(shù)據(jù)分析的語言或工具,高度契合行業(yè)需求。用戶可在沒有Python、R或者Hadoop/Spark編程基礎(chǔ)的情況下,使用直觀的拖曳式圖形界面構(gòu)建數(shù)據(jù)分析流程,無須編程。提供公開可用的數(shù)據(jù)分析示例工程,一鍵創(chuàng)建、快速運(yùn)行。支持挖掘流程每個(gè)節(jié)點(diǎn)的結(jié)果在線預(yù)覽。平臺(tái)包含Python、R、Spark這3種工具的組件包,用戶可以根據(jù)實(shí)際需求,靈活選擇不同的工具進(jìn)行數(shù)據(jù)挖掘建模。平臺(tái)簡(jiǎn)介登錄平臺(tái)后,用戶即可看到“共享庫”模塊系統(tǒng)提供的示例工程(模板),如下圖所示。共享庫“共享庫”模塊主要用于標(biāo)準(zhǔn)大數(shù)據(jù)挖掘建模案例的快速創(chuàng)建和展示。通過“共享庫”模塊,用戶可以創(chuàng)建無須導(dǎo)入數(shù)據(jù)及配置參數(shù)就能夠快速運(yùn)行的工程。用戶也可以將自己搭建的工程生成為模板,公開到“共享庫”模塊,供其他用戶一鍵創(chuàng)建實(shí)訓(xùn)。同時(shí),每一個(gè)模板的創(chuàng)建者都具有模板的所有權(quán),能夠?qū)δ0暹M(jìn)行管理共享庫“

數(shù)據(jù)連接”模塊支持從DB2、SQLServer、MySQL、Oracle、PostgreSQL等常用關(guān)系數(shù)據(jù)庫導(dǎo)入數(shù)據(jù)。導(dǎo)入數(shù)據(jù)時(shí)的“新建連接”對(duì)話框如下圖所示。在輸入了連接名、連接地址、用戶名、密碼后單擊測(cè)試連接,成功新建數(shù)據(jù)庫連接。數(shù)據(jù)連接新建數(shù)據(jù)庫連接后,“數(shù)據(jù)集”模塊主要用于數(shù)據(jù)挖掘建模工程中數(shù)據(jù)的導(dǎo)入與管理,支持從本地導(dǎo)入任意類型的數(shù)據(jù)。導(dǎo)入數(shù)據(jù)時(shí)的“新增數(shù)據(jù)集”對(duì)話框如下圖所示。數(shù)據(jù)連接“我的工程”模塊主要用于數(shù)據(jù)挖掘建模流程化的創(chuàng)建與管理,工程示例流程如下圖所示。我的工程通過單擊“工程”欄下的

(新建工程)按鈕,用戶可以創(chuàng)建空白工程并通過“組件”欄下的組件進(jìn)行工程的配置,將數(shù)據(jù)輸入輸出、數(shù)據(jù)預(yù)處理、挖掘建模、模型評(píng)估等環(huán)節(jié)通過流程化的方式進(jìn)行連接,達(dá)到數(shù)據(jù)挖掘的目的。對(duì)于完成度優(yōu)秀的工程,可以將其公開到“共享庫”中,讓其他使用者學(xué)習(xí)和借鑒。我的工程在“組件”欄下,平臺(tái)提供了輸入/輸出組件、Python組件、R組件、Spark組件等相同組件,如下圖所示。輸入/輸出組件提供工程輸出與輸出組件。包括對(duì)象存儲(chǔ)輸入源、輸出源、hive輸入源、輸出到數(shù)據(jù)庫、hdfs輸入源、輸入源、數(shù)據(jù)庫輸入源、http輸入源等。我的工程Python算法包可分為13類,具體如下?!癙ython腳本”類提供一個(gè)Python代碼編輯框。用戶可以在代碼編輯框中粘貼已經(jīng)寫好的程序代碼并直接運(yùn)行,無須額外配置算法?!邦A(yù)處理”類提供對(duì)數(shù)據(jù)進(jìn)行清洗的組件,包括數(shù)據(jù)標(biāo)準(zhǔn)化、缺失值處理、表堆疊、數(shù)據(jù)篩選、行列轉(zhuǎn)置、修改列名、衍生變量、數(shù)據(jù)拆分、主鍵合并、新增序列、數(shù)據(jù)排序、記錄去重和分組聚合等?!敖y(tǒng)計(jì)分析”類提供對(duì)數(shù)據(jù)整體情況進(jìn)行統(tǒng)計(jì)的常用組件,包括因子分析、全表統(tǒng)計(jì)、正態(tài)性檢驗(yàn)、相關(guān)性分析、卡方檢驗(yàn)、主成分分析和頻數(shù)統(tǒng)計(jì)等?!皶r(shí)間序列”類提供常用的時(shí)間序列組件,包括ARIMA等。“分類”類提供常用的分類組件,包括樸素貝葉斯、支持向量機(jī)、CART分類樹、邏輯回歸、神經(jīng)網(wǎng)絡(luò)和K最近鄰等。我的工程“模型評(píng)估”類提供用于模型評(píng)估的組件,包括模型評(píng)估?!澳P皖A(yù)測(cè)”類提供用于模型預(yù)測(cè)的組件,包括模型預(yù)測(cè)“回歸”類提供常用的回歸算法,包括CART回歸樹、線性回歸、支持向量回歸和K最近鄰回歸等。“聚類”類提供聚類組件,包括層次聚類、DBSCAN密度聚類和K-Means等?!瓣P(guān)聯(lián)規(guī)則”類提供常用的關(guān)聯(lián)規(guī)則算法,包括Apriori和FP-Growth等。“文本分析”類提供對(duì)文本數(shù)據(jù)進(jìn)行清洗、特征提取與分析的常用算法,包括情感分析、文本過濾、文本分詞、TF-IDF、Word2Vec等?!吧疃葘W(xué)習(xí)”類提供常用的深度學(xué)習(xí)組件,包括循環(huán)神經(jīng)網(wǎng)絡(luò)、卷積神經(jīng)網(wǎng)絡(luò)等?!袄L圖”類提供常用的畫圖組件,包括柱形圖、折線圖、散點(diǎn)圖、餅圖和詞云圖。我的工程R語言組件包含8類,具體如下?!癛語言腳本”類提供一個(gè)R語言代碼編輯框。用戶可以在代碼編輯框中粘貼已經(jīng)寫好的程序代碼并直接運(yùn)行,無須額外配置組件?!邦A(yù)處理”類提供對(duì)數(shù)據(jù)進(jìn)行預(yù)處理的組件,包括缺失值處理、異常值處理、表連接、表合并、數(shù)據(jù)標(biāo)準(zhǔn)化、記錄去重、數(shù)據(jù)離散化、排序、數(shù)據(jù)拆分、頻數(shù)統(tǒng)計(jì)、新增序列、字符串拆分、字符串拼接、修改列名和衍生變量等?!敖y(tǒng)計(jì)分析”類提供對(duì)數(shù)據(jù)整體情況進(jìn)行統(tǒng)計(jì)的常用組件,包括卡方檢驗(yàn)、因子分析、主成分分析、相關(guān)性分析、正態(tài)性檢驗(yàn)和全表統(tǒng)計(jì)等?!胺诸悺鳖愄峁┏S玫姆诸惤M件,包括樸素貝葉斯、CART分類樹、C4.5分類樹、BP神經(jīng)網(wǎng)絡(luò)、KNN、SVM和邏輯回歸等?!皶r(shí)間序列”類提供常用的時(shí)間序列組件,包括ARIMA和指數(shù)平滑等我的工程“聚類”類提供常用的聚類組件,包括K-Means、DBSCAN和系統(tǒng)聚類等?!盎貧w”類提供常用的回歸組件,包括CART回歸樹、C4.5回歸樹、線性回歸、嶺回歸和KNN回歸等?!瓣P(guān)聯(lián)分析”類提供常用的關(guān)聯(lián)規(guī)則組件,包括Apriori等。我的工程Spark算法包可分為8類,具體如下?!邦A(yù)處理”類提供對(duì)數(shù)據(jù)進(jìn)行清洗的組件,包括數(shù)據(jù)去重、數(shù)據(jù)過濾、數(shù)據(jù)映射、數(shù)據(jù)反映射、數(shù)據(jù)拆分、數(shù)據(jù)排序、缺失值處理、數(shù)據(jù)標(biāo)準(zhǔn)化、衍生變量、表連接、表堆疊和數(shù)據(jù)離散化等。“統(tǒng)計(jì)分析”類提供對(duì)數(shù)據(jù)整體情況進(jìn)行統(tǒng)計(jì)分析的常用算法,包括行列統(tǒng)計(jì)、全表統(tǒng)計(jì)、相關(guān)性分析和重復(fù)值缺失值探索等?!胺诸悺鳖愄峁┏S玫姆诸愃惴?,包括邏輯回歸、決策樹、梯度提升樹、樸素貝葉斯、隨機(jī)森林、線性支持向量機(jī)和多層感知神經(jīng)網(wǎng)絡(luò)等。我的工程“聚類”類提供常用的聚類算法,包括K-Means聚類、二分K-Means聚類和混合高斯模型等?!盎貧w”類提供常用的回歸算法,包括線性回歸、廣義線性回歸、決策樹回歸、梯度提升樹回歸、隨機(jī)森林回歸和保序回歸等。“降維”類提供常用的數(shù)據(jù)降維組件,包括PCA降維。“協(xié)同過濾”類提供常用的智能推薦算法,包括ALS算法等。“頻繁模式挖掘”類提供常用的頻繁項(xiàng)集挖掘組件,包括FP-Growth。我的工程“個(gè)人組件”模塊主要滿足用戶的個(gè)性化需求。在用戶使用過程中,可根據(jù)自己的需求定制組件,方便使用。目前該模塊支持通過Python和R語言進(jìn)行個(gè)人組件的定制,單擊

(添加組件)按鈕,用戶可控制個(gè)人組件,如下圖所示。個(gè)人算法1實(shí)現(xiàn)文本生成目錄平臺(tái)簡(jiǎn)介2以文本生成案例為例,在TipDM數(shù)據(jù)挖掘建模平臺(tái)上配置對(duì)應(yīng)實(shí)訓(xùn),展示流程的配置過程。詳細(xì)流程的配置過程,可訪問平臺(tái)進(jìn)行查看。在TipDM數(shù)據(jù)挖掘建模平臺(tái)上配置文本生成實(shí)訓(xùn)的總體流程如圖所示。實(shí)現(xiàn)文本生成在TipDM數(shù)據(jù)挖掘建模平臺(tái)上配置文本生成實(shí)訓(xùn),主要包括以下4個(gè)步驟。文本預(yù)處理,包括數(shù)據(jù)處理,字典創(chuàng)建以及序列生成。定義文本生成類的構(gòu)造函數(shù),權(quán)重初始化以及構(gòu)造網(wǎng)絡(luò)。設(shè)置配置項(xiàng),執(zhí)行訓(xùn)練并定義文本生成器用于生成文本。調(diào)用主函數(shù)生成文本,觀察并分析生成的文本。實(shí)現(xiàn)文本生成本章所使用的數(shù)據(jù)為一份英文文本(txt文件)。使用TipDM數(shù)據(jù)挖掘建模平臺(tái)導(dǎo)入數(shù)據(jù),步驟如下。新增數(shù)據(jù)集。單擊【實(shí)訓(xùn)數(shù)據(jù)】模塊,選擇【新增數(shù)據(jù)集】,如圖所示。配置數(shù)據(jù)源設(shè)置新增數(shù)據(jù)集參數(shù)。在【封面圖片】中隨意選擇一張封面圖片。在【名稱】中填入“文本數(shù)據(jù)集”?!居行冢ㄌ欤宽?xiàng)選擇【永久】。在【描述】中填入“文本生成”?!驹L問權(quán)限】項(xiàng)選擇【私有】。單擊【點(diǎn)擊上傳】選擇需要上傳的文件。等待顯示成功后,單擊【確定】按鈕,即可上傳數(shù)據(jù),如圖所示。配置數(shù)據(jù)源數(shù)據(jù)上傳完成后,新建一個(gè)命名為【文本生成】的空白實(shí)訓(xùn),配置一個(gè)【輸入源】算法,步驟如下。拖曳【輸入源】算法。在【實(shí)訓(xùn)】欄下方的【算法】欄中,找到【系統(tǒng)算法】模塊中【內(nèi)置算法】下的【輸入/輸出】類。拖曳【輸入/輸出】類中的【輸入源】算法至畫布中。配置數(shù)據(jù)源配置【輸入源】算法。單擊畫布中的【輸入源】算法,然后單擊畫布右側(cè)【參數(shù)配置】欄中的【數(shù)據(jù)集】框,輸入“文本數(shù)據(jù)集”。在彈出的下拉框中選擇【文本數(shù)據(jù)集】,在【名稱】框中勾選【book.txt】。右鍵單擊【輸入源】算法,選擇【重命名】并輸入“文本數(shù)據(jù)集”,如圖所示。配置數(shù)據(jù)源1.數(shù)據(jù)處理對(duì)于原始的文本數(shù)據(jù),含有大量的標(biāo)點(diǎn)符號(hào)以及存在大小寫并存的情況,因此需先對(duì)文本數(shù)據(jù)檢查處理,并生成一個(gè)字符列表,具體步驟如下。文本預(yù)處理本章數(shù)據(jù)預(yù)處理主要包括數(shù)據(jù)處理,字典創(chuàng)建,序列生成。創(chuàng)建【數(shù)據(jù)處理】算法。進(jìn)入【個(gè)人算法】模塊,單擊【個(gè)人算法】欄的加號(hào)新增個(gè)人算法,在【算法名稱】框中輸入算法名“數(shù)據(jù)處理”,將數(shù)據(jù)處理的代碼放入【算法代碼】中,并在【#<editable>】行和【#</editable>】行之間插入輸入配置和輸出配置,如圖所示。文本預(yù)處理連接【數(shù)據(jù)處理】算法。拖曳【數(shù)據(jù)處理】算法至畫布中,并與【文本數(shù)據(jù)集】算法相連接,如圖所示。文本預(yù)處理對(duì)于生成的字符列表,還需創(chuàng)建字典用于字符的編碼和解碼,具體步驟如下。創(chuàng)建【字典創(chuàng)建】算法。進(jìn)入【個(gè)人算法】模塊,單擊【個(gè)人算法】欄的加號(hào)新增個(gè)人算法,在【算法名稱】框中輸入算法名“字典創(chuàng)建”。將字典創(chuàng)建的代碼放入【算法代碼】中,并在【#<editable>】行和【#</editable>】行之間插入輸入配置和輸出配置,如圖所示。文本預(yù)處理2.字典創(chuàng)建

連接【字典創(chuàng)建】算法。拖曳【字典創(chuàng)建】算法至畫布中,并與【數(shù)據(jù)處理】算法相連接,如圖所示。文本預(yù)處理對(duì)于網(wǎng)絡(luò),需要形成一個(gè)給定長度的序列,每個(gè)序列將由窗口中包含的字符組成,具體步驟如下。創(chuàng)建【序列生成】算法。進(jìn)入【個(gè)人算法】模塊,單擊【個(gè)人算法】欄的加號(hào)新增個(gè)人算法,在【算法名稱】框中輸入算法名“序列生成”。將序列生成的代碼放入【算法代碼】中,并在【#<editable>】行和【#</editable>】行之間插入輸入配置和輸出配置,如圖所示。文本預(yù)處理3.序列生成連接【序列生成】算法。拖曳【序列生成】算法至畫布中,并與【字典創(chuàng)建】算法相連接,如圖所示。文本預(yù)處理1.文本生成類的構(gòu)造函數(shù)定義用于初始化神經(jīng)網(wǎng)絡(luò)每一層的參數(shù),具體步驟如下。構(gòu)建網(wǎng)絡(luò)在網(wǎng)絡(luò)的構(gòu)建中,需要?jiǎng)?chuàng)建文本生成類的構(gòu)造函數(shù)以及構(gòu)建網(wǎng)絡(luò)。創(chuàng)建【文本生成類的構(gòu)造函數(shù)】算法。進(jìn)入【個(gè)人算法】模塊,單擊【個(gè)人算法】欄的加號(hào)新增個(gè)人算法,在【算法名稱】框中輸入算法名“文本生成類的構(gòu)造函數(shù)”,將文本生成類的構(gòu)造函數(shù)的代碼放入【算法代碼】中,并在【#<editable>】行和【#</editable>】行之間插入輸入配置和輸出配置,如圖所示。構(gòu)建網(wǎng)絡(luò)連接【文本生成類的構(gòu)造函數(shù)】算法。拖曳【文本生成類的構(gòu)造函數(shù)】算法至畫布中,并與【序列生成】算法相連接,如圖所示。構(gòu)建網(wǎng)絡(luò)完成了包含隱藏狀態(tài)和單元狀態(tài)的張量的定義后,即可開始整個(gè)體系結(jié)構(gòu)的組裝,具體步驟如下。創(chuàng)建【構(gòu)建網(wǎng)絡(luò)】算法。進(jìn)入【個(gè)人算法】模塊,單擊【個(gè)人算法】欄的加號(hào)新增個(gè)人算法,在【算法名稱】框中輸入算法名“構(gòu)建網(wǎng)絡(luò)”。將構(gòu)建網(wǎng)絡(luò)的代碼放入【算法代碼】中,并在【#<editable>】行和【#</editable>】行之間插入輸入配置和輸出配置,如圖所示。構(gòu)建網(wǎng)絡(luò)2.構(gòu)建網(wǎng)絡(luò)連接【構(gòu)建網(wǎng)絡(luò)】。拖曳【構(gòu)建網(wǎng)絡(luò)】算法至畫布中,并與【文本生成類的構(gòu)造函數(shù)】算法相連接,如圖所示。構(gòu)建網(wǎng)絡(luò)1.設(shè)置配置項(xiàng)在設(shè)置配置項(xiàng)中,需要設(shè)置循環(huán)次數(shù)和輸入數(shù)據(jù)的批量大小,具體步驟如下。訓(xùn)練網(wǎng)絡(luò)網(wǎng)絡(luò)的訓(xùn)練主要分為設(shè)置配置項(xiàng)、執(zhí)行效率、文本生成3個(gè)步驟。創(chuàng)建【設(shè)置配置項(xiàng)】算法。進(jìn)入【個(gè)人算法】模塊,單擊【個(gè)人算法】欄的加號(hào)新增個(gè)人算法,在【算法名稱】框中輸入算法名“設(shè)置配置項(xiàng)”,將設(shè)置配置項(xiàng)的代碼放入【算法代碼】中,并在【#<editable>】行和【#</editable>】行之間插入輸入配置和輸出配置,如圖所示。訓(xùn)練網(wǎng)絡(luò)連接【設(shè)置配置項(xiàng)】算法。拖曳【設(shè)置配置項(xiàng)】算法至畫布中,并與【構(gòu)建網(wǎng)絡(luò)】算法相連接,如圖所示。訓(xùn)練網(wǎng)絡(luò)為了執(zhí)行訓(xùn)練,需要初始化網(wǎng)絡(luò)和優(yōu)化器,一旦網(wǎng)絡(luò)被訓(xùn)練,將需要保存神經(jīng)網(wǎng)絡(luò)的權(quán)重,以便以后使用它們來生成文本,具體步驟如下。創(chuàng)建【執(zhí)行訓(xùn)練】算法。進(jìn)入【個(gè)人算法】模塊,單擊【個(gè)人算法】欄的加號(hào)新增個(gè)人算法,在【算法名稱】框中輸入算法名“執(zhí)行訓(xùn)練”。將執(zhí)行訓(xùn)練的代碼放入【算法代碼】中,并在【#<editable>】行和【#</editable>】行之間插入輸入配置和輸出配置,如圖所示。訓(xùn)練網(wǎng)絡(luò)2.執(zhí)行訓(xùn)練連接【執(zhí)行訓(xùn)練】算法。拖曳【執(zhí)行訓(xùn)練】

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論