Kurs
DataCamp’in Python’da Derin Öğrenmeye Giriş kursu, dizüstü veya kişisel bilgisayarınızda derin öğrenme yapmanız için ihtiyacınız olan her şeyi sağlasa da, bir noktada modellerinizi Grafik İşleme Birimi (GPU) üzerinde çalıştırmak isteyeceksiniz.
Bu yazı, bir sonraki adımları atmanıza yardımcı olacak!
Çoğu kullanıcının kendi bilgisayarında GPU bulunmadığından, bu blog yazısı size Amazon Web Services (AWS) bulutunda bir GPU’yu nasıl çalıştıracağınızı gösterecek.
Modellerinizi burada anlattığımız şekilde bir GPU’da çalıştırmanın maliyeti saatlik yaklaşık 0,90 $. Dolayısıyla, dizüstü veya kişisel bilgisayarınızda bir GPU varsa, bilgisayarınızı o GPU’yu kullanacak şekilde ayarlayabilir ve bu sayede biraz tasarruf edebilirsiniz.
Bulut bilişim ortamınızı ilk kez kurmak için epey adım var. Ancak bir kez kurduktan sonra, gelecekte kullanmaya devam etmenin ne kadar kolay olduğunu göreceksiniz.
Amazon Web Services Hesabı Alma
Bir AWS hesabına kaydolmak için https://aws.amazon.com/ adresine gidin. Bir AWS Hesabı Oluşturun bağlantısını izleyin.
Yeni bir kullanıcım düğmesini seçin ve e-posta adresinizi girin. Adınız, e-posta adresiniz ve parola gibi bilgileri dolduracağınız bazı formlardan yönlendirileceksiniz.

Bulut Bilişim Sunucunuzu Kurma
Sunucunuzu kurma sürecinde epey adım var. Neyse ki, örneğinizi nasıl durduracağınızı göstereceğiz; böylece kullanmadığınızda ücret ödemezsiniz ve kurulum tamamlandıktan sonra hızlıca yeniden başlatabilirsiniz.
Artık bir hesabınız olduğuna göre, https://aws.amazon.com/ adresine dönüp Console’a Giriş Yap’ı tıklayarak istediğiniz zaman kullanabilirsiniz.

Amazon çok geniş bir bulut bilişim hizmetleri yelpazesi sunar ve bu durum çoğu yeni kullanıcı için bunaltıcı olabilir. Siz EC2 hizmetine (Elastic Cloud Compute’un kısaltması) odaklanacaksınız. Tarayıcınızın sol üst kısmında hizmetler için bir menü bulunur.

Bu menüyü açıp ilk seçenek olması gereken EC2’yi seçin. Bu işlem, çalışmakta olan tüm EC2 bilişim örneklerinizin durum bilgilerini içeren bir sayfaya götürür. Bu sayfanın ortasındaki Örnek Başlat düğmesini seçin.

Her bilişim örneği, farklı yazılımlarla ("makine imajları" içinde) önceden yüklenmiş gelir ve hangi yazılımların önceden yükleneceğine karar vermemiz gerekir. Bizim durumumuzda, derin öğrenme için optimize edilmiş AWS Marketplace’ten bir imaj kullanmak istiyoruz.
Sol menü çubuğunda AWS Marketplace’i seçin.
Arama alanına deep learning ubuntu yazın:

Bu, Amazon’un resmi Deep Learning AMI Ubuntu Version seçeneği de dahil bazı seçenekleri getirecektir. Bunu seçin.

