2022年8月31日に記事を更新しました。
スクリプトのダウンロード
新しい変更が加えられたスクリプトはうまく動かないので古いものをダウンロードしてくる必要があります。import os from mxnet.gluon.utils import download import zipfile url = 'https://github.com/dmlc/gluon-cv/archive/v0.8.0.zip' filename =download(url) with zipfile.ZipFile(filename) as existing_zip: existing_zip.extractall('.') os.remove(filename)
これで現在の作業環境に「gluon-cv-0.8.0」というフォルダが作られます。
GluonCV 0.8.0をPython環境にインストールする訳ではありません。過去のスクリプトを使用するだけです。
Gitが使えるなら以下の1行で同じことができます。
git clone -b v0.8.0 https://github.com/dmlc/gluon-cv.git
ただしフォルダ名が「gluon-cv-0.8.0」ではなく「gluon-cv」になるので注意して下さい。
学習済みモデルのパラメータをダウンロード
以下のサイトの中ほどにGoogle Driveから「stylegan-ffhq-1024px-new.params」というファイルがダウンロード可能と書いてあります。そこからダウンロードして「gluon-cv-0.8.0\scripts\gan\stylegan」フォルダ内に保存して下さい。
github.com
実行
GPUなし
cd gluon-cv-0.8.0/scripts/gan/stylegan python demo_stylegan.py --path ./stylegan-ffhq-1024px-new.params --gpu_id -1
GPUあり
cd gluon-cv-0.8.0/scripts/gan/stylegan python demo_stylegan.py --path ./stylegan-ffhq-1024px-new.params --gpu_id 0
「samples」フォルダが作成されてその中に10枚の画像が作成されます。
警告がたくさん出ますが無視して問題ありません。
結果の表示
10枚の画像を並べて表示するだけのスクリプトです。from PIL import Image from matplotlib import pyplot as plt import numpy as np for i in range(10): plt.subplot(2,5,i+1) plt.imshow(np.array(Image.open('samples/sample_%d.png'%i))) plt.axis('off') plt.show()
補足
何度実行しても同じ顔が描かれます。他の顔を描きたければ「demo_stylegan.py」をエディタで開いて8行目の
import mxnet as mx
の下に
mx.random.seed(1000)
を書き加えて下さい。括弧内の数字を適当に変更すると結果が変わります。
動作環境
「tqdm」と「pillow」は別途インストールが必要です。Windows
Windows 10 GPUなし Python 3.8.7
mxnet==1.7.0.post1
Ubuntu on WSL2
1
Ubuntu18.04 on WSL2 GPUなし Python 3.6.9
mxnet==1.8.0
2
Ubuntu 20.04 on WSL2 RTX 3060 Laptop Python 3.8.10
mxnet-cu112==1.8.0.post0
2022年1月9日追記
スクリプトのダウンロードとパラメータのダウンロードは以下のスクリプトで可能です。ただし事前に「autogluon.core」と「gdown」のインストールが必要です。
from autogluon.core.utils.loaders import load_zip import os url = 'https://github.com/dmlc/gluon-cv/archive/v0.8.0.zip' load_zip.unzip(url, unzip_dir = '.') os.remove('file.zip') from gdown import download download('https://drive.google.com/uc?id=1dYWAT9L3r2jmGe741AiSSAxg1su3ODvj', 'gluon-cv-0.8.0/scripts/gan/stylegan/stylegan-ffhq-1024px-new.params', quiet = False)
autogluon.coreを使ったZIPのダウンロードと解凍はこちらを参照して下さい。
touch-sp.hatenablog.com
gdownを使ったGoogle Driveからのファイルのダウンロードはこちらを参照して下さい。
touch-sp.hatenablog.com