Diffusion AI繪圖模型構(gòu)造與訓(xùn)練實(shí)戰(zhàn)
定 價(jià):¥79
中 教 價(jià):¥47.40 (6.00折)
庫(kù) 存 數(shù): 5
叢 書(shū) 名:跟我一起學(xué)人工智能
本書(shū)是對(duì)DiffusionAI繪圖模型的綜合性講解書(shū)籍,書(shū)中包括最基礎(chǔ)的組件的用例演示,也包括具體的項(xiàng)目實(shí)戰(zhàn),以及Diffusion模型的底層設(shè)計(jì)思路和實(shí)現(xiàn)原理的介紹。通過(guò)本書(shū)的學(xué)習(xí),讀者可以快速掌握Diffusion模型的使用方法,掌握AI繪圖模型的訓(xùn)練、測(cè)試過(guò)程,并能研發(fā)屬于自己的AI繪圖模型。本書(shū)共19章,分為快速上手篇(第1~2章),概述了Diffusion模型的發(fā)展歷史,介紹了開(kāi)發(fā)環(huán)境的部署方法,以及Diffusion模型的快速上手演示。以文生圖的Diffusion模型的訓(xùn)練方法篇(第3~7章),通過(guò)5個(gè)實(shí)戰(zhàn)任務(wù)演示使用高層API的方法快速訓(xùn)練Diffusion模型。圖像生成模型的歷史發(fā)展篇(第8~12章),演示了前Diffusion時(shí)代的幾個(gè)代表性的圖像生成模型。以圖生圖的Diffusion模型的訓(xùn)練方法篇(第13~15章),通過(guò)3個(gè)實(shí)戰(zhàn)項(xiàng)目演示了以圖生圖的Diffusion模型的訓(xùn)練方法。以圖生圖模型的歷史發(fā)展篇(第16~18章),演示了前Diffusion時(shí)代的幾個(gè)以圖生圖模型。完全手動(dòng)構(gòu)造Diffusion模型篇(第19章),演示了從零開(kāi)始的Diffusion模型的搭建、訓(xùn)練、測(cè)試方法。本書(shū)將使用最簡(jiǎn)單淺顯的語(yǔ)言,帶領(lǐng)讀者快速地了解Diffusion模型的訓(xùn)練、測(cè)試方法。通過(guò)本書(shū)中實(shí)戰(zhàn)項(xiàng)目的學(xué)習(xí),讀者可以掌握一般的AI繪圖模型的研發(fā)流程。通過(guò)本書(shū)中Diffusion模型底層原理的學(xué)習(xí),能夠讓讀者知其然也知其所以然,做到融會(huì)貫通。
內(nèi)容全面 本書(shū)是一本對(duì)Diffusion AI繪圖模型進(jìn)行綜合性講解的書(shū)籍,既有基礎(chǔ)知識(shí),也有實(shí)戰(zhàn)示例,還包括底層原理的講解。 語(yǔ)言簡(jiǎn)潔 本書(shū)盡量以簡(jiǎn)潔的語(yǔ)言書(shū)寫(xiě),每個(gè)章節(jié)之間的內(nèi)容盡量獨(dú)立,使讀者可以跳躍閱讀而沒(méi)有障礙。 代碼清晰 本書(shū)的代碼也盡量以簡(jiǎn)潔的形式書(shū)寫(xiě),使讀者閱讀不感吃力。每個(gè)代碼塊即是一個(gè)測(cè)試單元,讀者可以對(duì)每個(gè)程序的每個(gè)代碼塊按從上到下的順序進(jìn)行測(cè)試,從一個(gè)個(gè)小知識(shí)點(diǎn)聚沙成塔,融會(huì)貫通。
自從AI繪圖技術(shù)面世以來(lái),激發(fā)了很多人進(jìn)行藝術(shù)創(chuàng)作的興趣,創(chuàng)作繪畫(huà)曾經(jīng)是一件有很高門(mén)檻的活動(dòng),然而現(xiàn)在,只要輸入一句描述文本,計(jì)算機(jī)就能根據(jù)文本的內(nèi)容生成相應(yīng)的繪畫(huà)作品,并且在作畫(huà)的細(xì)節(jié)上表現(xiàn)得十分優(yōu)秀,甚至能超越很多職業(yè)畫(huà)師,讓畫(huà)師這一職業(yè)的發(fā)展前景看起來(lái)岌岌可危。初見(jiàn)這種技術(shù)時(shí),大多數(shù)人會(huì)被它的表現(xiàn)所震撼,筆者也不例外,這里的AI繪圖指的是以Diffusion模型為代表的以文生圖模型。事實(shí)上圖像生成并不是很新的技術(shù),在Diffusion模型之前就已經(jīng)有自動(dòng)編碼(Auto Encoder,AE)、生成對(duì)抗網(wǎng)絡(luò)(Generative Adversarial Network,GAN)等一系列模型,并且也都取得了很好的成績(jī),之所以還是會(huì)被震撼到,是因?yàn)镈iffusion模型把圖像生成這件事情一下子提高到了過(guò)去無(wú)法企及的高度,尤其是作畫(huà)的質(zhì)量,是過(guò)去的模型無(wú)法相比的,Diffusion模型生成的圖像很清晰,還能使用文本控制圖像的內(nèi)容,過(guò)去的模型想生成一張清晰的圖片,難度就已經(jīng)不小了,更不用說(shuō)再去控制圖像的內(nèi)容了。Diffusion模型優(yōu)秀的地方還在于生成內(nèi)容的豐富性上,無(wú)論描述文本的內(nèi)容是自然風(fēng)景、古典建筑、人物肖像、動(dòng)漫卡通,還是可愛(ài)的小動(dòng)物,都可以很自然地生成,這體現(xiàn)了Diffusion模型巨大的知識(shí)量,說(shuō)明它見(jiàn)過(guò)的圖像和文本是海量的,這和過(guò)去的傳統(tǒng)模型拉開(kāi)了差距。自從BERT到ChatGPT以來(lái),大模型的思想被不斷強(qiáng)化,Diffusion模型也符合大模型思想。作為技術(shù)人員,可能會(huì)對(duì)Diffusion模型的底層原理非常感興趣,本書(shū)將從Diffusion模型的高層API開(kāi)始,逐漸深入地講解Diffusion模型的底層原理。Diffusion模型中借鑒了一些歷史模型的經(jīng)驗(yàn),在接觸到這些知識(shí)時(shí)本書(shū)會(huì)作為單獨(dú)章節(jié)進(jìn)行講解,以幫助讀者構(gòu)建完整的知識(shí)體系。本書(shū)中所有的實(shí)戰(zhàn)任務(wù)都配有完整的可執(zhí)行代碼,本書(shū)和書(shū)中代碼筆者都盡量以簡(jiǎn)單、淺顯的語(yǔ)言書(shū)寫(xiě),盡量避免無(wú)意義的內(nèi)容,以幫助讀者快速、準(zhǔn)確地理解本書(shū)中的知識(shí)。通過(guò)本書(shū)的學(xué)習(xí),讀者能夠快速地掌握Diffusion模型的構(gòu)建、訓(xùn)練、測(cè)試方法,并且能夠獨(dú)立研發(fā)屬于自己的Diffusion繪圖模型。
李福林,一個(gè)在IT領(lǐng)域摸爬滾打十多年的老程序員、培訓(xùn)師,精通多種IT技術(shù),具有軟件設(shè)計(jì)師職稱。分享了多部AI技術(shù)教程,受到了讀者的廣泛贊譽(yù)。現(xiàn)任職于陽(yáng)獅集團(tuán),擔(dān)任算法工程師職位。教學(xué)風(fēng)格追求化繁為簡(jiǎn),務(wù)實(shí)而不空談,課程設(shè)計(jì)思路清晰,課程演繹說(shuō)理透徹,對(duì)AI領(lǐng)域技術(shù)有自己獨(dú)到的見(jiàn)解。
第1章介紹Diffusion模型的發(fā)展歷程,以及本書(shū)中相關(guān)任務(wù)的訓(xùn)練方法。第2章介紹開(kāi)發(fā)環(huán)境的配置,并且快速上手Diffusion模型的使用。第3章介紹不定圖像的生成任務(wù)。第4章介紹文本訓(xùn)練方法。第5章介紹Dream Booth訓(xùn)練方法。第6章介紹圖文結(jié)合的訓(xùn)練方法。第7章介紹使用LoRA技巧加速訓(xùn)練。第8章介紹AE模型。第9章介紹VAE模型。第10章介紹DCGAN模型。第11章介紹WGANGP模型。第12章手動(dòng)構(gòu)造一個(gè)沒(méi)有文本輸入的Diffusion模型。第13章介紹ControlNet組件。第14章介紹Instruct Pix2Pix訓(xùn)練方法。第15章介紹正負(fù)樣本混合訓(xùn)練方法。第16章介紹Pix2Pix模型。第17章介紹CycleGAN模型。第18章介紹風(fēng)格遷移任務(wù)。第19章手動(dòng)構(gòu)建一個(gè)完整的Diffusion模型。閱讀建議本書(shū)是一本對(duì)Diffusion模型進(jìn)行綜合性講解的書(shū)籍,既有基礎(chǔ)知識(shí),也有實(shí)戰(zhàn)示例,也包括底層原理的講解。本書(shū)盡量以簡(jiǎn)潔的語(yǔ)言書(shū)寫(xiě),每個(gè)章節(jié)之間的內(nèi)容盡量獨(dú)立,使讀者可以跳躍閱讀而沒(méi)有障礙。作為一本實(shí)戰(zhàn)型書(shū)籍,讀者要掌握本書(shū)的知識(shí),務(wù)必要結(jié)合代碼調(diào)試,本書(shū)的代碼也盡量以簡(jiǎn)潔的形式書(shū)寫(xiě),使讀者閱讀時(shí)不感吃力。每個(gè)代碼塊即是一個(gè)測(cè)試單元,讀者可以對(duì)每個(gè)程序的每個(gè)代碼塊按從上到下的順序進(jìn)行測(cè)試,從一個(gè)個(gè)小知識(shí)點(diǎn)聚沙成塔,融會(huì)貫通。資源下載提示素材(源碼)等資源: 掃描封底的文泉云盤(pán)防盜碼,再掃描目錄上方的二維碼下載。致謝感謝HuggingFace社區(qū)無(wú)私的奉獻(xiàn),因?yàn)橛辛四銈兊墓ぷ鞒晒緯?shū)才得以以簡(jiǎn)潔、標(biāo)準(zhǔn)化的API面世。在書(shū)寫(xiě)本書(shū)的過(guò)程中,我竭盡所能為讀者呈現(xiàn)最好的內(nèi)容,錯(cuò)漏難免會(huì)存在,敬請(qǐng)讀者批評(píng)指正。
李福林2023年11月
本書(shū)源碼
快速上手篇第1章Diffusion模型31.1Diffusion模型介紹31.1.1Diffusion模型的演化之路41.1.2圖像以外的應(yīng)用61.1.3其他的繪圖模型61.2微調(diào)預(yù)訓(xùn)練模型61.2.1預(yù)訓(xùn)練模型61.2.2微調(diào)模型以適應(yīng)新數(shù)據(jù)71.2.3微調(diào)相比重新訓(xùn)練的優(yōu)勢(shì)71.3小結(jié)8第2章快速上手92.1部署開(kāi)發(fā)環(huán)境92.2HuggingFace簡(jiǎn)介和快速上手112.2.1快速上手112.2.2加速技巧122.3Diffusion模型相關(guān)組件介紹132.3.1tokenizer132.3.2scheduler152.3.3Encoder162.3.4VAE172.3.5UNet182.4小結(jié)20訓(xùn)練方法篇第3章不定圖像的生成233.1任務(wù)簡(jiǎn)介233.2數(shù)據(jù)集介紹233.3測(cè)試部分243.3.1測(cè)試函數(shù)243.3.2未訓(xùn)練模型的測(cè)試結(jié)果253.3.3訓(xùn)練后模型的測(cè)試結(jié)果273.4訓(xùn)練部分283.4.1全局常量283.4.2定義數(shù)據(jù)集283.4.3定義模型303.4.4初始化工具類313.4.5計(jì)算loss323.4.6訓(xùn)練343.5小結(jié)35第4章文本訓(xùn)練364.1任務(wù)簡(jiǎn)介364.2數(shù)據(jù)集介紹364.3測(cè)試部分374.3.1測(cè)試函數(shù)374.3.2未訓(xùn)練模型的測(cè)試結(jié)果384.3.3訓(xùn)練后模型的測(cè)試結(jié)果394.4訓(xùn)練部分394.4.1全局常量394.4.2定義數(shù)據(jù)集394.4.3定義模型444.4.4初始化工具類474.4.5計(jì)算loss474.4.6訓(xùn)練504.5小結(jié)51第5章Dream Booth535.1任務(wù)簡(jiǎn)介535.2數(shù)據(jù)集介紹535.3測(cè)試部分545.3.1測(cè)試函數(shù)545.3.2未訓(xùn)練模型的測(cè)試結(jié)果555.3.3訓(xùn)練后模型的測(cè)試結(jié)果555.4訓(xùn)練部分565.4.1全局常量565.4.2定義數(shù)據(jù)集565.4.3定義模型605.4.4初始化工具類615.4.5計(jì)算loss615.4.6訓(xùn)練625.5小結(jié)64第6章圖文結(jié)合的訓(xùn)練656.1任務(wù)簡(jiǎn)介656.2數(shù)據(jù)集介紹656.3測(cè)試部分666.3.1測(cè)試函數(shù)676.3.2未訓(xùn)練模型的測(cè)試結(jié)果686.3.3訓(xùn)練后模型的測(cè)試結(jié)果686.4訓(xùn)練部分696.4.1全局常量696.4.2定義數(shù)據(jù)集696.4.3定義模型736.4.4初始化工具類736.4.5計(jì)算loss746.4.6訓(xùn)練756.5小結(jié)77第7章LoRA Dream Booth787.1任務(wù)簡(jiǎn)介787.2數(shù)據(jù)集介紹797.3測(cè)試部分797.3.1測(cè)試函數(shù)797.3.2未訓(xùn)練模型的測(cè)試結(jié)果807.3.3訓(xùn)練后模型的測(cè)試結(jié)果807.4訓(xùn)練部分817.4.1全局常量817.4.2定義數(shù)據(jù)集817.4.3定義模型847.4.4初始化工具類877.4.5計(jì)算loss877.4.6訓(xùn)練887.5小結(jié)89圖像生成模型的歷史發(fā)展篇第8章AE模型938.1模型原理介紹938.2鮮花數(shù)據(jù)集介紹948.3定義數(shù)據(jù)集958.4定義神經(jīng)網(wǎng)絡(luò)模型988.4.1定義Block工具層988.4.2定義Encoder和Decoder1008.5訓(xùn)練1018.5.1訓(xùn)練前的準(zhǔn)備工作1018.5.2執(zhí)行訓(xùn)練1028.6測(cè)試1048.6.1測(cè)試本地訓(xùn)練的模型1048.6.2使用訓(xùn)練好的模型測(cè)試1058.7小結(jié)105第9章VAE模型1069.1AE模型的缺陷1069.2定義神經(jīng)網(wǎng)絡(luò)模型1079.3訓(xùn)練1089.3.1訓(xùn)練前的準(zhǔn)備工作1089.3.2執(zhí)行訓(xùn)練1099.4測(cè)試1119.4.1測(cè)試本地訓(xùn)練的模型1119.4.2使用訓(xùn)練好的模型測(cè)試1119.5小結(jié)113第10章DCGAN模型11410.1模型原理介紹11410.2定義神經(jīng)網(wǎng)絡(luò)模型11510.2.1定義CLS模型11510.2.2定義GEN模型11610.3訓(xùn)練11710.3.1訓(xùn)練前的準(zhǔn)備工作11710.3.2訓(xùn)練CLS模型的函數(shù)11810.3.3訓(xùn)練GEN模型的函數(shù)11910.3.4執(zhí)行訓(xùn)練12010.4測(cè)試12210.4.1測(cè)試本地訓(xùn)練的模型12210.4.2使用訓(xùn)練好的模型測(cè)試12210.5小結(jié)123第11章WGANGP模型12411.1模型原理介紹12411.2定義神經(jīng)網(wǎng)絡(luò)模型12511.3訓(xùn)練12611.3.1訓(xùn)練前的準(zhǔn)備工作12611.3.2訓(xùn)練CLS模型的函數(shù)12711.3.3執(zhí)行訓(xùn)練12811.4測(cè)試13011.4.1測(cè)試本地訓(xùn)練的模型13011.4.2使用訓(xùn)練好的模型測(cè)試13011.5小結(jié)131第12章Diffusion模型13212.1模型原理介紹13212.2定義神經(jīng)網(wǎng)絡(luò)模型13412.3定義圖像生成函數(shù)14212.4訓(xùn)練14412.5測(cè)試14612.6小結(jié)147訓(xùn)練方法篇第13章ControlNet以圖生圖15113.1任務(wù)簡(jiǎn)介15113.2數(shù)據(jù)集介紹15313.3測(cè)試部分15413.3.1測(cè)試函數(shù)15513.3.2未訓(xùn)練模型的測(cè)試結(jié)果15613.3.3訓(xùn)練后模型的測(cè)試結(jié)果15813.4訓(xùn)練部分15913.4.1全局常量15913.4.2定義數(shù)據(jù)集15913.4.3定義ControlNet模型16213.4.4定義模型16813.4.5初始化工具類16913.4.6計(jì)算loss16913.4.7訓(xùn)練17113.5小結(jié)172第14章Instruct Pix2Pix圖像調(diào)整17314.1任務(wù)簡(jiǎn)介17314.2數(shù)據(jù)集介紹17414.3測(cè)試部分17514.3.1加載數(shù)據(jù)集17514.3.2測(cè)試函數(shù)17614.4訓(xùn)練部分17914.4.1全局常量17914.4.2定義數(shù)據(jù)集18014.4.3定義模型18114.4.4初始化工具類18214.4.5計(jì)算loss18314.4.6訓(xùn)練18614.5小結(jié)187第15章正、負(fù)樣本混合訓(xùn)練18815.1任務(wù)簡(jiǎn)介18815.2數(shù)據(jù)集介紹18815.3測(cè)試部分19015.3.1配置環(huán)境19015.3.2測(cè)試函數(shù)19115.3.3未訓(xùn)練模型的測(cè)試結(jié)果19115.3.4訓(xùn)練后模型的測(cè)試結(jié)果19215.4訓(xùn)練部分19315.4.1全局常量19315.4.2定義數(shù)據(jù)集19315.4.3定義模型20015.4.4初始化工具類20315.4.5計(jì)算loss20315.4.6訓(xùn)練20615.5小結(jié)207以圖生圖模型的歷史發(fā)展篇第16章Pix2Pix模型21116.1任務(wù)介紹21116.2數(shù)據(jù)集介紹21216.3定義數(shù)據(jù)集21316.4定義神經(jīng)網(wǎng)絡(luò)模型21616.4.1定義CLS模型21716.4.2定義殘差連接層21716.4.3定義GEN模型21816.5訓(xùn)練22016.5.1訓(xùn)練前的準(zhǔn)備工作22016.5.2訓(xùn)練CLS的函數(shù)22116.5.3訓(xùn)練GEN的函數(shù)22216.5.4執(zhí)行訓(xùn)練22316.6測(cè)試22616.6.1測(cè)試本地訓(xùn)練的模型22616.6.2使用訓(xùn)練好的模型測(cè)試22816.7小結(jié)228第17章CycleGAN模型23017.1模型原理介紹23017.2數(shù)據(jù)集介紹23117.3定義數(shù)據(jù)集23217.4定義神經(jīng)網(wǎng)絡(luò)模型23417.4.1定義CLS模型23417.4.2定義GEN模型23517.5訓(xùn)練23717.5.1訓(xùn)練前的準(zhǔn)備工作23717.5.2訓(xùn)練CLS的函數(shù)23817.5.3訓(xùn)練GEN的函數(shù)23917.5.4執(zhí)行訓(xùn)練24217.6測(cè)試24317.6.1測(cè)試本地訓(xùn)練的模型24317.6.2使用訓(xùn)練好的模型測(cè)試24417.7小結(jié)245Diffusion模型篇第18章風(fēng)格遷移24918.1模型原理介紹24918.1.1針對(duì)單張圖片的風(fēng)格遷移24918.1.2基于神經(jīng)網(wǎng)絡(luò)模型的風(fēng)格遷移25018.1.3風(fēng)格遷移模型的訓(xùn)練方法25018.1.4數(shù)據(jù)部分25118.2定義神經(jīng)網(wǎng)絡(luò)模型25218.2.1定義CLS模型25418.2.2定義抽取內(nèi)容特征的函數(shù)25418.2.3定義抽取風(fēng)格特征的函數(shù)25518.2.4加載風(fēng)格圖片特征25618.3訓(xùn)練25718.3.1訓(xùn)練前的準(zhǔn)備工作25718.3.2執(zhí)行訓(xùn)練25718.4測(cè)試25918.4.1測(cè)試本地訓(xùn)練的模型25918.4.2使用訓(xùn)練好的模型測(cè)試26018.5小結(jié)260第19章手動(dòng)構(gòu)建Diffusion模型26119.1模型原理介紹26119.2Encoder模型26319.2.1編碼層26319.2.2注意力層26419.2.3編碼器層26619.2.4Encoder模型26819.2.5載入?yún)?shù)26819.2.6試算27019.3VAE模型27019.3.1殘差連接層27019.3.2注意力層27219.3.3Pad工具層27419.3.4VAE模型27519.3.5載入?yún)?shù)27819.3.6試算28019.4UNet模型28119.4.1模型結(jié)構(gòu)28119.4.2殘差連接層28219.4.3注意力層28419.4.4Transformers層28619.4.5down層28919.4.6up層29019.4.7UNet模型29119.4.8載入?yún)?shù)29619.4.9試算29819.5訓(xùn)練29919.5.1加載工具類29919.5.2定義數(shù)據(jù)集30019.5.3定義模型30319.5.4計(jì)算loss30419.5.5執(zhí)行訓(xùn)練30519.6測(cè)試30619.6.1定義生成函數(shù)30619.6.2定義測(cè)試函數(shù)30819.6.3測(cè)試未訓(xùn)練的模型30919.6.4測(cè)試訓(xùn)練好的模型31019.7小結(jié)311