Şimdi size örnek türleri menüsü sunulacak. Her örnek türünün farklı bir fiyatı ve farklı hesaplama yetenekleri vardır.
GPU’lu örnekler g2 veya p2 ile başlayanlardır. Saatlik maliyeti bir dolardan biraz daha az olan p2.xlarge’ı öneriyoruz. Daha ucuz bir şey isterseniz, g2.2xlarge yaklaşık 0,65 $/saat’tir; ancak o kadar hızlı veya güçlü değildir.
Örnek türünüzü seçtikten sonra, sayfanın alt kısmından Configure Instance Details’ı seçin. Ardından sayfanın üst kısmındaki menüden 6. Configure Security Group seçeneğini seçin.
Burada, örneğinize bilgisayarınızdan erişimi kolaylaştıracak şekilde yapılandırma yapacağız.
Her satır, örneğinize nasıl erişilebileceğine ilişkin kuralları açıklar.
Jupyter notebook’ları kullanacağız ve bunlar 8888 numaralı porttan hizmet verir. Bunu henüz anlamasanız da, birazdan nasıl çalıştığını göreceksiniz.
Şimdilik, Kural Ekle düğmesini tıklayın. Yeni satırda protokol için TCP’yi, Port için 8888’i ve kaynak olan son sütun için 0.0.0.0/0’ı seçin.

Son olarak ekranınızın altındaki Review and Launch düğmesini tıklayın. Ardından tekrar Launch’a basın.
Şimdi güvenliğin son adımına geleceksiniz… bu da bir anahtar çifti seçmektir. Anahtar, bilgisayarınızda bulunan ve sunucuda saklanan bir dosyayla eşleşmesi gereken bir dosyadır. Az önce kurduğunuz sunucuyu başkalarının kullanmasını bu şekilde önlersiniz. Bu nedenle, anahtarları başkalarıyla paylaşmayın ve dosyayı herkese açık herhangi bir yere koymayın.
Yeni bir anahtar çifti oluştur seçeneğini belirleyin ve anahtarınız için bir ad yazın. Ardından sunucunuza erişmek için ihtiyaç duyacağınız anahtarınızın bir kopyasını almak üzere Anahtar Çiftini İndir düğmesine basın.

Kısa süre içinde şu şekilde görünen bir ekrana yönlendirileceksiniz:

Mavi renkteki uzun karakter dizisi örneğinizin adıdır. Bunu seçerek bu sunucunun çalıştığını gösteren EC2 panonuza gidebilirsiniz.
Tebrikler! Artık bulutta çalışan bir derin öğrenme sunucunuz var.
Sunucunuza Bağlanma
Şimdi ssh adlı bir protokol kullanarak sunucumuza bağlanacağız. Oradan, tarayıcı üzerinden kullanabileceğimiz bir Jupyter notebook sunucusu başlatacağız.
Mac veya Linux bilgisayarda ssh komutunu kullanabilirsiniz. Windows’ta birçok kişi ssh bağlantıları için PuTTY adlı bir uygulama kullanır.
Anahtar dosyanızın erişim ayrıcalıklarını değiştirmeniz gerekebilir. MacOS ve Linux’ta bu, şu komutla yapılabilir
chmod 400 my_private_key.pemArdından, hâlâ komut satırındayken, sunucunuza giriş yaparken kimlik doğrulamada bu anahtarın kullanılmasını şu komutla belirtin
ssh-add my_private_key.pemSunucumuza giriş yapmak için sunucunun IP adresine ihtiyacımız olacak. Bu bilgi tarayıcınızdaki EC2 panosunda bulunabilir.

Komut satırından şu komutla giriş yapın
ssh ubuntu@34.208.222.11834.208.222.118 adresini sunucunuzun IP adresiyle değiştirmek isteyeceksiniz.
Sunucunuza giriş yaptıktan sonra, bir IPython kabuğu başlatmak için ipython komutunu kullanın. IPython içindeyken, her şeyin çalıştığından emin olmak için keras’ı içe aktarmayı deneyin. CUDA’nın kullanıldığına dair bazı iletiler göreceksiniz… bu da keras’ın GPU’ya eriştiği anlamına gelir.

Linux, IPython ve bir Linux metin düzenleyicisiyle rahat ediyorsanız, buradan devam edebilirsiniz. Bazı kişiler iki pencere kullanmayı tercih eder. Birinde sunucuya ssh ile bağlanıp IPython kullanır, diğerinde yine ssh ile bağlanıp metin düzenleyiciyi kullanır.
Jupyter Notebook’unuzu Kurma
Bununla birlikte, çoğu kişi Jupyter notebook’ları kurup tarayıcı üzerinden programlama yapmayı daha kolay bulacaktır. Bunun için yeni bir parola belirlemek isteyeceğiz.
İlk adım, kullanmak istediğiniz parolanın özetini (hash) almaktır. Bunu IPython’da aşağıdakilerle yaparsınız:

Parolanızı belirledikten sonra üretilen özeti kopyalayın. Bunu az sonra tekrar kullanacaksınız.
IPython’dan çıkmak için exit yazın.
Şimdi Jupyter’a seçtiğiniz parolayı kullanmasını söylememiz gerekiyor. Bunu yapmak için aşağıdaki komutlar kümesini verin
jupyter notebook --generate-configmkdir certscd certssudo openssl req -x509 -nodes -days 365 -newkey rsa:1024 -keyout mycert.pem -out mycert.pemArdından ~/.jupyter/jupyter_notebook_config.py dosyasını düzenlemek için bir metin düzenleyici kullanın. Ben vim’i seviyorum ve şu komutu kullanırdım:
vim ~/.jupyter/jupyter_notebook_config.pyBu dosyanın en üstüne şunları yapıştırın:
c = get_config()c.IPKernelApp.pylab = 'inline' c.NotebookApp.certfile = u'/home/ubuntu/certs/mycert.pem' c.NotebookApp.ip = '*' c.NotebookApp.open_browser = False # Your password below will be whatever you copied earlier c.NotebookApp.password = u'sha1:941c93244463:0a28b4a9a472da0dc28e79351660964ab81605ae' c.NotebookApp.port = 8888Tümünü aynen kopyalayabilir ve yalnızca parolayı değiştirebilirsiniz. Unutmayın, gerçek parolanızı kullanmayın. Daha önce oluşturduğunuz parolanızın özetini (hash) buraya yapıştırın.
Tarayıcıda Jupyter’a Bağlanma
Seçtiğiniz tarayıcıya gidip örneğinizin adresini (EC2 panosunda mevcut) iki nokta üst üste 8888 ile birlikte girin.

Bu noktada bir güvenlik iletisi görebilirsiniz. Endişe etmeniz gerekmemeli. Chrome’da bu güvenlik iletisini atlamak için ana tarayıcı penceresinde “gelişmiş” düğmesini tıklayabilirsiniz.

Şimdi sizden parolanız istenecek.

Parolanızı yazın. Bu, parolanızın özeti değil; daha önce IPython’da özet değerini almak için yazdığınız ham paroladır.
Tebrikler, giriş yaptınız!
Notebook’u Kullanma
Tarayıcı içinden, menüden yeni bir Python notebook’u oluşturmayı seçin.

Vay… Bu Kolay Değildi. Ama Artık Öyle Olacak
Bu notebook yeteneklerini kazanmak epey kurulum gerektirdi. Neyse ki, çoğunlukla tek seferlik bir çaba. Artık EC2 panosunda sunucunuzu kullanmadığınız zamanlarda durdurabilir ve ücret ödemeyi kesebilirsiniz.

Bir örneği durdurmak tüm kurulum çabanızı korur, ancak örnek siz yeniden başlatana kadar çalışmayı durdurur. Bazı açılardan bu, bir duraklatma düğmesi gibidir. Terminate seçseydiniz, o örneğe ait tüm bilgiler silinir ve bir sonraki sefer kurulumu baştan yapmanız gerekirdi.
Stop seçtiğinize göre, şimdi başka bir gün ec2 panosuna dönüp start’a tıklayabilirsiniz.

Başlat’a tıkladıktan sonra yeniden çalışır hâle gelmek oldukça kolaydır. Örneğiniz yeni bir IP adresi alacaktır. Yeni IP adresine ssh ile bağlanmanız gerekecek
ssh ubuntu@34.208.26.73Sunucunuza ssh ile eriştiğiniz pencerede şunu yazın
jupyter notebookArdından tarayıcınıza geri dönüp hemen çalışmaya başlayabilirsiniz.
Kurulum için çokça emek verdiniz; ancak umarız pratik yaptıkça ve daha heyecan verici derin öğrenme projeleri gerçekleştirdikçe bundan çok faydalanırsınız.
Daha fazlasını öğrenmekle ilgileniyorsanız, bu DataCamp kurslarını mutlaka inceleyin:
