Panduan Menginstall Tensorflow dengan GPU di Windows

Pada post sebelumnya, saya menjelaskan panduan installasi salah satu Deep Learning library yaitu Theano. Pada kesempatan ini saya akan memberikan tutorial untuk mengkonfigurasi Deep Learning Library yang lain, yaitu Tensorflow agar berjalan di GPU. Tensorflow merupakan opensource library untuk komputasi numerik yang menggunakan prinsip graph[1] . Node pada graph merepsentasikan operasi matematika dan edge pada graph mereprsentasikan multidimensional array (yang disebut tensor). Tensorflow juga menyediakan library untuk Machine Learning dan Deep Learning. Selain itu, Tensorflow memungkinkan kita untuk melakukan komputasi parallel dengan menggunakan CPU maupun GPU. Berdasarkan  referensi yang saya baca, penggunaan GPU dapat meningkatkan performa[2][3].

Continue reading “Panduan Menginstall Tensorflow dengan GPU di Windows”

Advertisements

Preparing Python Environment for Deep Learning

Last week was very fascinating! I joined a summer school program namely Indonesian Summer School on Music Information Retrieval at Faculty of Computer Science, University of Indonesia. The event that was held from August 14, 2017 to August 18, 2017 was supported by several great lecturers and researchers from University of Indonesia, Vienna University of Technology and Johannes Kepler University. I was so excited because it was my first experience joining some classes where the lecturers came from European universities (dan tentu saja mengobati rasa kekecewaanku setelah gagal sekolah di Eropa). There were several topics discussed there, such as introduction to music information retrieval, content based and context based music information retrieval, introduction to deep learning and designing for users. The discussion of deep learning took me a lot of attention. In this post, I will explain several steps for preparing the environment for Deep Learning. I’ve not been confident enough to explain the theory of Deep Learning itself because I’m also still learning it haha. I wrote this post as a note for myself that sometimes forget some installation steps when I have to re-install it.

In this tutorial, I will set up Python environment (the version of Python used here is 2.7) for Deep Learning using Anaconda. For Deep Learning libraries, it will be used Keras and Theano. The detail steps are as follows:  Continue reading “Preparing Python Environment for Deep Learning”

A Life Journey: Study at STM

Jumat tanggal 21 Juli 2017 kemarin adalah hari yang spesial sekaligus menyedihkan bagi saya. Spesial karena saya akan memasuki babak kehidupan baru sebagai mahasiswa kembali (walau harus didahului dengan jadi pengangguran sementara), dan juga menyedihkan karena harus meninggalkan lingkungan tempat saya menimba ilmu selama 22 bulan terakhir ini. Yup, I graduated from STM (Sekolah Tinggi Mediatrac, begitu teman-teman saya menyebutnya) two days ago. Take a deep breath guys, it’d gonna be a long post.

Continue reading “A Life Journey: Study at STM”

International Courier Service: DHL Express vs EMS Pos Indonesia

Hi! Setelah kurang lebih satu tahun vakum dari tulis menulis blog, akhirnya saya ada kesempatan untuk menulis lagi. Kali ini saya hanya akan membahas hal ringan-ringan seputar pengalaman mengirim dokumen ke negara lain. Dulu ketika saya akan mengirim dokumen ke mancanegara, saya mengalami kesulitan dalam menemukan referensi yang pas. Maka dari itu, untuk membantu teman-teman yang mengalami hal sama seperti saya, saya akan membuat ulasannya disini (walau mungkin banyak disisipi curcol).

Pertama yang akan dibahas adalah DHL express. Saya menggunakan jasa ini pada Januari 2017 dimana saya perlu mengirim dokumen ke Spanyol untuk seleksi Erasmus Mundus. Saat itu saya lagi niat-niatnya (dan berharap banget) mengejar beasiswa ini, oleh karena itu saya berusaha banget untuk do the best. Makanya pas saya diminta mengirim dokumen ke Spanyol, saya hanya ingin menggunakan courier service yang terbaik agar kiriman cepat sampai dan tepat waktu. Karena saya pernah membaca blog orang yang mengirim dokumen ke Swedia menggunakan DHL dan branding DHL yang katanya the best, saya pun memutuskan menggunakan jasa ini. Nah saat itu saya mengirim dokumennya 2 kali, dokumen persyaratan non IELTS yang saya kirim sendiri dan IELTS Result Form yang dikirim British Council (karena IELTS Result Form tidak bisa dilegalisir dan harus dikirim dari penyelenggara langsung). Jadi kebayang kan saya harus bayar courier service 2 kali. Di British Council mereka menggunakan DHL express untuk pengiriman dan tarif kirim IELTS Result Form ke Barcelona adalah 600 ribu (ketambahan ongkos cetak ulang form 50 ribu). On the other hand, dokumen saya yang satunya yang saya kirim sendiri menggunakan DHL Express kena tarif 760 ribu. Jeng jeng, kok lebih mahal ya tau gitu si saya titip ke staff BC aja haha. Saya saat itu kirim lewat DHL Express yang ada di Pancoran (yang kesananya butuh perjuangan menembus hujan setelah ngurus-ngurus dokumen Erasmus Mundus ke notaris). Yang perlu jadi notes tentang DHL Express Pancoran itu loket administrasinya di Jalan Pancoran Timur II depan Gudang sarinah. Jadi jangan mau diturunin abang ojek di Jalan Pasar Minggu Rayanya meskipun alamat resminya di Mulia Business Park karena itu jalan ke dalamnya masih jauh.

