Dalam tutorial ini, saya akan memandu Anda melalui langkah-langkah dan menunjukkan bagaimana saya menginstal Ubuntu pada Windows 10 (WSL), mengatur lingkungan untuk bereksperimen dengan PULSA , mengunggah foto asli lain dan mendapatkan hasil yang baik.
Animasi morf dan tutorial video - selanjutnya.
Apa yang telah diberikan kepada kita
Face-Depixelizer adalah antarmuka untuk bekerja dengan PULSE.
PULSE adalah mesin yang didasarkan pada jaringan saraf StyleGAN. Artinya adalah mengembalikan gambar wajah seseorang dari foto yang tidak jelas. Omong-omong, ini adalah karya ilmiah untuk CFV .
StyleGAN adalah jaringan saraf permusuhan generatif dari NVidia yang menghasilkan wajah acak dari orang yang tidak ada (pada kenyataannya, akan lucu jika orang seperti itu sudah ada).
PULSA , akhirnya, akan memberi tahu kami kira-kira seperti apa rupa orang yang berkedip dalam foto ini!
Mengambil PULSA
Saya bertanya-tanya apa yang ada di bawah tenda PULSE dan, secara umum, bagaimana itu bisa dimulai secara lokal.
Yang menarik, setelah melihat secara diagonal melalui artikel ilmiah, saya mulai berpikir tentang bagaimana memulainya dan bagaimana membangun semua ini (terlepas dari kenyataan bahwa saya tidak pernah menetapkan diri saya sebagai "jaringan saraf").
Dan saya mulai dengan mengatakan bahwa sesegera mungkin, sebelum github jatuh (jika Anda tahu apa yang saya maksud), saya beralih ke proyek PULSA . Di mana penulis menunjukkan opsi instalasi ini: anaconda dan python. Itu dalam hal apa pun, paket (pustaka) platform-spesifik diperlukan. Saya lebih sebagai pengguna Windows daripada Linux. Tetapi, sama saja, saya ingin menjalankan tanpa mengedit dan memilih perpustakaan yang membosankan. Dan tanpa Linux, ini tidak dapat dilakukan.
Beberapa waktu yang lalu, beberapa spesialis TI berbicara tentang Linux di Windows. Dan aku akan memberitahumu, untukku - sia-sia. Masalahnya nyaman, meskipun belum selesai.
WSL , Subsistem Windows untuk Linux, memungkinkan pengembang untuk menjalankan lingkungan GNU / Linux, termasuk sebagian besar program baris perintah, utilitas dan aplikasi, langsung pada Windows tanpa modifikasi apa pun, menghilangkan kebutuhan untuk mesin virtual terpisah.
Itu ini adalah akses ke baris perintah linux dari windows. Terminal dengan Linux semudah memulai sebagai cmd. Dengan nyaman.
Mari kita mulai
Untuk bekerja dengan terminal, di sini dan di video saya akan menggunakan Terminal Windows (dari Windows Store).
Pendeknya
Memeriksa persyaratan
- Kartu video NVidia dengan dukungan CUDA (jaringan saraf StyleGAN menggunakan CUDA). Daftar kartu video yang didukung di sini
- NVidia CUDA WSL2 ( , ).
- Windows 10 version 2004 build 20150 ( Windows Insider Program ), .
- WSL2 (4.19.121 ; Windows) linux .
- Ubuntu 18.04 WSL2 Windows Store.
Ubuntu
- cmake
- unzip,
- NVidia CUDA Toolkit.
CUDA
Unduh dan instal anaconda.
Instal PULSA
- Mengunduh dari github PULSE
- Mengedit pulse.yml:
- Tambahkan saluran anaconda, conda-forge
- Menghapus referensi ke majelis tertentu
- Instal lingkungan PULSE menggunakan file yang diedit
- Memeriksa kinerja Pytorch dan CUDA Toolkit dengan Python.
Bereksperimen
- Menggunakan pip pembaruan jupyter notebook ke versi terbaru
- Menyesuaikan gambar (dalam edisi ini mereka menulis bahwa PULSA bekerja dengan gambar persegi 1024 * 1024 dan tiga saluran RGB, mis. Tanpa transparansi)
- Kami menambah / mengurangi jumlah langkah dan kesalahan
- ...
- KEUNTUNGAN!
Di atas adalah animasi morf yang dibuat dari gambar perantara.
Seperti kata pepatah: "lebih baik melihat sekali daripada mendengar seratus kali". Video menunjukkan semua langkah, mulai dengan memperbarui WSL2 dan menginstal Ubuntu.
Dan sekarang…
Keterangan lebih lanjut
Persyaratan
Sekali lagi saya akan mengulangi persyaratannya ...
- Windows 10 versi 2004 build 20150 atau lebih tinggi
- WSL2 (versi 4.19.121 dan lebih tinggi)
- Ubuntu 18.04 untuk WSL2 adalah distribusi itu sendiri dari Windows Store. Diinstal setelah semua pembaruan Windows 10 Insider digulung ke depan , termasuk. WSL2
- NVidia Driver WSL adalah versi eksperimental driver dengan dukungan untuk versi baru WSL2. Membutuhkan persetujuan untuk berpartisipasi dalam Program Eksperimental NVidia. Tetapi tidak setiap kartu akan berfungsi .
Persiapan OS
Windows 10
Tujuannya : Windows 10 versi 2004 build 20150 dan di atas
pretreatment di atas :
- Meluncurkan pembaruan
- Kemudian, menggunakan aplikasi
winver
, kami memeriksa versi Windows saat ini - Jika versi Windows Anda lebih rendah dari Windows 10 versi 2004 build 20150, maka Anda harus mengikuti langkah-langkah di bawah ini
- Dan jika semuanya baik-baik saja, selamat, Anda tidak harus bergabung dengan Program Windows Insider! Jangan ragu untuk melanjutkan ke tahap berikutnya!
Apa yang kita lakukan :
- Memasuki Program Windows Insider
- Selanjutnya, dalam parameter sistem "Pembaruan dan Keamanan":
- Tab Program Orang Dalam (jika kosong, lihat bagian Pemecahan Masalah di bawah):
- Opsi Evaluasi: Akses Awal
- Klik "Mulai".
- Tab Pembaruan Windows:
- Dalam "Advanced" pastikan untuk mengizinkan "Ketika memperbarui untuk menerima pembaruan untuk produk Microsoft lainnya" (ini untuk menginstal WSL2 4.19.121 dan lebih tinggi)
- Kami memperbarui.
- Tab Program Orang Dalam (jika kosong, lihat bagian Pemecahan Masalah di bawah):
Periksa : luncurkan
winver
. Di kotak dialog yang terbuka, lihat versi.
NVidia Driver CUDA WSL
Tujuan : Menginstal versi terbaru NVidia Driver CUDA WSL
Apa yang kita lakukan :
- Pergi ke halaman
- Jika Anda belum mendaftar, kami mendaftar; setuju untuk berpartisipasi dalam program eksperimental
- Unduh dan pasang.
Verifikasi : akan berada pada tahap "CUDA operability check"
WSL2
Tujuannya : WSL2 versi 4.19.121 dan
pretreatment yang lebih tinggi :
- Kami memperbarui Windows ke Windows 10 versi 2004 build 20150 dan lebih tinggi, jika tidak memperbarui pada langkah-langkah di atas
- Jika, setelah dieksekusi di terminal:
isi bantuan akan ditampilkan (alawsl --update
wsl --help
), maka Anda memiliki versi lama. Kemudian lanjutkan ke langkah-langkah di bawah ini - Jika versi dari 4.19.121 dan lebih tinggi ditampilkan, maka kami melewati tahap ini.
Apa yang kita lakukan :
- Luncurkan PowerShell sebagai admin dan jalankan secara berurutan:
- Kami menyertakan komponen tambahan "Subsistem Windows untuk Linux":
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
- Kemudian, aktifkan komponen "Platform Mesin Virtual":
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
- Kami reboot.
- Kami menyertakan komponen tambahan "Subsistem Windows untuk Linux":
- Memperbarui WSL:
wsl --update
- Selanjutnya, kami memasang versi kedua WSL - sebagai default untuk semua distribusi di masa mendatang:
Untuk melakukan ini, luncurkan PowerShell dengan hak admin dan jalankan:
wsl --set-default-version 2
Periksa : perintah:
wsl --update
[setelah menginstal pembaruan] akan menampilkan versi 4.19.121 dan lebih tinggi.
Ubuntu 18.04 di WSL2
Tujuannya : Ubuntu 18.04 pada
pretreatment WSL2 : if (Saya belum menguji cabang berikut, tapi alangkah baiknya jika Anda tentukan dalam komentar, siapa yang berhadapan jika dibantu) di WSL sebelumnya menginstal Ubuntu 18.04:
- Kami memeriksanya dalam daftar:
wsl --list --all -v
- Untuk distribusi ini, alihkan versi WSL ke ver.2:
wsl --set-version Distro 2
Sebagai contoh:
wsl --set-version Ubuntu-18.04 2
- Kami reboot.
Apa yang kita lakukan :
- Pergi ke Windows Store
- Kami mencari Ubuntu 18.04 dan menginstal
Periksa : buka terminal, jalankan:
wsl --list --all -v
Lihat
Ubuntu 18.04 Version 2
Mempersiapkan Ubuntu
Pra-persiapan
- Memperbarui indeks paket:
sudo apt update
- Instal cmake (untuk menginstal dlib):
sudo apt install cmake
- Untuk membongkar arsip zip, instal, misalnya, utilitas unzip :
sudo apt install unzip
Menginstal CUDA Toolkit
- Tambahkan CUDA ke indeks paket:
sudo apt-key adv --fetch-keys http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/7fa2af80.pub sudo sh -c 'echo "deb http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64 /" > /etc/apt/sources.list.d/cuda.list' sudo apt update
- Instal CUDA Toolkit:
sudo apt install -y cuda-toolkit-11-0
Memeriksa kinerja CUDA Toolkit
Untuk melakukan ini, jalankan contoh (program deviceQuery informatif):
- Mengunduh:
wget https://github.com/NVIDIA/cuda-samples/archive/master.zip
- Buka zip:
unzip master.zip
- Maju dan bangun (semuanya):
make
- Lari:
./bin/x86_64/linux/release/deviceQuery
Aplikasi akan menampilkan daftar perangkat yang kompatibel.
Menginstal Anaconda
- Unduh distribusi dari tautan
- Lari:
bash Anaconda3-2020.02-Linux-x86_64.sh
Selama instalasi:
- Setuju dengan lisensi
- Kami meninggalkan PREFIX
- Kami setuju untuk inisialisasi
- Mulai ulang terminal, atau jalankan:
source ~/.bashrc
Menyiapkan lingkungan di anaconda
Mengkonfigurasi PULSA
- Mengunduh:
wget https://github.com/adamian98/pulse/archive/master.zip
- Buka zip:
unzip master.zip
- Buat cadangan pulse.yml:
cp pulse.yml pulse.yml.bak
- Perbaiki pulse.yml:
- Tambahkan saluran (ini adalah sumber paket):
- conda-forge
- anaconda
- Kami menghapus semua referensi untuk versi spesifik dari paket.
Contoh :zstd=1.3.7=h5bba6e5_0
hapus bagian terakhir dari baris " ", dimulai dengan tanda sama dengan: "=h5bba6e5_0
". Akibatnya, kami mendapat "zstd=1.3.7
".
Kami melakukannya dengan tangan atau melalui utilitas sed:
sed '/==/b; s/=\([^=]*\)$//' pulse.yml > pulse1.yml
: , , "==", regexp
- Tambahkan saluran (ini adalah sumber paket):
-
pulse1.yml
:
conda env create -f pulse1.yml
- , -
NotResolverPackage
.libfortran 3.0.1
:
- conda libfortran
- Anaconda Cloud Files (3.0.1), , , osx-64
- Anaconda Cloud, cloud-forge 3.0.0-1 linux-64. !
- pulse1.yml
libfortran=3.0.1
libfortran=3.0.0=1
- :
conda env create -f pulse1.yml
- , !
- Jika Anda membutuhkan paket lain, pastikan untuk memperhatikan saluran, tambahkan jika perlu.
- Kami sedang menunggu untuk diinstal
- Kemudian kita aktifkan:
conda activate pulse
Memeriksa kinerja Pytorch dan CUDA dalam python
- Skrip ini:
from __future__ import print_function import torch x = torch.rand(5, 3) print(x)
Haruskah hasilkan sesuatu seperti ini:
tensor([[0.3380, 0.3845, 0.3217], [0.8337, 0.9050, 0.2650], [0.2979, 0.7141, 0.9069], [0.1449, 0.1132, 0.1375], [0.4675, 0.3947, 0.1426]])
- Dan yang satu ini:
import torch torch.cuda.is_available()
Akan menghasilkan:
True
Pada tahap ini, secara teori, Anda bisa berhenti. Tapi saya pergi ke depan dan menginstal notebook jupyter untuk percobaan.
Jupyter Notebook adalah alat yang luar biasa ampuh untuk mengembangkan dan mempresentasikan proyek ilmu data secara interaktif.
Bekerja dengan PULSA
Mari kita mulai
- Kami mengaktifkan lingkungan pulsa:
conda activate pulse
- Memasang Jupiter:
pip install jupyter
- Lari:
Dan selanjutnya:jupyter notebook
- Buat buku catatan baru Baru-> Python3 (buku catatan)
- Rekatkan kode dari file di sana
- Kami membuang file sumber ke root proyek, menamainya menjadi source.png:
cp /mnt/c/Users//Desktop/face1.png source.png
- Kami meluncurkan. Kami menunggu
Catatan
- , 500-800, eps
- :
- , , 1024*1024
- PNG
- (RGB) RGBA
- : "
Could not find a face that downscales correctly within epsilon
", :
steps \ eps, , (steps), eps L2. .
:
BEST (400) | L2: 0.0013 GEOGROSS: | TOTAL: | time: ...
Di mana 400 adalah (ditentukan) jumlah langkah yang dicapai (langkah), L2 adalah nilai yang menarik, itu harus kurang dari eps yang ditentukan (seperti yang saya mengerti, ini adalah akurasi optimasi; kawan pengembang AI, katakan padaku apa itu?).
Jadi, misalnya, Anda perlu meningkatkan satu hal atau bersama-sama: langkah (masukkan lebih dari 400) dan \ atau eps (cantumkan eps = 0,0013 dan lebih banyak, mis. Itu harus sedemikian sehingga eps> = L2) ...
- Jika Anda ingin melihat foto antara untuk setiap langkah, tambahkan parameter
-save_intermediate
Gambar disimpan ke folderruns/
: di folderHR
- resolusi tinggi, di folderLR
- resolusi rendah)
Kemungkinan masalah ada di bawah ini.
Solusi masalah
Jika Anda tidak hanya menemukan kesalahan, tetapi juga menyelesaikannya, tulis, saya akan menambahkan di sini.
Layar Putih dalam Program Windows Insider
Opsi : Anda berada di bawah pengguna yang berbeda, Anda tidak memiliki cukup hak istimewa.
Solusi : lihat tautan . Tapi saya menyelesaikannya tanpa mengubah registri.
Sampel CUDA tidak dimulai
Opsi :
- Kartu grafis Anda tidak didukung
- Anda belum meluncurkan WSL2 terbaru
- Anda belum menginstal versi terbaru (percobaan) dari NVidia Driver CUDA WSL
jupyter notebook
Melempar kesalahan saat startup
Kesalahan :
Start : This command cannot be run due to the error: The system cannot find the file specified.
Solusi : salin string koneksi ke browser (saya tidak mengerti solusi lain).
Saat memulai PULSA, kesalahan terus-menerus hilang
Kesalahan :
Google Quota Exceeded
Solusi : salin file sumber dari saya dan buang ke root - ke folder cache (buat jika tidak ada).
Atau:
- Unduh file menggunakan tautan google pertama dari PULSE.py
- Ganti nama menggunakan md5hash template _synthesis.pt , di mana md5hash adalah hash md5 dari file yang diunduh (dalam versi saat ini
6b943ee69b8491ac40e8e9ced6175659_synthesis.pt
) - Kami membuangnya ke folder cache (buat jika tidak di root direktori tempat PULSE berada)
Saat memulai PULSA atau memeriksa Pytorch melempar kesalahan
Kesalahan :
ModuleNotFoundError: No module named 'torch'
Solusi : Jika Anda telah menguji pytorch dan berfungsi, itu berarti Anda belum mengaktifkan lingkungan pulsa. Untuk melakukan ini, jalankan perintah berikut:
conda activate pulse
Kesimpulan
Langkah selanjutnya adalah mempelajari StyleGAN dan "jaringan saraf" lainnya berdasarkan itu.
Saya akan senang membaca komentar Anda pada artikel, rekomendasi (termasuk pada presentasi, karena ini adalah artikel publik pertama saya), amandemen.
Terima kasih sudah membaca!
Referensi dan tautan ke utilitas, driver
- Petunjuk instalasi untuk NVidia Driver untuk CUDA di WSL
- Driver NVidia untuk CUDA di bawah WSL
- Daftar kartu video CUDA yang didukung
- Contoh CUDA
- Petunjuk untuk menginstal WSL2 pada Windows 10
- Bantuan & Pendahuluan Program Windows Insider - Windows Early Access
- Petunjuk untuk menginstal Anaconda di sistem Linux
- Daftar distribusi Anaconda
- Jupyter Notbook - Analisis dan Eksperimen
- PULSA repositori
- Repositori Face-Depixelizer
- Repositori StyleGAN