Wang Xinmin Derleyin ve organize edin
Qubit Üretildi | Genel Hesap QbitAI
Makine öğrenimi üzerine çalışan tam donanımlı bir kod çiftçisi olan Dendrick Tan, blogunda bir eğitim + kod yayınladı: Renk bloklarından oluşan bir patchwork resmini uygulamak ve onu Bob Ross tarzı bir resme dönüştürmek için PyTorch'u kullanın.
Bob Ross'tan bahsetmişken, bu kabarık saçtan biraz etkilenmiş olabilirsiniz ...
"Happy Studio" adlı televizyon programında 11 yıl resim dersi verdi, aynı isimli sanat malzemeleri markasını çıkardı ve birçok öğretim materyali yayınladı.
Resimleri temelde bu tarzda:
Qubit'lerin bugün tanıtacağı öğreticinin adı çizmek .
Drawlikebobross projesinin amacı, aşağıda gösterildiği gibi, bir parça renkli patchwork parçasını (biraz benziyor) Bob Ross yağlı boya tarzı görüntüye dönüştürmektir:
veriyi al
Ağı eğitmeye başlamadan önce, bir veri kümesi oluşturmak için önce veri elde etmemiz gerekir. Neyse ki, bir Google aramasıyla, twoinchbrush web sitesinde Bob Ross'un çalışmasıyla ilgili bir veri kümesi buldum.
Bu web sitesinin avantajı, Bob Ross'un tüm çalışmalarını içermesi ve aşağıdaki formatta listelenmesidir:
Açık kaynak kodu scrapper.sh Bu işi tamamlamak için kullanılır.
Veri ön işleme
Amacımız, renk yaması görüntüsünü Bob Ross tarzı bir görüntüye dönüştürmek olduğu için, sonuçta ortaya çıkan renk yaması görüntüsünü girdi olarak ve orijinal görüntüyü çıktı olarak alarak görüntü yumuşatma elde etmek için ortalama kaydırma filtrelemesini kullanmaya karar verdim.
Eğitim süresini en aza indirmek için, orijinal görüntülerin çoğunu yumuşak renk yamaları halinde önceden işledim ve bunları HDF5 formatında sakladım. HDF5'in hızlı okuma ve yazma performansı sayesinde, eğitim süresi boyunca verilerin ön işlemesini tekrarlamadan farklı sinir ağı yapılarını hızlı bir şekilde test edebilir ve böylece çok fazla zaman tasarrufu sağlayabiliriz.
Sinir ağı yapısı
Bu projede kullanılan ağ yapısı, kısaca AAE olarak da bilinen Adversarial Autoencoder olarak adlandırılır. AAE hakkında, bir blog tanıtımı ( ve bir makale (https://arxiv.org/abs/1511.05644) bulunmaktadır.
AAE'nin blog girişindeki değerlendirmesi şudur: "Bu makaledeki en ilginç fikir, varyasyonel çıkarım yöntemini kullanmak değil, kodlayıcı çıktı dağılımını q (z | x) önceki herhangi bir Dağılım kavramı p (z). "
Otomatik kodlayıcı AAE'ye karşı ağ yapısı
Modelimize veri girin
Renkli yama görüntüsünü ağa girmeyi ve bunu Bob Ross tarzı bir görüntü olarak çıkarmayı umuyoruz. Spesifik uygulama süreci aşağıdaki gibidir.
Stil aktarımını gerçekleştirmek için AAE ağını kullanın
Bu modeli uygulamak için PyTorch'u kullanmayı seçtim çünkü onu kullanıyorum ve TensorFlow ile karşılaştırıldığında, bu çerçevenin API'sinin kullanımı çok kolay ve güçlü bir tutarlılık sağlıyor.Kullandığından beri, verimlilik birkaç iyileşti on kere.
Bu modelin eğitim süreci dört bölüme ayrılabilir:
models.py: Sinir ağının yapısı;
loader.py: veri yükleme işlemi;
trainer.py: Eğitim ağının hiperparametre yapılandırması;
train.py: eğitim için başlangıç dosyası;
Bu şekilde, sinir ağının yapısını değiştirmek istiyorsanız, yalnızca models.py ve trainer.py'yi yeniden düzenlemeniz gerekir, bu da değiştirilmesi kolaydır.
Eğitim
Ağ eğitim süresi ne kadar uzunsa, Bob Ross tarzı görüntülerin ağ çıkışı o kadar iyi olur.
ThinkPad t460s kullandığım ve yerleşik GPU bilgi işlem performansı iyi olmadığı için AWS'de bir g2 iş istasyonu kiraladım ve bu modeli eğitmek için yaklaşık bir günümü 2500 adım çalıştırarak geçirdim.
Drawlikebobross'un açık kaynak kodu ayrıca bir web Uygulaması içerir, indirmeye ve test etmeye hoş geldiniz ve sonucun nasıl olduğunu bize bildirin.
PyTorch'u denemek ve iki gününü bu kadar küçük bir projeyle pratik yaparak geçirmek isteyen öğrencilere de şiddetle tavsiye edilir ~
Makalede belirtilen ilgili tüm bağlantıları sıraladık ve QbitAI diyalog arayüzündeki "yağlı boyaya renk bloğu" görünümüne yanıt verdik.
Bugün AI dünyasında dikkat etmeye değer başka ne var? QbitAI genel hesap görüşmesi arayüzünde yanıtla " Şu günlerde "Tüm ağımızdan toplanan yapay zeka endüstrisine ve araştırma eğilimlerine bakın. Yeniden doldur ~