亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

用Python生成會跳舞的美女

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

導語

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

開發(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)境配置請自行Google教程。)

原理簡介

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

圖片

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

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

圖片

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

圖片

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

reparameterization

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

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

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

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

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

效果展示

隨機生成code模式作為輸入:

圖片

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

圖片


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

總結(jié)

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

相關(guān)文章

最新評論