Melatih model Deep Learning

dengan AWS Deep Learning Containers di Amazon EC2

AWS Deep Learning Containers (DL Containers) adalah image Docker prainstal dengan kerangka kerja deep learning untuk memudahkan menerapkan lingkungan machine learning kustom secara cepat dengan membiarkan Anda melewatkan proses rumit dalam membangun dan mengoptimalkan lingkungan dari awal.

Dengan menggunakan AWS DL Containers, pengembang dan ilmuwan data dapat menambahkan machine learning dengan cepat ke aplikasi berkontainer yang diterapkan di Amazon Elastic Container Service for Kubernetes (Amazon EKS), Kubernetes yang dikelola sendiri, Amazon Elastic Container Service (Amazon ECS), dan Amazon EC2.

Dalam tutorial ini, Anda akan melatih model machine learning TensorFlow pada instans Amazon EC2 dengan menggunakan AWS Deep Learning Containers.

Tentang Tutorial ini
Waktu 10 menit                                           
Biaya Kurang dari 1 USD
Kasus Penggunaan Machine Learning
Produk AWS Deep Learning Containers, Amazon EC2, Amazon ECR
Audiens Pengembang, Ilmuwan Data
Tingkat Pemula
Terakhir Diperbarui 27 Maret 2019

1. Daftar AWS

Anda membutuhkan akun AWS untuk mengikuti tutorial ini. Tidak ada biaya tambahan untuk penggunaan AWS Deep Learning Containers dengan tutorial ini, dan Anda hanya membayar untuk instans Amazon c5.large yang digunakan dalam tutorial ini, yang tidak akan lebih dari 1 USD setelah langkah-langkah penghentian berikut di akhir tutorial ini. 

Sudah memiliki akun? Masuk ke akun Anda

2. Menambahkan izin untuk mengakses Amazon ECR

Image AWS Deep Learning Container dihosting di Amazon Elastic Container Registry (ECR), Docker container yang dikelola secara penuh untuk memudahkan pengembang menyimpan, mengelola, dan menerapkan image Docker container. Pada langkah ini, Anda akan memberikan izin pengguna IAM yang ada untuk mengakses Amazon ECR (menggunakan AmazonECS_FullAccess Policy).

Jika tidak terdapat pengguna IAM, baca Dokumentasi IAM untuk informasi selengkapnya.

a. Menavigasikan ke konsol IAM

Buka AWS Management Console, agar panduan langkah demi langkah ini selalu terbuka. Saat layar muncul, masukkan nama pengguna dan kata sandi untuk memulai. Ketikkan IAM dalam bilah pencarian, lalu pilih IAM untuk membuka konsol layanan.

AWS Management Console

b. Memilih Pengguna

Pilih Users dari panel navigasi kiri.

3b-new

c. Menambahkan Izin

Anda akan menambahkan izin ke pengguna IAM baru yang Anda buat atau pengguna IAM yang sudah ada. Pilih Add Permissions pada halaman ringkasan pengguna IAM.

3c

d. Menambahkan Kebijakan Akses Penuh ECS

Pilih Attach existing policies directly dan cari ECS_FullAccess. Pilih kebijakan Amazon_FullAccess klik melewati Review dan Add Permissions.

3d-new

e. Menambahkan kebijakan inline

Pada halaman ringkasan pengguna IAM, pilih Add inline policy.

3e-new

f. Menempelkan kebijakan JSON

Pilih tab JSON dan tempelkan kebijakan berikut:

{
       "Version": "2012-10-17",
       "Statement": [
              {
                     "Action": "ecr:*",
                     "Effect": "Allow",
                     "Resource": "*"
              }
       ]
}

Simpan kebijakan ini sebagai ‘ECR’ dan pilih Buat Kebijakan.

 

3f-new

3. Meluncurkan Instans AMI Base Pembelajaran Mendalam AWS

