自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

輕松構(gòu)建 PyTorch 生成對(duì)抗網(wǎng)絡(luò)(GAN)

新聞 機(jī)器學(xué)習(xí)
生成對(duì)抗網(wǎng)絡(luò)(GAN)是一種生成式機(jī)器學(xué)習(xí)模型,它被廣泛應(yīng)用于廣告、游戲、娛樂、媒體、制藥等行業(yè),可以用來創(chuàng)造虛構(gòu)的人物、場(chǎng)景,模擬人臉老化,圖像風(fēng)格變換,以及產(chǎn)生化學(xué)分子式等等。

 展現(xiàn)在您眼前的這幅圖像中的人物并非自真實(shí)存在,其實(shí)她是由一個(gè)機(jī)器學(xué)習(xí)模型創(chuàng)造出來的虛擬人物。圖片取自 維基百科的 GAN 條目,畫面細(xì)節(jié)豐富、色彩逼真,讓人印象深刻。

[[327981]]

生成對(duì)抗網(wǎng)絡(luò)(GAN)是一種生成式機(jī)器學(xué)習(xí)模型,它被廣泛應(yīng)用于廣告、游戲、娛樂、媒體、制藥等行業(yè),可以用來創(chuàng)造虛構(gòu)的人物、場(chǎng)景,模擬人臉老化,圖像風(fēng)格變換,以及產(chǎn)生化學(xué)分子式等等。下面兩張圖片,分別展示了圖片到圖片轉(zhuǎn)換的效果,以及基于語義布局合成景物的效果。

輕松構(gòu)建 PyTorch 生成對(duì)抗網(wǎng)絡(luò)(GAN)
輕松構(gòu)建 PyTorch 生成對(duì)抗網(wǎng)絡(luò)(GAN)

本文將引領(lǐng)讀者,從工程實(shí)踐角度出發(fā),借助 AWS 機(jī)器學(xué)習(xí)相關(guān)云計(jì)算服務(wù),基于 PyTorch 機(jī)器學(xué)習(xí)框架,構(gòu)建第一個(gè)生成對(duì)抗網(wǎng)絡(luò),開啟全新的、有趣的機(jī)器學(xué)習(xí)和人工智能體驗(yàn)。

還等什么,讓我們馬上開始吧!

主要內(nèi)容

  • 課題及方案概覽
  • 模型的開發(fā)環(huán)境
  • 生成對(duì)抗網(wǎng)絡(luò)模型
  • 模型的訓(xùn)練和驗(yàn)證
  • 結(jié)論與總結(jié)

課題及方案概覽

下面顯示的兩組手寫體數(shù)字圖片,您是否能從中夠辨認(rèn)出由計(jì)算機(jī)生成的『手寫』字體是其中哪一組?

輕松構(gòu)建 PyTorch 生成對(duì)抗網(wǎng)絡(luò)(GAN)
輕松構(gòu)建 PyTorch 生成對(duì)抗網(wǎng)絡(luò)(GAN)

本文的課題是用機(jī)器學(xué)習(xí)方法『模仿手寫字體』,為了完成這個(gè)課題,您將親手體驗(yàn)生成對(duì)抗網(wǎng)絡(luò)的設(shè)計(jì)和實(shí)現(xiàn)。『模仿手寫字體』與人像生成的基本原理和工程流程基本是一致的,雖然它們的復(fù)雜性和精度要求有一定差距,但是通過解決『模仿手寫字體』問題,可以為生成對(duì)抗網(wǎng)絡(luò)的原理和工程實(shí)踐打下基礎(chǔ),進(jìn)而可以逐步嘗試和探索更加復(fù)雜先進(jìn)的網(wǎng)絡(luò)架構(gòu)和應(yīng)用場(chǎng)景。

《生成對(duì)抗網(wǎng)絡(luò)》(GAN)由 Ian Goodfellow 等人在 2014年提出,它是一種深度神經(jīng)網(wǎng)絡(luò)架構(gòu),由一個(gè)生成網(wǎng)絡(luò)和一個(gè)判別網(wǎng)絡(luò)組成。生成網(wǎng)絡(luò)產(chǎn)生『假』數(shù)據(jù),并試圖欺騙判別網(wǎng)絡(luò);判別網(wǎng)絡(luò)對(duì)生成數(shù)據(jù)進(jìn)行真?zhèn)舞b別,試圖正確識(shí)別所有『假』數(shù)據(jù)。在訓(xùn)練迭代的過程中,兩個(gè)網(wǎng)絡(luò)持續(xù)地進(jìn)化和對(duì)抗,直到達(dá)到平衡狀態(tài)(參考:納什均衡),判別網(wǎng)絡(luò)無法再識(shí)別『假』數(shù)據(jù),訓(xùn)練結(jié)束。

2016年,Alec Radford 等發(fā)表的論文 《深度卷積生成對(duì)抗網(wǎng)絡(luò)》(DCGAN)中,開創(chuàng)性地將卷積神經(jīng)網(wǎng)絡(luò)應(yīng)用到生成對(duì)抗網(wǎng)絡(luò)的模型算法設(shè)計(jì)當(dāng)中,替代了全鏈接層,提高了圖片場(chǎng)景里訓(xùn)練的穩(wěn)定性。

Amazon SageMaker 是 AWS 完全托管的機(jī)器學(xué)習(xí)服務(wù),數(shù)據(jù)處理和機(jī)器學(xué)習(xí)訓(xùn)練工作可以通過 Amazon SageMaker 快速、輕松地完成,訓(xùn)練好的模型可以直接部署到全托管的生產(chǎn)環(huán)境中。Amazon SageMaker 提供了托管的 Jupyter Notebook 實(shí)例,通過 SageMaker SDK 與 AWS 的多種云服務(wù)集成,方便您訪問數(shù)據(jù)源,進(jìn)行探索和分析。SageMaker SDK 是一套開放源代碼的 Amazon SageMaker 的開發(fā)包,可以協(xié)助您很好的使用 Amazon SageMaker 提供的托管容器鏡像,以及 AWS 的其他云服務(wù),如計(jì)算和存儲(chǔ)資源。

輕松構(gòu)建 PyTorch 生成對(duì)抗網(wǎng)絡(luò)(GAN)

如上圖所示,訓(xùn)練用數(shù)據(jù)將來自 Amazon S3 的存儲(chǔ)桶;訓(xùn)練用的框架和托管算法以容器鏡像的形式提供服務(wù),在訓(xùn)練時(shí)與代碼結(jié)合;模型代碼運(yùn)行在 Amazon SageMaker 托管的計(jì)算實(shí)例中,在訓(xùn)練時(shí)與數(shù)據(jù)結(jié)合;訓(xùn)練輸出物將進(jìn)入 Amazon S3 專門的存儲(chǔ)桶里。后面的講解中,我們會(huì)了解到如何通過 SageMaker SDK 使用這些資源。

我們將用到 Amazon SageMaker、Amazon S3 、Amazon EC2 等 AWS 服務(wù),會(huì)產(chǎn)生一定的云資源使用費(fèi)用。

模型的開發(fā)環(huán)境

創(chuàng)建Notebook實(shí)例

請(qǐng)打開 Amazon SageMaker 的儀表板(點(diǎn)擊打開 北京區(qū)域 | 寧夏區(qū)域 ),請(qǐng)點(diǎn)擊Notebook instances 按鈕進(jìn)入筆記本實(shí)例列表。

輕松構(gòu)建 PyTorch 生成對(duì)抗網(wǎng)絡(luò)(GAN)

如果您是第一次使用Amazon SageMaker,您的 Notebook instances 列表將顯示為空列表,此時(shí)您需點(diǎn)擊 Create notebook instance 按鈕來創(chuàng)建全新 Jupyter Notebook 實(shí)例。

輕松構(gòu)建 PyTorch 生成對(duì)抗網(wǎng)絡(luò)(GAN)

進(jìn)入 Create notebook instance 頁面后,請(qǐng)?jiān)?nbsp;Notebook instance name 字段里輸入實(shí)例名字,本文將使用 MySageMakerInstance 作為實(shí)例名,您可以選用您認(rèn)為合適的名字。本文將使用默認(rèn)的實(shí)例類型,因此 Notebook instance type 選項(xiàng)將保持為 *ml.t2.medium*。如果您是第一次使用Amazon SageMaker,您需要?jiǎng)?chuàng)建一個(gè) IAM role,以便筆記本實(shí)例能夠訪問 Amazon S3 服務(wù)。請(qǐng)?jiān)?nbsp;IAM role 選項(xiàng)點(diǎn)擊為 Create a new role。Amazon SageMaker 將創(chuàng)建一個(gè)具有必要權(quán)限的角色,并將這個(gè)角色分配給正在創(chuàng)建的實(shí)例。另外,根據(jù)您的實(shí)際情況,您也可以選擇一個(gè)已經(jīng)存在的角色。

輕松構(gòu)建 PyTorch 生成對(duì)抗網(wǎng)絡(luò)(GAN)

在 Create an IAM role 彈出窗口里,您可以選擇 *Any S3 bucket*,這樣筆記本實(shí)例將能夠訪問您賬戶里的所有桶。另外,根據(jù)您的需要,您還可以選擇 Specific S3 buckets并輸入桶名。點(diǎn)擊 Create role 按鈕,這個(gè)新角色將被創(chuàng)建。

輕松構(gòu)建 PyTorch 生成對(duì)抗網(wǎng)絡(luò)(GAN)

此時(shí),可以看到 Amazon SageMaker 為您創(chuàng)建了一個(gè)名字類似 *
AmazonSageMaker-ExecutionRole-**** 的角色。對(duì)于其他字段,您可以使用默認(rèn)值,請(qǐng)點(diǎn)擊 Create notebook instance 按鈕,創(chuàng)建實(shí)例。

輕松構(gòu)建 PyTorch 生成對(duì)抗網(wǎng)絡(luò)(GAN)

回到 Notebook instances 頁面,您會(huì)看到 MySageMakerInstance 筆記本實(shí)例顯示為 Pending 狀態(tài),這個(gè)將持續(xù)2分鐘左右,直到轉(zhuǎn)為 InService 狀態(tài)。

輕松構(gòu)建 PyTorch 生成對(duì)抗網(wǎng)絡(luò)(GAN)

編寫第一行代碼

點(diǎn)擊 Open JupyterLab 鏈接,在新的頁面里,您將看到熟悉的 Jupyter Notebook 加載界面。本文默認(rèn)以 JupyterLab 筆記本作為工程環(huán)境,根據(jù)您的需要,可以選擇使用傳統(tǒng)的 Jupyter 筆記本。

輕松構(gòu)建 PyTorch 生成對(duì)抗網(wǎng)絡(luò)(GAN)

您將通過點(diǎn)擊 conda_pytorch_p36, 筆記本圖標(biāo)來創(chuàng)建一個(gè)叫做 Untitled.ipynb 的筆記本,您可以稍后更改它的名字。另外,您也可以通過 File > New > Notebook 菜單路徑,并選擇 conda_pytorch_p36 作為 Kernel 來創(chuàng)建這個(gè)筆記本。

輕松構(gòu)建 PyTorch 生成對(duì)抗網(wǎng)絡(luò)(GAN)

在新建的 Untitled.ipynb 筆記本里,我們將輸入第一行指令如下,

  1. import torch 
  2.  
  3. print(f"Hello PyTorch {torch.__version__}"

源代碼下載

請(qǐng)?jiān)诠P記本中輸入如下指令,下載代碼到實(shí)例本地文件系統(tǒng)。

下載完成后,您可以通過 File browser 瀏覽源代碼結(jié)構(gòu)。

輕松構(gòu)建 PyTorch 生成對(duì)抗網(wǎng)絡(luò)(GAN)

本文涉及到的代碼和筆記本均通過 Amazon SageMaker 托管的 Python 3.6、PyTorch 1.4 和 JupyterLab 驗(yàn)證。本文涉及到的代碼和筆記本可以通過 這里獲取。

生成對(duì)抗網(wǎng)絡(luò)模型

算法原理

DCGAN模型的生成網(wǎng)絡(luò)包含10層,它使用跨步轉(zhuǎn)置卷積層來提高張量的分辨率,輸入形狀為 (batchsize, 100) ,輸出形狀為 (batchsize, 64, 64, 3)。換句話說,生成網(wǎng)絡(luò)接受噪聲向量,然后經(jīng)過不斷變換,直到生成最終的圖像。

判別網(wǎng)絡(luò)也包含10層,它接收 (64, 64, 3) 格式的圖片,使用2D卷積層進(jìn)行下采樣,最后傳遞給全鏈接層進(jìn)行分類,分類結(jié)果是 1 或 0,即真與假。

輕松構(gòu)建 PyTorch 生成對(duì)抗網(wǎng)絡(luò)(GAN)

DCGAN 模型的訓(xùn)練過程大致可以分為三個(gè)子過程。

輕松構(gòu)建 PyTorch 生成對(duì)抗網(wǎng)絡(luò)(GAN)

首先, Generator 網(wǎng)絡(luò)以一個(gè)隨機(jī)數(shù)作為輸入,生成一張『假』圖片;接下來,分別用『真』圖片和『假』圖片訓(xùn)練 Discriminator 網(wǎng)絡(luò),更新參數(shù);最后,更新 Generator 網(wǎng)絡(luò)參數(shù)。

代碼分析

項(xiàng)目目錄 byos-pytorch-gan 的文件結(jié)構(gòu)如下,

文件 model.py 中包含 3 個(gè)類,分別是 生成網(wǎng)絡(luò) Generator 和 判別網(wǎng)絡(luò) Discriminator。

  1. class Generator(nn.Module): 
  2. ... 
  3.  
  4. class Discriminator(nn.Module): 
  5. ... 
  6.  
  7. class DCGAN(object): 
  8. ""
  9. A wrapper class for Generator and Discriminator, 
  10. 'train_step' method is for single batch training. 
  11. ""
  12. ... 

文件 train.py 用于 Generator 和 Discriminator 兩個(gè)神經(jīng)網(wǎng)絡(luò)的訓(xùn)練,主要包含以下幾個(gè)方法,

  1. def parse_args(): 
  2. ... 
  3.  
  4. def get_datasets(dataset_name, ...): 
  5. ... 
  6.  
  7. def train(dataloader, hps, ...): 
  8. ... 

模型的調(diào)試

開發(fā)和調(diào)試階段,可以從 Linux 命令行直接運(yùn)行 train.py 腳本。超參數(shù)、輸入數(shù)據(jù)通道、模型和其他訓(xùn)練產(chǎn)出物存放目錄都可以通過命令行參數(shù)指定。

  1. python dcgan/train.py --dataset qmnist \ 
  2. --model-dir '/home/myhome/byom-pytorch-gan/model' \ 
  3. --output-dir '/home/myhome/byom-pytorch-gan/tmp' \ 
  4. --data-dir '/home/myhome/byom-pytorch-gan/data' \ 
  5. --hps '{"beta1":0.5,"dataset":"qmnist","epochs":15,"learning-rate":0.0002,"log-interval":64,"nc":1,"nz":100,"sample-interval":100}' 

這樣的訓(xùn)練腳本參數(shù)設(shè)計(jì),既提供了很好的調(diào)試方法,又是與 SageMaker Container 集成的規(guī)約和必要條件,很好的兼顧了模型開發(fā)的自由度和訓(xùn)練環(huán)境的可移植性。

模型的訓(xùn)練和驗(yàn)證

請(qǐng)查找并打開名為 dcgan.ipynb 的筆記本文件,訓(xùn)練過程將由這個(gè)筆記本介紹并執(zhí)行,本節(jié)內(nèi)容代碼部分從略,請(qǐng)以筆記本代碼為準(zhǔn)。

互聯(lián)網(wǎng)環(huán)境里有很多公開的數(shù)據(jù)集,對(duì)于機(jī)器學(xué)習(xí)的工程和科研很有幫助,比如算法學(xué)習(xí)和效果評(píng)價(jià)。我們將使用 QMNIST 這個(gè)手寫字體數(shù)據(jù)集訓(xùn)練模型,最終生成逼真的『手寫』字體效果圖樣。

數(shù)據(jù)準(zhǔn)備

