国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

基于Diffusion Model的數(shù)據(jù)增強方法應(yīng)用——畢業(yè)設(shè)計 其三

這篇具有很好參考價值的文章主要介紹了基于Diffusion Model的數(shù)據(jù)增強方法應(yīng)用——畢業(yè)設(shè)計 其三。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

題目簡介

筆者個人的畢業(yè)設(shè)計課題如下:

簡介:使用預(yù)訓(xùn)練的Diffusion Model圖像生成模型生成圖像,將這些生成的圖像作為擴充訓(xùn)練集加入到2D目標(biāo)檢測器、2D圖像分類器的訓(xùn)練過程。深度學(xué)習(xí)是數(shù)據(jù)驅(qū)動的,隨著數(shù)據(jù)量的擴充,能夠提高檢測器、分類器的魯棒性、準確性。
建議的baseline:
分類:ResNet
檢測:YOLO

可以看到,給的題目難度還是比較輕松的;本次畢設(shè)的全過程會以周為單位采用博客的形式記錄下來。

前言

由于個人原因,這周還是沒法使用實驗室的卡;但是不要緊,手邊有一臺剛組的機子,配的12G的4070ti,用來跑一個擴散模型還是沒什么問題的。
另一方面需要考慮的是,基于Diffusion Model這個原理的模型有很多,具體要使用哪一個來完成本次畢業(yè)設(shè)計呢?筆者第一時間想到的是發(fā)表在去年CVPR上的Stable Diffusion,很多人熟悉的AI繪畫去年的大火,和這個模型是脫不開關(guān)系的。
基于Diffusion Model的數(shù)據(jù)增強方法應(yīng)用——畢業(yè)設(shè)計 其三
上圖所示為Stable Diffusion的官網(wǎng)

一方面,在擴散模型的理論應(yīng)用上,最出名又最新的就是Stable Model;另一方面,免費開源,且模型設(shè)計親民,甚至可以在消費級顯卡上運行(雖然該模型一般需求顯存10G以上),這些都讓它一下帶火了AI繪畫,反而很多人可能并不了解這個模型背后的擴散模型的理論。不過從各方面考慮,在本次畢業(yè)設(shè)計選擇該模型都是個不錯的選擇。

Stable Diffusion

Stable Diffusion是一個文本到圖像的潛在擴散模型,由CompVis、Stability AI和LAION的研究人員和工程師創(chuàng)建。它使用來自LAION-5B數(shù)據(jù)庫子集的512x512圖像進行訓(xùn)練。

官方網(wǎng)站:https://stability.ai/blog/stable-diffusion-public-release
不回答為什么進不去,或者打不開的問題

Stable Diffusion是一種機器學(xué)習(xí)模型,它經(jīng)過訓(xùn)練可以逐步對隨機高斯噪聲進行去噪以獲得感興趣的樣本,例如生成圖像。

擴散模型有一個主要的缺點就是去噪過程的時間和內(nèi)存消耗都非常昂貴。這會使進程變慢,并消耗大量內(nèi)存。主要原因是它們在像素空間中運行,特別是在生成高分辨率圖像時。

Latent diffusion通過在較低維度的潛空間上應(yīng)用擴散過程而不是使用實際的像素空間來減少內(nèi)存和計算成本。所以Stable Diffusion引入了Latent diffusion的方式來解決這一問題計算代價昂貴的問題。

Latent diffusion

自動編碼器(VAE)

自動編碼器(VAE)由兩個主要部分組成:編碼器和解碼器。編碼器將把圖像轉(zhuǎn)換成低維的潛在表示形式,該表示形式將作為下一個組件U_Net的輸入。解碼器將做相反的事情,它將把潛在的表示轉(zhuǎn)換回圖像。

在Latent diffusion訓(xùn)練過程中,利用編碼器獲得正向擴散過程中輸入圖像的潛表示(latent)。而在推理過程中,VAE解碼器將把潛信號轉(zhuǎn)換回圖像。