Dalam tutorial ini, kita akan menggunakan AWS Deep Learning Containers pada AWS Deep Learning Base Amazon Machine Images (AMIs), yang hadir secara pre-packaged dengan dependensi yang diperlukan seperti driver Nvidia, docker, and nvidia-docker. Anda dapat menjalankan Deep Learning Containers pada AMI mana pun dengan paket ini.

a. Menavigasikan ke konsol EC2

Kembali ke layar utama AWS Management Console dan ketik EC2 di bilah pencarian dan pilih EC2 untuk membuka konsol layanan.

step_2

b. Meluncurkan Instans Amazon EC2

Navigasikan ke konsol Amazon EC2 kembali dan pilih tombol Launch Instance.

step_4a-new

c. Pilih AMI Base Pembelajaran Mendalam AWS

Pilih tab AWS Marketplace di sebelah kiri, lalu cari ‘deep learning base ubuntu’. Pilih Deep Learning Base AMI (Ubuntu). Anda juga dapat memilih Deep Learning Base AMI (Amazon Linux).

step_4b-new

d. Memilih jenis instans

Pilih jenis instans Amazon EC2 Amazon Elastic Compute Cloud (EC2) adalah Amazon Web Service yang Anda gunakan untuk membuat dan menjalankan mesin virtual di cloud. AWS menyebut mesin virtual ini sebagai ‘instans’.

Untuk tutorial ini, kita akan menggunakan instans c5.large, tetapi Anda dapat memilih dari jenis instans tambahan termasuk instans P3 berbasis GPU.

Pilih Review and Launch.

step_4c-new

e. Meluncurkan instans Anda.

Tinjau detail instans Anda dan pilih Launch.

step_4d-new

f. Membuat file kunci privat baru

Di layar berikutnya Anda akan diminta untuk memilih pasangan kunci yang ada atau membuat pasangan kunci baru. Pasangan kunci digunakan untuk mengakses instans Anda dengan aman menggunakan SSH. AWS menyimpan bagian publik dari pasangan kunci seperti halnya kunci rumah. Anda mengunduh dan menggunakan bagian privat pasangan kunci seperti halnya kunci rumah.

Pilih Create a new key pair dan beri nama. Lalu pilih Download Key Pairkemudian simpan kunci Anda di tempat yang aman. Jika kunci hilang, Anda tidak akan dapat mengakses instans. Jika orang lain mendapatkan akses ke kunci Anda, mereka dapat mengakses instans.

Jika Anda sebelumnya telah membuat file kunci privat yang masih dapat diakses, Anda dapat menggunakan kunci privat yang ada sebagai gantinya dengan memilih Pilih pasangan kunci yang ada.

step_4e-new

g. Lihat detail instans

Pilih instance ID untuk melihat detail Amazon EC2 yang baru saja Anda buat pada konsol. 

step_4f-new

4. Menghubungkan ke Instans

Pada langkah ini, Anda akan menghubungkan instans yang baru saja diluncurkan menggunakan SSH. Instruksi berikut menggunakan lingkungan Mac/Linux. Jika Anda menggunakan Windows, ikuti langkah 4 pada tutorial ini.

a. Menemukan dan menyalin DNS publik instans Anda

Pada tab Description, salin Public DNS (IPv4) instans Amazon EC2 Anda.

step_5a-new

b. Membuka terminal baris perintah Anda

Pada terminal Anda, gunakan perintah berikut untuk mengubah direktori tempat kunci keamanan Anda berada, lalu hubungkan ke instans Anda menggunakan SSH.

cd /Users/<your_username>/Downloads/

chmod 0400 <your .pem filename>

ssh -L localhost:8888:localhost:8888 -i <your .pem filename> ubuntu@<your instance DNS>
step_5b-new

5. Masuk ke Amazon ECR

Image AWS Deep Learning Container dihosting di Amazon Elastic Container Registry (ECR), Docker container yang dikelola secara penuh untuk memudahkan pengembang menyimpan, mengelola, dan menerapkan image Docker container. Pada langkah ini, Anda akan masuk dan memverifikasi akses ke Amazon ECR

a. Mengonfigurasi instans EC2 dengan kredensial AWS Anda

