Instalasi TensorFlow Windows 10 ini bisa diterapkan untuk windows versi lainnya, yang berbeda adalah file yang didownload, namun prosesnya sama.
TensorFlow terdapat dua tipe, CPU dan GPU. Untuk tipe CPU sangat mudah, sementara untuk tipe GPU cukup rumit, karena perlu instalasi software pendukung yang disediakan oleh pihak penyedia graphic card, dalam hal ini adalah NVIDIA.
Anaconda
Anaconda adalah platform data science. Dengan menginstal Anaconda, library penting dan umum digunakan sudah terinstall. Mencegah masalah dependency library, yang kadang membuat kita bingung. Selain itu dengan Anaconda kita bisa membuat virtual environment untuk memanage package/library yang ingin digunakan.
TensorFlow CPU
TensforFLow versi CPU menggunakan computing power dari CPU. Jauh lebih lambat dibandingkan menggunakan GPU. Namun installasinya sangat mudah.
pip install tensorflow
Atau, jika menggunakan Anaconda, dapat diinstal di new environment. Pada Anaconda prompt:
conda create -n environment_name
activate environment_name
pip install tensorflow
Untuk dokumentasi detail conda environment click disini.
TensorFlow GPU
Instalasi TensorFlow GPU lebih sedikit rumit. Prasyarat untuk menggunakan TensorFlow GPU.
- NVDIA GPU Card, komputer menggunakan NVIDIA card yang support CUDA Technology.
- Install CUDA Toolkit,.
- Install CUDNN, perhatikan versi CUDN harus sama dengan CUDA toolkit.
Install CUDA toolkit, yang perlu diperhatikan adalah versi cuda toolkit harus sama dengan versi yang disupport oleh TensorFlow. Saat lesson ini dibuat Tensor support CUDA version 10.0. Download CUDA toolkit disini.
Install CUDNN
Gunakan versi CUDN yang sama dengan CUDA toolkit, saat lesson ini dibuat tensor support cuda toolkit 10, oleh karena itu download CUDN versi 7.6.3
Untuk download CUDNN, harus membuat account dahulu di website official NVIDIA. Setelah membuat akun dan login, download CUDN disini.
Ekstrak hasil download, Anda dapat simpan file ini dimana saja, yang penting adalah disetting dalam path variable. (lihat INSTALL_PATH\cuda\bin)
Setup Environment Variables,
- Click search pada start menu, ketikan environment variables. Window system properties akan tampil,
- Click tombol Environment Variables, windows baru akan tampil.
- Pada list box system variables, pilih variable path, lalu click tombol Edit.
- Tambahkan path dibawah bila belum ada.
INSTALL_PATH\NVIDIA GPU Computing Toolkit\CUDA\v9.0\bin
INSTALL_PATH\NVIDIA GPU Computing Toolkit\CUDA\v9.0\libnvvp
INSTALL_PATH\NVIDIA GPU Computing Toolkit\CUDA\v9.0\extras\CUPTI\libx64
INSTALL_PATH\cuda\bin
Umumnya path diatas sudah ditambahkan otomatis oleh CUDA toolkit installer, kecuali CUDNN. (lihat Install CUDNN diatas).
Install TensorFlow GPU, setelah proses diatas selesai, instalasi Tensor GPU sama seperti tensor cpu, hanya beda paketnya saja.
pip install tensorflow-gpu
Atau jika ingin diinstall pada environment terpisah
conda create -n environment_name
activate environment_name
pip install tensorflow-gpu
Testing Instalasi TensorFlow
Berikut langkah untuk test apakah tensor sudah terinstall dengan baik
Masuk ke REPL:
- Pada command prompt ketikan python
- atau jika diinstall pada environment berbeda, masuk dari conda prompt, aktifkan environment, ketikan python
>>> import tensorflow as tf
Saat melakukan import cukup memakan waktu, jika berhasil maka REPL akan menampilkan prompt >>>. Biasanya jika sudah bisa diimport sudah berhasil, namun bisa dilakukan test tambahan dengan code berikut:
>>> hello = tf.constant('hello skillplus')
>>> sess = tf.Session()
Processing code diatas memakan cukup waktu lama, pada computer kami, memakan waktu sekitar 1 menit. Akan tampil message seperti berikut (setiap environment berbeda messagenya, namun kurang lebih seperti berikut).
2019-08-30 19:59:40.356623: I tensorflow/stream_executor/platform/default/dso_loader.cc:42] Successfully opened dynamic library nvcuda.dll
2019-08-30 19:59:40.761984: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1640] Found device 0 with properties:
name: GeForce MX130 major: 5 minor: 0 memoryClockRate(GHz): 1.189
pciBusID: 0000:02:00.0
2019-08-30 19:59:40.766266: I tensorflow/stream_executor/platform/default/dlopen_checker_stub.cc:25] GPU libraries are statically linked, skip dlopen check.
2019-08-30 19:59:40.792736: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1763] Adding visible gpu devices: 0
2019-08-30 19:59:40.803597: I tensorflow/core/platform/cpu_feature_guard.cc:142] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2
2019-08-30 19:59:40.843530: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1640] Found device 0 with properties:
name: GeForce MX130 major: 5 minor: 0 memoryClockRate(GHz): 1.189
pciBusID: 0000:02:00.0
2019-08-30 19:59:40.848249: I tensorflow/stream_executor/platform/default/dlopen_checker_stub.cc:25] GPU libraries are statically linked, skip dlopen check.
2019-08-30 19:59:40.851685: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1763] Adding visible gpu devices: 0
2019-08-30 19:59:52.085543: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1181] Device interconnect StreamExecutor with strength 1 edge matrix:
2019-08-30 19:59:52.089638: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1187] 0
2019-08-30 19:59:52.091002: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1200] 0: N
2019-08-30 19:59:52.166292: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1326] Created TensorFlow device (/job:localhost/replica:0/task:0/device:GPU:0 with 1390 MB memory) -> physical GPU (device: 0, name: GeForce MX130, pci bus id: 0000:02:00.0, compute capability: 5.0)
Jika sudah sampai disini, biasanya sudah dapat dikonfirmasi instalasi TensorFlow sudah beres. Namun karena TensorFlow adalah library yang masih terus berkembang, masih ada minor bug.
Pada kasus kami adalah saat melakukan print session diatas terjadi error yang saat ini masih ramai dibahas di forum. Walaupun session dapat ditampilkan, namun masih belum ada solusi untuk menghindari error ini.
>>> print(sess.run(hello))
2019-08-30 20:01:06.447055: E tensorflow/core/grappler/clusters/utils.cc:87] Failed to get device properties, error code: 30
b'hello skillplus'