U-Net

U-Net也包括編碼器和解碼器兩部分,兩者都由ResNet塊組成。編碼器將圖像表示壓縮為低分辨率圖像,解碼器將低分辨率解碼回高分辨率圖像。
基于Diffusion Model的數(shù)據(jù)增強方法應(yīng)用——畢業(yè)設(shè)計 其三

為了防止U-Net在下采樣時丟失重要信息,通常在編碼器的下采樣的ResNet和解碼器的上采樣ResNet之間添加了捷徑的連接。

在Stable Diffusion的U-Net中添加了交叉注意層對文本嵌入的輸出進行調(diào)節(jié)。交叉注意層被添加到U-Net的編碼器和解碼器ResNet塊之間。

Text-Encoder

文本編碼器將把輸入文字提示轉(zhuǎn)換為U-Net可以理解的嵌入空間,這是一個簡單的基于transformer的編碼器,它將標(biāo)記序列映射到潛在文本嵌入序列。

Stable Diffusion的推理過程

基于Diffusion Model的數(shù)據(jù)增強方法應(yīng)用——畢業(yè)設(shè)計 其三

首先,模型將潛在空間的隨機種子和文本提示同時作為輸入。然后使用潛在空間的種子生成大小為64×64的隨機潛在圖像表示,通過CLIP的文本編碼器將輸入的文本提示轉(zhuǎn)換為大小為77×768的文本嵌入。

然后,使用U-Net 在以文本嵌入為條件的同時迭代地對隨機潛在圖像表示進行去噪。 U-Net 的輸出是噪聲的殘差,用于通過scheduler 程序算法計算去噪的潛在圖像表示。 scheduler 算法根據(jù)先前的噪聲表示和預(yù)測的噪聲殘差計算預(yù)測的去噪圖像表示。

許多不同的scheduler 算法可以用于這個計算,每一個都有它的優(yōu)點和缺點。對于Stable Diffusion,建議使用以下其中之一:

PNDM scheduler (默認)

DDIM scheduler

K-LMS scheduler

去噪過程重復(fù)約50次,這樣可以逐步檢索更好的潛在圖像表示。一旦完成,潛在圖像表示就會由變分自編碼器的解碼器部分進行解碼。

從零開始配置實驗環(huán)境

因為這次用的是新組的機子,所以正好可以演示一下怎么從頭開始配置各項環(huán)境到運行;為了方便大多數(shù)人的使用習(xí)慣,這里使用WIN而非Linux。

IDE

這部分可以自行安裝,pycharm或者VScode都是不錯的選擇

Anaconda

什么是Anconda?Anaconda是開源的Python發(fā)行版本,其包含了conda、Python等180多個科學(xué)包及其依賴項。conda是一個開源的包、環(huán)境管理器,可以用于在同一個機器上安裝不同版本的軟件包及其依賴,并能夠在不同的環(huán)境之間切換。

官網(wǎng):https://www.anaconda.com/

安裝過程可以自行查找 這里不做贅述
需要注意的是,在安裝過程中可以選擇Add Anaconda3 to the system PATH選項,自動添加環(huán)境變量
如果選不了的話,也可以自己手動添加,過程很簡單,具體可以自行百度
基于Diffusion Model的數(shù)據(jù)增強方法應(yīng)用——畢業(yè)設(shè)計 其三

CUDA和CuDNN

CUDA 是 NVIDIA 發(fā)明的一種并行計算平臺和編程模型。它通過利用GPU的處理能力,可大幅提升計算性能

CuDNN (NVIDIA CUDA 深度神經(jīng)網(wǎng)絡(luò)庫) 是一個 GPU 加速的深度神經(jīng)網(wǎng)絡(luò)基元庫,能夠以高度優(yōu)化的方式實現(xiàn)標(biāo)準例程(如前向和反向卷積、池化層、歸一化和激活層)。