Anda perlu memberikan ID Kunci Akses AWS dan Kunci Akses Rahasia AWS Anda Jika belum memiliki informasi ini, Anda dapat membuat ID Kunci Akses dan Kunci Akses Rahasia di sini.

step_6a-new

b. Masuk ke Amazon ECR

Anda akan menggunakan perintah berikut untuk masuk ke Amazon ECR:

$(aws ecr get-login --region us-east-1 --no-include-email --registry-ids 763104351884)

Catatan: Anda perlu menyertakan ‘$’ dan kurung dalam perintah. Anda akan melihat ‘Login Succeeded’ saat langkah ini berhasil.

 

step_6b-new

6. Menjalankan pelatihan TensorFlow dengan Container Pembelajaran Mendalam

Pada langkah ini, kita akan menggunakan image AWS Deep Learning Container untuk pelatihan TensorFlow pada instans CPU dengan Python 3.6.

a. Menjalankan AWS Deep Learning Containers

Sekarang Anda akan menjalankan image AWS Deep Learning Container pada instans EC2 menggunakan perintah berikut. Perintah ini akan secara otomatis menarik image Container Pembelajaran Mendalam jika tidak ada secara lokal.

docker run -it 763104351884.dkr.ecr.us-east-1.amazonaws.com/tensorflow-training:1.13-cpu-py36-ubuntu16.04

Catatan: Langkah ini dapat memerlukan waktu beberapa menit bergantung pada ukuran image. Jika Anda menggunakan instans GPU, gunakan ‘nvidia-docker’ dan bukan ‘docker.’ Setelah langkah ini berhasil, Anda akan memasukkan bash prompt untuk container.

 

7a-new

b. Menarik model contoh untuk dilatih

Kita akan menyalin repositori Keras yang menyertakan model contoh script python untuk dilatih.

git clone https://github.com/fchollet/keras.git
7b-new

c. Memulai pelatihan

Mulai melatih model MNIST CNN kanonik dengan perintah berikut:

python keras/examples/mnist_cnn.py

Anda baru saja selesai menjalankan pelatihan dengan AWS Deep Learning Container.

 

7c-new

7. Menghentikan Sumber Daya Anda

Pada langkah ini, Anda akan menghentikan instans Amazon EC2 yang Anda buat selama tutorial ini.

Penting: Menghentikan sumber daya yang tidak secara aktif digunakan mengurangi biaya dan merupakan praktik terbaik. Tidak menghentikan sumber daya Anda dapat menimbulkan biaya.

a. Memilih instans yang berjalan

Pada Konsol Amazon EC2, pilih Instans Berjalan.

 

8a-new

b. Menghentikan Instans EC2 Anda

Pilih instans EC2 yang Anda buat dan pilih Actions > Instance State > Terminate.

8b-new

c. Mengonfirmasi penghentian

Anda akan diminta untuk mengonfirmasi penghentian. Pilih Yes, Terminate.

Catatan: Proses ini dapat memerlukan waktu beberapa detik. Setelah instans Anda dihentikan, Status Instans akan berubah menjadi dihentikan pada Konsol EC2.

 

8c-new

Selamat

Anda telah berhasil melatih model MNIST CNN dengan TensorFlow menggunakan AWS Deep Learning Containers.

Anda dapat menggunakan AWS DL Containers untuk pelatihan dan inferensi pada sumber daya CPU dan GPU di Amazon EC2, Amazon ECS, Amazon EKS, dan Kubernetes.

Gunakan image pembelajaran mendalam stabil ini, yang telah dioptimalkan untuk performa dan penskalaan di AWS, untuk membangun lingkungan pembelajaran mendalam Anda sendiri.

Apakah tutorial ini bermanfaat?

Terima Kasih
Harap beri tahu kami apa yang Anda sukai.
Close
Maaf karena membuat Anda kecewa
Apakah ada bagian dari tutorial yang tidak relevan, membingungkan, atau tidak akurat? Harap bantu kami meningkatkan tutorial ini dengan memberikan umpan balik.
Close