最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

用Python生成會(huì)跳舞的美女

 更新時(shí)間:2022年01月18日 09:09:21   作者:Python王飽飽  
大家好,本篇文章主要講的是用Python生成會(huì)跳舞的美女,感興趣的同學(xué)趕快來看一看吧,對(duì)你有幫助的話記得收藏一下

導(dǎo)語

表妹心疼我,為了逗我開心,教我用Python制作會(huì)跳舞的美女。作為新時(shí)代的活雷鋒,在這里分享給大家。

開發(fā)工具

Python版本:3.6.4

相關(guān)模塊:

torch0.4.1模塊;
torchvision0.2.2模塊;
opencv-python模塊;
argparse模塊;
numpy模塊;
以及一些Python自帶的模塊。

環(huán)境搭建

安裝Python并添加到環(huán)境變量,pip安裝需要的相關(guān)模塊即可。

(PS:CUDA環(huán)境配置請(qǐng)自行Google教程。)

原理簡(jiǎn)介

這里我們利用VAE的原理來生成會(huì)跳舞的小姐姐唄。先簡(jiǎn)單介紹一下理論知識(shí),要說VAE,就得先談?wù)勛詣?dòng)編碼器,自動(dòng)編碼器最開始用于數(shù)據(jù)壓縮,其原理圖十分簡(jiǎn)單直觀:

圖片

在模型訓(xùn)練時(shí),輸入圖片首先通過一個(gè)編碼器(現(xiàn)在當(dāng)然是神經(jīng)網(wǎng)絡(luò)啦)將輸入數(shù)據(jù)降維到一個(gè)code,接著將code輸入到解碼器(當(dāng)然還是神經(jīng)網(wǎng)絡(luò)啦)生成一個(gè)與輸入相同大小的圖片,網(wǎng)絡(luò)的優(yōu)化目標(biāo)就是使得輸入編碼器的圖片與解碼器輸出的圖片盡可能相似。 當(dāng)模型訓(xùn)練完之后,我們就可以拿出這個(gè)解碼器,隨機(jī)傳入一些code作為它的輸入,來生成一些差不多的圖片。但是這種做法存在一個(gè)問題,就是編碼器生成的code包含了原圖信息,因此,我們就無法自己構(gòu)造一些隨機(jī)的code來作為解碼器輸入從而生成任意圖片(必須是現(xiàn)有圖片過了編碼器之后生成的code作為輸入)。為了解決這個(gè)問題,VAE就誕生啦~VAE的全稱是:

Variational Autoencoder 即變分自編碼器
說起來,它的原理圖也十分簡(jiǎn)單:

圖片

與自編碼器唯一不同就是在訓(xùn)練過程中對(duì)code也進(jìn)行了約束,使得code滿足某種分布(譬如正態(tài)分布)。這樣的話,模型訓(xùn)練完之后,我們只需要隨機(jī)生成一個(gè)滿足該分布的code,就可以拿來作為解碼器的輸入,從而生成任意圖片啦~ 一般地,我們用均方損失函數(shù)保證原圖和生成圖相似,用KL損失函數(shù)來保證code滿足我們所要求的分布。均方損失大家肯定知道,KL散度的定義這里我也不想過多地去介紹,貼下維基百科上定義的公式吧:

圖片

P和Q是在同一個(gè)概率空間上定義的離散概率分布。 同時(shí),為了方便計(jì)算KL散度,VAE引入了一個(gè)trick,叫:

reparameterization

以正態(tài)分布為例子,就是現(xiàn)在不直接預(yù)測(cè)code了,而是預(yù)測(cè)code的均值和方差,有了均值向量和方差向量,恢復(fù)code是很方便的(用標(biāo)準(zhǔn)正態(tài)分布乘以方差再加個(gè)均值就行了)。

再回過頭來,我們現(xiàn)在要用VAE來生成會(huì)跳舞的小姐姐,無非就是先找到一個(gè)訓(xùn)練數(shù)據(jù)集,這里我找了個(gè)Youtube上的視頻作為數(shù)據(jù)集:

https://www.youtube.com/watch?v=NdSqAAT28v0

然后根據(jù)VAE的原理構(gòu)造一個(gè)編碼和解碼網(wǎng)絡(luò),用兩個(gè)損失函數(shù)作為約束訓(xùn)練網(wǎng)絡(luò)就行啦。代碼就不一個(gè)個(gè)貼了,寫起來很簡(jiǎn)單的,貼上來倒感覺有點(diǎn)麻煩,有需要的直接在公眾號(hào)后臺(tái)回復(fù)“dancenet”即可獲取。簡(jiǎn)單說下代碼使用方式吧,模型訓(xùn)練運(yùn)行train.py文件即可,命令格式為:

python train.py --videopath xxx.mp4
模型測(cè)試運(yùn)行demo.py文件即可,命令格式為:
python demo.py --mode random/fromtrain --checkpointspath xxx.pth --outputpath xxx.avi
這里模式的含義是code隨機(jī)生成/從訓(xùn)練集中提取一些圖片的code作為輸入。

效果展示

隨機(jī)生成code模式作為輸入:

圖片

數(shù)據(jù)集中挑選圖片過編碼器獲得code作為輸入:

圖片


好了,我的分享到此結(jié)束了。

總結(jié)

到此這篇關(guān)于用Python生成會(huì)跳舞的美女的文章就介紹到這了,更多相關(guān)Python美女內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評(píng)論

佛坪县| 尼勒克县| 大埔县| 锦屏县| 洪江市| 潜江市| 富平县| 东台市| 湖州市| 璧山县| 云南省| 驻马店市| 中卫市| 西昌市| 时尚| 榆社县| 和平区| 桂平市| 商南县| 张掖市| 柘城县| 托里县| 绥宁县| 佛坪县| 冀州市| 安丘市| 黄冈市| 海阳市| 东辽县| 大余县| 页游| 新乡县| 大丰市| 兰坪| 邢台市| 牡丹江市| 潮安县| 鹰潭市| 泾阳县| 商南县| 红河县|