全球的深度學(xué)習(xí)研究人員和框架開發(fā)者都依賴CuDNN 來實現(xiàn)高性能 GPU 加速。借助 CuDNN,研究人員和開發(fā)者可以專注于訓(xùn)練神經(jīng)網(wǎng)絡(luò)及開發(fā)軟件應(yīng)用,而不必花時間進行低層級的 GPU 性能調(diào)整。

CuDNN 可加速廣泛應(yīng)用的深度學(xué)習(xí)框架,包括 Caffe2、Chainer、Keras、MATLAB、MxNet、PaddlePaddle、PyTorch 和 TensorFlow。我們接下來就需要用到Pytorch深度學(xué)習(xí)框架。

為了進行這一步,我們首先要確認你的電腦可以支持的最高CUDA版本和顯存(雖然后者一般都知道)

在控制臺輸入代碼 nvidia–smi
基于Diffusion Model的數(shù)據(jù)增強方法應(yīng)用——畢業(yè)設(shè)計 其三

如上圖所示,筆者的4070ti最高支持12.1的CUDA,并且有12G顯存

英偉達CUDA官網(wǎng):https://developer.nvidia.com/cuda-toolkit-archive

接下來要涉及CUDA版本的選擇,自行去官網(wǎng)查看版本和驅(qū)動對應(yīng)關(guān)系;
簡單來說,驅(qū)動版本應(yīng)該高于cuda需求版本

筆者這里以11.7為例
基于Diffusion Model的數(shù)據(jù)增強方法應(yīng)用——畢業(yè)設(shè)計 其三
注意上面的選擇
基于Diffusion Model的數(shù)據(jù)增強方法應(yīng)用——畢業(yè)設(shè)計 其三
基于Diffusion Model的數(shù)據(jù)增強方法應(yīng)用——畢業(yè)設(shè)計 其三

安裝完成

CuDNN

英偉達CuDNN網(wǎng)站:https://developer.nvidia.com/rdp/cudnn-archive#a-collapse860-118

這里要提一句,CuDNN在官方的網(wǎng)站下載的話,是需要注冊用戶的。
如果嫌麻煩或者是網(wǎng)絡(luò)原因的話,可以去第三方網(wǎng)站和論壇下載鏡像資源,注意和CUDA的版本對應(yīng)
基于Diffusion Model的數(shù)據(jù)增強方法應(yīng)用——畢業(yè)設(shè)計 其三
注意不要下載成linux的
基于Diffusion Model的數(shù)據(jù)增強方法應(yīng)用——畢業(yè)設(shè)計 其三
注意CuDNN是CUDA的補充庫,所以不是安裝包的形式,而是直接拖到CUDA路徑覆蓋的補丁安裝形式

下面進行驗證是否安裝完成
基于Diffusion Model的數(shù)據(jù)增強方法應(yīng)用——畢業(yè)設(shè)計 其三
打開如上圖所示路徑
打開CMD后,拖入 deviceQuery.exe 和 bandwidthTest.exe
如果出現(xiàn)下圖中的Result = PASS 則證明安裝完成
基于Diffusion Model的數(shù)據(jù)增強方法應(yīng)用——畢業(yè)設(shè)計 其三
基于Diffusion Model的數(shù)據(jù)增強方法應(yīng)用——畢業(yè)設(shè)計 其三

Stable Diffusion的本地部署

github地址:https://github.com/CompVis/stable-diffusion
基于Diffusion Model的數(shù)據(jù)增強方法應(yīng)用——畢業(yè)設(shè)計 其三