PyTorch 框架的 torchvision.datasets 包提供了QMNIST 數(shù)據(jù)集,您可以通過如下指令下載 QMNIST 數(shù)據(jù)集到本地備用。

  1. from torchvision import datasets 
  2.  
  3. dataroot = './data' 
  4. trainset = datasets.QMNIST(root=dataroot, train=True, download=True) 
  5. testset = datasets.QMNIST(root=dataroot, train=False, download=True) 

Amazon SageMaker 為您創(chuàng)建了一個(gè)默認(rèn)的 Amazon S3 桶,用來存取機(jī)器學(xué)習(xí)工作流程中可能需要的各種文件和數(shù)據(jù)。 我們可以通過 SageMaker SDK 中 sagemaker.session.Session 類的 default_bucket 方法獲得這個(gè)桶的名字。

  1. from sagemaker.session import Session 
  2.  
  3. sess = Session() 
  4.  
  5. # S3 bucket for saving code and model artifacts. 
  6. # Feel free to specify a different bucket here if you wish. 
  7. bucket = sess.default_bucket() 

SageMaker SDK 提供了操作 Amazon S3 服務(wù)的包和類,其中 S3Downloader 類用于訪問或下載 S3 里的對(duì)象,而 S3Uploader 則用于將本地文件上傳至 S3。您將已經(jīng)下載的數(shù)據(jù)上傳至 Amazon S3,供模型訓(xùn)練使用。模型訓(xùn)練過程不要從互聯(lián)網(wǎng)下載數(shù)據(jù),避免通過互聯(lián)網(wǎng)獲取訓(xùn)練數(shù)據(jù)的產(chǎn)生的網(wǎng)絡(luò)延遲,同時(shí)也規(guī)避了因直接訪問互聯(lián)網(wǎng)對(duì)模型訓(xùn)練可能產(chǎn)生的安全風(fēng)險(xiǎn)。

  1. from sagemaker.s3 import S3Uploader as s3up 
  2.  
  3. s3_data_location = s3up.upload(f"{dataroot}/QMNIST", f"s3://{bucket}/data/qmnist"

訓(xùn)練執(zhí)行

通過 
sagemaker.getexecutionrole() 方法,當(dāng)前筆記本可以得到預(yù)先分配給筆記本實(shí)例的角色,這個(gè)角色將被用來獲取訓(xùn)練用的資源,比如下載訓(xùn)練用框架鏡像、分配 Amazon EC2 計(jì)算資源等等。

訓(xùn)練模型用的超參數(shù)可以在筆記本里定義,實(shí)現(xiàn)與算法代碼的分離,在創(chuàng)建訓(xùn)練任務(wù)時(shí)傳入超參數(shù),與訓(xùn)練任務(wù)動(dòng)態(tài)結(jié)合。

  1. hps = { 
  2. "learning-rate"0.0002
  3. "epochs"15
  4. "dataset""qmnist"
  5. "beta1"0.5
  6. "sample-interval"200
  7. "log-interval"64 

sagemaker.pytorch 包里的 PyTorch 類是基于 PyTorch 框架的模型擬合器,可以用來創(chuàng)建、執(zhí)行訓(xùn)練任務(wù),還可以對(duì)訓(xùn)練完的模型進(jìn)行部署。參數(shù)列表中, train_instance_type 用來指定CPU或者GPU實(shí)例類型,訓(xùn)練腳本和包括模型代碼所在的目錄通過 source_dir 指定,訓(xùn)練腳本文件名必須通過 entry_point 明確定義。這些參數(shù)將和其余參數(shù)一起被傳遞給訓(xùn)練任務(wù),他們決定了訓(xùn)練任務(wù)的運(yùn)行環(huán)境和模型訓(xùn)練時(shí)參數(shù)。

  1. from sagemaker.pytorch import PyTorch 
  2.  
  3. estimator = PyTorch(role=role, 
  4. entry_point='train.py'
  5. source_dir='dcgan'
  6. output_path=s3_model_artifacts_location, 
  7. code_location=s3_custom_code_upload_location, 
  8. train_instance_count=1
  9. train_instance_type='ml.c5.xlarge'
  10. train_use_spot_instances=True, 
  11. train_max_wait=86400
  12. framework_version='1.4.0'
  13. py_version='py3'
  14. hyperparameters=hps) 

請(qǐng)?zhí)貏e注意 train_use_spot_instances 參數(shù),True 值代表您希望優(yōu)先使用 SPOT 實(shí)例。由于機(jī)器學(xué)習(xí)訓(xùn)練工作通常需要大量計(jì)算資源長(zhǎng)時(shí)間運(yùn)行,善用 SPOT 可以幫助您實(shí)現(xiàn)有效的成本控制,SPOT 實(shí)例價(jià)格可能是按需實(shí)例價(jià)格的 20% 到 60%,依據(jù)選擇實(shí)例類型、區(qū)域、時(shí)間不同實(shí)際價(jià)格有所不同。

您已經(jīng)創(chuàng)建了 PyTorch 對(duì)象,下面可以用它來擬合預(yù)先存在 Amazon S3 上的數(shù)據(jù)了。下面的指令將執(zhí)行訓(xùn)練任務(wù),訓(xùn)練數(shù)據(jù)將以名為 QMNIST 的輸入通道的方式導(dǎo)入訓(xùn)練環(huán)境。訓(xùn)練開始執(zhí)行過程中,Amazon S3 上的訓(xùn)練數(shù)據(jù)將被下載到模型訓(xùn)練環(huán)境的本地文件系統(tǒng),訓(xùn)練腳本 train.py 將從本地磁盤加載數(shù)據(jù)進(jìn)行訓(xùn)練。

  1. # Start training 
  2. estimator.fit({'QMNIST': s3_data_location}, wait=False) 

根據(jù)您選擇的訓(xùn)練實(shí)例不同,訓(xùn)練過程中可能持續(xù)幾十分鐘到幾個(gè)小時(shí)不等。建議設(shè)置 wait 參數(shù)為 False ,這個(gè)選項(xiàng)將使筆記本與訓(xùn)練任務(wù)分離,在訓(xùn)練時(shí)間長(zhǎng)、訓(xùn)練日志多的場(chǎng)景下,可以避免筆記本上下文因?yàn)榫W(wǎng)絡(luò)中斷或者會(huì)話超時(shí)而丟失。訓(xùn)練任務(wù)脫離筆記本后,輸出將暫時(shí)不可見,可以執(zhí)行如下代碼,筆記本將獲取并載入此前的訓(xùn)練回話,

  1. %%time 
  2. from sagemaker.estimator import Estimator 
  3.  
  4. # Attaching previous training session 
  5. training_job_name = estimator.latest_training_job.name 
  6. attached_estimator = Estimator.attach(training_job_name) 