Continue reading “International Courier Service: DHL Express vs EMS Pos Indonesia”

A Short Trip to Jogja

Last month, I received an email from Australia Awards officer that mainly inform that I was the shortlisted candidate for Australia Awards Scholarship (AAS) interview section. I was really surprised at that time because I think that I’ve uploaded the wrong document before and believe that I’ll not be chosen for the next process. Alhamdulillah, Allah gave a chance for me and I didn’t want to miss it. However, a little bit problem was also found. I had to join selection in Jogjakarta since I wrote Purwokerto as my address when I applied for the scholarship. I think the officer considered to put me there because it’s the nearest location to Purwokerto. So, here they are, I’ll share my story regarding my short trip to Jogja. I won’t share the process for AAS 2nd selection because I believe you can easily find this kind of information on other’s blog.

Continue reading “A Short Trip to Jogja”

Matlab Tutorial: Array and Matrix Basic Operations

Hello readers! After breaking for a long time (because of thesis and work), finally I decide to write a post again. Starting from this post, I’ll use English just to improve my English writing skill. If you find some grammatical errors here, don’t hestitate to remind me, i need your feedback. Well, I’ll discuss the basic operation of array and matrix in Matlab in this post. I hope this tutorial can help readers (especially my friends who utilize Matlab for their thesis project) understand the basic operation of Matrix in Matlab easily.

Matlab (an abbreviation for “Matrix Laboratory”) is designed to operate primarily on whole matrices and arrays1. Therefore, understand the basic operation of matrices and arrays in Matlab is urgently required. Before explaining the operations, we should know what’s the differences between array, vector and matrix. Basically, all Matlab variables are multidimensional arrays, no matter what type of data. A vector in Matlab is defined as an array which has only one dimenstion with a size greather than one2.. On the other hand, a matrix is a two-dimensional array NxM. The samples of vector and matrix can be seen in Figure 1.

image

Figure 1. The samples of horizontal vector ( a ), vertical vector ( b ) and matrix ( x )

Next, the operations of arrays and matrices are as follows:

Create horizontal vector

To create an array with n elements in a single row (horizontal vector), just separate the elements with either a comma (,) or a space as seen in Figure 1 sample a.

Create vertical vector

To create an vertical vector, separate the element with semicolon ( ; ) as seen in Figure 1 sample b.

Create matrix

To create matrix n x m, separate the element in column with comma or space and separate the element in row with semicolon. We can see the sample in Figure 1 ( x ).

Accessing element of a matrix

For 1xm matrix (horizontal vector), we can access the element i of array by placing index number i through the operator (). Figure 2 shows the sample of accessing the second index of matrix T (1 x 5 dimension).

image

Figure 2. Sample of accessing the second index of a matrix T

On the other hand, for accessing an element of matrix nxm, we can use the (r,s) subscript, where r is the index in the row, and s in the column. Figure 3 shows the sample of this operation. Matrix X has 2 x 3 dimension, then we try to access the element that places on second row , second column. So, the code is X(2,2).

image

Figure 3. Sample of accessing matrix element in multidimensional array

Transposed matrix

Transpose is used to convert rows to columns (or columns to rows). We just add a single apostrophe (‘) to add this operation. Figure 4  shows the sample of using transpose in Matrix s. In the beginning, matrix s has 2 x 3 dimension. After transpose, matrix s has 3 x 2 dimension.

image

Figure 4. Transposed matrix

Special matrices

Matlab provides some special matrices, such as zeros, ones and eye. Zeros means Matlab generates all entries with 0, ones means Matlab generates all entries with 1 and eye means Matlab generates 1 on diagonal elements and all other elements are zero. These special matrices can be useful when we create a vector label for classification (just example). The sample code below shows the using special matrices (zeros and ones) for classification problem.

labels = [-ones(size(allfeats_neg’,1),1); zeros(size(allfeats_neu’,1),1);ones(size(allfeats_pos’,1),1)];

The code above explains that all negative features are labeled by –1  (adding negative symbol before ones), all neutral features are labeled with 0 and all positives features are labeled by 1.

Well, this is the end of this post. I’ll explain more about classification and maybe cross validation in the next post. See you.

 

References

1. http://www.mathworks.com/help/matlab/learn_matlab/matrices-and-arrays.html

2. https://en.wikibooks.org/wiki/MATLAB_Programming/Arrays/Basic_vector_operations

Office 365 Education for UB’s Students

Hallo UBers!!! Apakah kalian sudah tau kalau tiap mahasiswa Univ Bakrie mendapatkan free Office 365 account? Atau sebenernya udah punya tapi gak sadar kalau itu akun Office 365? Oke dalam postingan kali saya akan jelaskan apa itu Office 365 (O365) dan keuntungan-keuntungannya menggunakan akun tersebut.

Di UB, khususnya untuk mahasiswa, akun O365 ditandai dengan domain @student.bakrie.ac.id. Hayo kalian pasti pernah merasa dibagikan surat dari prodi terkait email tersebut kan? Jangan anggap remeh alamat email itu, karena sebenernya banyak banget loh keuntungan yang bisa didapat dengan akun tersebut. Mungkin kalo ada yang lupa, secara default akun mahasiswa O365 mahasiswa memiliki format namadepan.namabelakang@student.bakrie.ac.id dan password defaultnya adalah NIM kalian sendiri. Untuk membuka email tersebut gampang banget kok, cuma tinggal ketik outlook.office365.com di adress bar trus keluar halaman login deh.

Continue reading “Office 365 Education for UB’s Students”