克隆到本地
接下來要安裝對應(yīng)環(huán)境,這里建議使用虛擬環(huán)境
基于Diffusion Model的數(shù)據(jù)增強方法應(yīng)用——畢業(yè)設(shè)計 其三
環(huán)境名可以自定義,python版本建議用官方環(huán)境的3.8.5
基于Diffusion Model的數(shù)據(jù)增強方法應(yīng)用——畢業(yè)設(shè)計 其三
驗證虛擬環(huán)境安裝完成
打開克隆的代碼倉,找到其中的環(huán)境需求單
基于Diffusion Model的數(shù)據(jù)增強方法應(yīng)用——畢業(yè)設(shè)計 其三
這里一般存在兩種安裝方式
直接在控制臺對該文件一鍵安裝,和按照版本號分開單獨安裝。
這里的可以按照自己需求來操作,筆者選擇后者。
基于Diffusion Model的數(shù)據(jù)增強方法應(yīng)用——畢業(yè)設(shè)計 其三
numpy安裝完畢

關(guān)于pytorch部分,可以直接命令行安裝(高概率因為網(wǎng)絡(luò)原因各種報錯)
或者直接離線下載

https://download.pytorch.org/whl/torch_stable.html

但是需要自己去下面的官方網(wǎng)站查好版本號對應(yīng)關(guān)系

https://github.com/pytorch/vision/blob/main/README.rst

基于Diffusion Model的數(shù)據(jù)增強方法應(yīng)用——畢業(yè)設(shè)計 其三
在存放目錄處點擊紅線旁空白區(qū)域,輸入cmd(在指定目錄打開控制臺)
基于Diffusion Model的數(shù)據(jù)增強方法應(yīng)用——畢業(yè)設(shè)計 其三
本地安裝
基于Diffusion Model的數(shù)據(jù)增強方法應(yīng)用——畢業(yè)設(shè)計 其三
安裝完成
基于Diffusion Model的數(shù)據(jù)增強方法應(yīng)用——畢業(yè)設(shè)計 其三

驗證安裝(忽視中間的拼寫錯誤)

剩下的安裝和numpy一樣

也可以用如下語句一次性安裝(大多不會出現(xiàn)網(wǎng)絡(luò)或者版本錯誤)

pip install albumentations diffusers opencv-python pudb invisible-watermark imageio imageio-ffmpeg pytorch-lightning omegaconf test-tube streamlit einops torch-fidelity transformers torchmetrics kornia

接下來切換到代碼目錄
并把另外兩個項目克隆到本地項目新建的src工作目錄中
記得在在目錄下打開控制臺(上面有寫)或者手動切換目錄
同時還需要下載權(quán)重

https://link.csdn.net/?target=https%3A%2F%2Fhuggingface.co%2FCompVis

在項目目錄models/ldm下手動創(chuàng)建stable-diffusion-v1文件夾,用來存放下載好的權(quán)重文件,即需要把下載文件夾里的sd-v1-4.ckpt文件改名為model.ckpt,然后粘貼到手動創(chuàng)建的stable-diffusion-v1文件夾下即可。
基于Diffusion Model的數(shù)據(jù)增強方法應(yīng)用——畢業(yè)設(shè)計 其三
理論上到這里為止,所有的環(huán)境準備工作完畢

注:這里可能會遇到各種環(huán)境依賴的報錯,是正常的;建議可以把報錯的函數(shù)和接口名去Github倉查討論區(qū),600+的討論基本上都有涉及到了。

https://github.com/CompVis/stable-diffusion/issues/162
這里貼一個我遇到問題找到的討論

運行測試

基于Diffusion Model的數(shù)據(jù)增強方法應(yīng)用——畢業(yè)設(shè)計 其三
生成samurai in the war的文字到圖片模塊
基于Diffusion Model的數(shù)據(jù)增強方法應(yīng)用——畢業(yè)設(shè)計 其三
開始跑的時候隨意截了一張圖,可以看到效果還是可以的。
GPU也是直接吃滿,意料之中就是了

注意:這里的demo是跑的text2img;本次畢業(yè)設(shè)計實際上還是會采用圖片生成圖片這種性能更好的模式!?。?/strong>

總結(jié)

本周完成了擴散模型部分的內(nèi)容實驗,從搭建環(huán)境到隨意跑個DEMO;現(xiàn)在整個畢業(yè)設(shè)計的各個零件已經(jīng)完全準備好了,接下來需要做的事情就在于組合起來對比效果了

這里還是要吐槽一句,其實模型搭建部分遇到挺多問題的,官方給的依賴文檔實際上不太行,得自己在Github的討論區(qū)看洋兄弟是怎么解決這個問題的,還好模型熱度大,什么稀奇古怪的報錯都能找到同病相憐的兄弟。文章來源地址http://www.zghlxwxcb.cn/news/detail-460634.html

到了這里,關(guān)于基于Diffusion Model的數(shù)據(jù)增強方法應(yīng)用——畢業(yè)設(shè)計 其三的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • 基于雙分支殘差結(jié)構(gòu)的低光照圖像增強研究與應(yīng)用實現(xiàn)

    基于雙分支殘差結(jié)構(gòu)的低光照圖像增強研究與應(yīng)用實現(xiàn)

    ?????????在低光條件下拍攝的照片會因曝光不足而產(chǎn)生一系列的視覺問題,如亮度低、信息丟失、噪聲和顏色失真等。為了解決上述問題,提出一個結(jié)合注意力的雙分支殘差低光照圖像增強網(wǎng)絡(luò)。首先,采用改進InceptionV2提取淺層特征;其次,使用殘差特征提取塊(RFB)

    2024年02月07日
    瀏覽(23)
  • 【讀點論文】A Survey on Generative Diffusion Model,AIGC時代的新寵兒,從原理推導(dǎo)到工程應(yīng)用,在視覺,自然語言,語音等領(lǐng)域大展拳腳

    【讀點論文】A Survey on Generative Diffusion Model,AIGC時代的新寵兒,從原理推導(dǎo)到工程應(yīng)用,在視覺,自然語言,語音等領(lǐng)域大展拳腳

    由于深度潛在表示,深度學(xué)習(xí)在生成任務(wù)中顯示出良好的潛力。 生成模型是一類可以根據(jù)某些隱含參數(shù)隨機生成觀測值的模型 。近年來,擴散模型以其強大的生成能力成為生成模型的一個新興類別。如今,已經(jīng)取得了巨大的成就。除了計算機視覺、語音生成、生物信息學(xué)和

    2024年02月09日
    瀏覽(36)
  • 吳恩達gradio課程:基于開源LLM(large language model)的聊天應(yīng)用

    內(nèi)容簡介 Falcon 40B 是當(dāng)前最好的開源語言模型之一。 使用 text-generation 庫調(diào)用 Falcon 40B 的問答 API 接口。 首先僅僅在代碼中與模型聊天,后續(xù)通過Gradio構(gòu)建聊天界面。 Gradio 聊天界面可以保存對話歷史上下文。 在聊天過程中,需要將之前對話記錄與新消息一起發(fā)送給模型,才能進

    2024年02月09日
    瀏覽(59)
  • 用大模型增強數(shù)據(jù)分析應(yīng)用

    大模型出道即巔峰,它廣受歡迎并在很多領(lǐng)域中成為有力的工具,當(dāng)然包括數(shù)據(jù)分析領(lǐng)域。你可能不確定如何把大模型整合到你的工作中,如幫助你用數(shù)據(jù)驅(qū)動決策。本文介紹一些思路帶你在不同應(yīng)用場景下使用數(shù)據(jù)分析提示詞。當(dāng)然不僅局限與ChatGPT,其他國內(nèi)大模型也一樣

    2024年01月25日
    瀏覽(25)
  • 基于卷積神經(jīng)網(wǎng)絡(luò)的立體視頻編碼質(zhì)量增強方法_余偉杰

    基于卷積神經(jīng)網(wǎng)絡(luò)的立體視頻編碼質(zhì)量增強方法_余偉杰

    提出的網(wǎng)絡(luò)包含兩個模塊:特征提取模塊和重建模塊。 為了從低質(zhì)量合成視點中提取局部和全局信息,特征提取模塊中提出了兩條信息流,分別為 局部信息提取流和全局信息提取流 。 隨著網(wǎng)絡(luò)層數(shù)的增長,提取的特征在傳輸?shù)倪^程中可能消失,這會降低網(wǎng)絡(luò)模型的表達能力

    2024年02月01日
    瀏覽(13)
  • YOLOv5數(shù)據(jù)增強方法

    YOLOv5的數(shù)據(jù)增強方法包括以下幾種: 隨機剪裁:隨機從輸入圖像中剪裁出一塊區(qū)域并將其作為新的輸入。 隨機翻轉(zhuǎn):隨機將輸入圖像左右或上下翻轉(zhuǎn)。 隨機顏色變化:隨機調(diào)整輸入圖像的對比度、亮度和飽和度。 隨機加噪:在輸入圖像上隨機添加噪聲。 隨機模糊:使用高

    2024年02月11日
    瀏覽(19)
  • PointNet++詳解(一):數(shù)據(jù)增強方法

    如有錯誤,懇請指出。 下面是pointnet++項目實現(xiàn)的點云數(shù)據(jù)增強方法,主要包括隨機旋轉(zhuǎn)、隨機縮放、隨機丟棄、隨機平移、隨機擾動等等。 github項目鏈接:https://github.com/yanx27/Pointnet_Pointnet2_pytorch 這里貼上的是沿3個軸隨機旋轉(zhuǎn) ps:在PointNet++分組采樣k個鄰域點時,如果符合

    2024年02月04日
    瀏覽(17)
  • 【論文閱讀筆記】序列數(shù)據(jù)的數(shù)據(jù)增強方法綜述

    【論文閱讀筆記】序列數(shù)據(jù)的數(shù)據(jù)增強方法綜述

    ?這篇論文探討了在深度學(xué)習(xí)模型中由于對精度的要求不斷提高導(dǎo)致模型框架結(jié)構(gòu)變得更加復(fù)雜和深層的趨勢。隨著模型參數(shù)量的增加,訓(xùn)練模型需要更多的數(shù)據(jù),但人工標(biāo)注數(shù)據(jù)的成本高昂,且由于客觀原因,獲取特定領(lǐng)域的數(shù)據(jù)可能變得困難。為了緩解數(shù)據(jù)不足的問題,

    2024年02月05日
    瀏覽(20)
  • diffusion model(五)stable diffusion底層原理(latent diffusion model, LDM)

    diffusion model(五)stable diffusion底層原理(latent diffusion model, LDM)

    [論文地址] High-Resolution Image Synthesis with Latent Diffusion Models [github] https://github.com/compvis/latent-diffusion diffusion model(一)DDPM技術(shù)小結(jié) (denoising diffusion probabilistic) diffusion model(二)—— DDIM技術(shù)小結(jié) diffusion model(三)—— classifier guided diffusion model diffusion model(四)文生圖diffusio

    2024年02月15日
    瀏覽(49)
  • 畢業(yè)設(shè)計--智能環(huán)境監(jiān)測系統(tǒng)基于harmonyOS的移動端應(yīng)用開發(fā)

    畢業(yè)設(shè)計--智能環(huán)境監(jiān)測系統(tǒng)基于harmonyOS的移動端應(yīng)用開發(fā)

    目錄 第一章 緒論 1.1?引言 1.2 智能環(huán)境監(jiān)測APP概述 1.3 課題設(shè)計思路 第二章 項目開發(fā)環(huán)境 2.1 鴻蒙介紹 2.1.1 鴻蒙的發(fā)展史 2.1.2 鴻蒙應(yīng)用開發(fā)的意義 2.1.3 HUAWEI DevEco Studio 介紹 2.1.4?HUAWEI DevEco Studio 環(huán)境安裝 2.1.5 HarmonyOS系統(tǒng)技術(shù)架構(gòu) 2.1.6 HUAWEI dececo studio 使用 2.1.7 Harmony編程語言

    2024年02月15日
    瀏覽(18)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包