由于的模型設(shè)計(jì)考慮到了GPU對(duì)訓(xùn)練加速的能力,所以用GPU實(shí)例訓(xùn)練會(huì)比CPU實(shí)例快一些,例如,p3.2xlarge 實(shí)例大概需要15分鐘左右,而 c5.xlarge 實(shí)例則可能需要6小時(shí)以上。目前模型不支持分布、并行訓(xùn)練,所以多實(shí)例、多CPU/GPU并不會(huì)帶來更多的訓(xùn)練速度提升。

訓(xùn)練完成后,模型將被上傳到 Amazon S3 里,上傳位置由創(chuàng)建 PyTorch 對(duì)象時(shí)提供的 output_path 參數(shù)指定。

模型的驗(yàn)證

您將從 Amazon S3 下載經(jīng)過訓(xùn)練的模型到筆記本所在實(shí)例的本地文件系統(tǒng),下面的代碼將載入模型,然后輸入一個(gè)隨機(jī)數(shù),獲得推理結(jié)果,以圖片形式展現(xiàn)出來。執(zhí)行如下指令加載訓(xùn)練好的模型,并通過這個(gè)模型產(chǎn)生一組『手寫』數(shù)字字體。

  1. from helper import * 
  2. import matplotlib.pyplot as plt 
  3. import numpy as np 
  4. import torch 
  5. from dcgan.model import Generator 
  6.  
  7. device = torch.device("cuda:0" if torch.cuda.is_available() else "cpu"
  8.  
  9. params = {'nz': nz, 'nc': nc, 'ngf': ngf} 
  10. model = load_model(Generator, params, "./model/generator_state.pth", device=device) 
  11. img = generate_fake_handwriting(model, batch_size=batch_size, nz=nz, device=device) 
  12.  
  13. plt.imshow(np.asarray(img)) 
輕松構(gòu)建 PyTorch 生成對(duì)抗網(wǎng)絡(luò)(GAN)

結(jié)論與總結(jié)

近些年成長(zhǎng)快速的 PyTorch 框架正在得到廣泛的認(rèn)可和應(yīng)用,越來越多的新模型采用 PyTorch 框架,也有模型被遷移到 PyTorch 上,或者基于 PyTorch 被完整再實(shí)現(xiàn)。生態(tài)環(huán)境持續(xù)豐富,應(yīng)用領(lǐng)域不斷拓展,PyTorch 已成為事實(shí)上的主流框架之一。Amazon SageMaker 與多種 AWS 服務(wù)緊密集成,比如,各種類型和尺寸的 Amazon EC2 計(jì)算實(shí)例、Amazon S3、Amazon ECR 等等,為機(jī)器學(xué)習(xí)工程實(shí)踐提供了端到端的、一致的體驗(yàn)。Amazon SageMaker 持續(xù)支持主流機(jī)器學(xué)習(xí)框架,PyTorch 是這其中之一。用 PyTorch 開發(fā)的機(jī)器學(xué)習(xí)算法和模型,可以輕松移植到 Amazon SageMaker 的工程和服務(wù)環(huán)境里,進(jìn)而利用 Amazon SageMaker 全托管的 Jupyter Notebook、訓(xùn)練容器鏡像、服務(wù)容器鏡像、訓(xùn)練任務(wù)管理、部署環(huán)境托管等功能,簡(jiǎn)化機(jī)器學(xué)習(xí)工程復(fù)雜度,提高生產(chǎn)效率,降低運(yùn)維成本。

DCGAN 是生成對(duì)抗網(wǎng)絡(luò)領(lǐng)域中具里程碑意義的一個(gè),是現(xiàn)今很多復(fù)雜生成對(duì)抗網(wǎng)絡(luò)的基石。文首提到的 StyleGAN,用文本合成圖像的 StackGAN,從草圖生成圖像的Pix2pix,以及互聯(lián)網(wǎng)上爭(zhēng)議不斷的 DeepFakes 等等,都有DCGAN的影子。相信通過本文的介紹和工程實(shí)踐,對(duì)您了解生成對(duì)抗網(wǎng)絡(luò)的原理和工程方法會(huì)有所幫助。

責(zé)任編輯:張燕妮 來源: 機(jī)器之心
相關(guān)推薦

2022-09-20 08:00:00

暗數(shù)據(jù)機(jī)器學(xué)習(xí)數(shù)據(jù)

2020-05-21 14:05:59

人工智能機(jī)器學(xué)習(xí)技術(shù)

2023-10-31 10:33:35

對(duì)抗網(wǎng)絡(luò)人工智能

2017-09-11 17:16:35

2024-04-01 08:00:00

2021-03-12 10:40:46

CycleGAN網(wǎng)絡(luò)圖像深度學(xué)習(xí)

2017-07-13 17:33:18

生成對(duì)抗網(wǎng)絡(luò)GANIan Goodfel

2022-11-28 08:47:33

AI圖片GAN

2017-05-10 14:32:31

神經(jīng)網(wǎng)絡(luò)網(wǎng)絡(luò)架構(gòu)模型

2023-07-04 09:49:50

人工智能GAN

2025-01-13 00:00:00

AI模型訓(xùn)練

2023-08-02 12:50:53

2017-10-23 06:36:27

生成對(duì)抗網(wǎng)絡(luò)架構(gòu)訓(xùn)練技巧

2022-07-11 08:00:00

開源工具DoppelGANg

2024-06-28 09:20:29

2018-07-11 10:46:05

人工智能計(jì)算機(jī)視覺面部屬性

2018-07-04 09:10:54

人工智能機(jī)器人側(cè)臉

2020-04-26 11:26:02

人臉合成編碼器數(shù)據(jù)

2021-03-01 14:05:50

機(jī)器學(xué)習(xí)人工智能計(jì)算機(jī)

2022-08-02 07:25:48

對(duì)抗網(wǎng)絡(luò)數(shù)據(jù)生成Python
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)