Saya telah menginstal tensorflow di ubuntu 16.04 saya menggunakan jawaban kedua di sini dengan instalasi ubuntu apt .
Sekarang pertanyaan saya adalah bagaimana saya bisa menguji apakah tensorflow benar-benar menggunakan GPU? Saya punya gtx 960m gpu. Ketika saya import tensorflow
ini adalah output
I tensorflow/stream_executor/dso_loader.cc:105] successfully opened CUDA library libcublas.so locally
I tensorflow/stream_executor/dso_loader.cc:105] successfully opened CUDA library libcudnn.so locally
I tensorflow/stream_executor/dso_loader.cc:105] successfully opened CUDA library libcufft.so locally
I tensorflow/stream_executor/dso_loader.cc:105] successfully opened CUDA library libcuda.so.1 locally
I tensorflow/stream_executor/dso_loader.cc:105] successfully opened CUDA library libcurand.so locally
Apakah output ini cukup untuk memeriksa apakah tensorflow menggunakan GPU?
python
tensorflow
ubuntu
gpu
Tamim Addari
sumber
sumber
log_device_placement
pendekatan dalam menjawab. Cara yang paling dapat diandalkan adalah dengan melihat timeline sebagaimana ditentukan dalam komentar ini: github.com/tensorflow/tensorflow/issues/…Jawaban:
Tidak, saya tidak berpikir "perpustakaan CUDA terbuka" sudah cukup untuk mengatakan, karena node yang berbeda dari grafik mungkin pada perangkat yang berbeda.
Untuk mengetahui perangkat mana yang digunakan, Anda dapat mengaktifkan penempatan perangkat log seperti ini:
Periksa konsol Anda untuk jenis output ini.
sumber
sess = tf.compat.v1.Session(config=tf.compat.v1.ConfigProto(log_device_placement=True))
Selain menggunakan
sess = tf.Session(config=tf.ConfigProto(log_device_placement=True))
yang dijabarkan dalam jawaban lain serta dalam dokumentasi TensorFlow resmi , Anda dapat mencoba menetapkan perhitungan ke gpu dan melihat apakah Anda memiliki kesalahan.Sini
Jika Anda memiliki GPU dan dapat menggunakannya, Anda akan melihat hasilnya. Kalau tidak, Anda akan melihat kesalahan dengan stacktrace panjang. Pada akhirnya Anda akan memiliki sesuatu seperti ini:
Baru-baru ini beberapa fungsi bermanfaat muncul di TF:
Anda juga dapat memeriksa perangkat yang tersedia di sesi:
devices
akan mengembalikan Anda sesuatu sepertisumber
Found device 0 with properties: name: GeForce GTX 1080 Ti major: 6 minor: 1 memoryClockRate(GHz): 1.582 pciBusID: 0000:02:00.0 totalMemory: 10.92GiB freeMemory: 10.76GiB
Sepotong kode berikut akan memberi Anda semua perangkat yang tersedia untuk tensorflow.
sumber
Saya pikir ada cara yang lebih mudah untuk mencapai ini.
Ini biasanya mencetak suka
Bagi saya ini lebih mudah daripada log yang bertele-tele.
sumber
Tensorflow 2.0
Sesi tidak lagi digunakan di 2.0. Sebagai gantinya, seseorang dapat menggunakan
tf.test.is_gpu_available
:Jika Anda mendapatkan kesalahan, Anda perlu memeriksa instalasi Anda.
sumber
tf.config.list_physical_devices('GPU')
Ini akan mengkonfirmasi bahwa tensorflow menggunakan GPU saat pelatihan juga?
Kode
Keluaran
sumber
log_device_placement
dilakukan dan bagaimana cara melihat CPU vs GPU di output?). Itu akan meningkatkan kualitas jawaban Anda!Selain jawaban lain, berikut ini akan membantu Anda untuk memastikan bahwa versi tensorflow Anda termasuk dukungan GPU.
sumber
Ok, pertama jalankan
ipython shell
terminal danimport
TensorFlow:Sekarang, kita dapat menonton penggunaan memori GPU di konsol menggunakan perintah berikut:
Karena kami hanya
import
mengedit TensorFlow tetapi belum menggunakan GPU apa pun, statistik penggunaannya adalah:Perhatikan bagaimana penggunaan memori GPU sangat kurang (~ 700MB); Kadang-kadang penggunaan memori GPU bahkan mungkin serendah 0 MB.
Sekarang, mari kita muat GPU dalam kode kita. Seperti ditunjukkan dalam
tf documentation
, lakukan:Sekarang, statistik jam tangan harus menunjukkan memori penggunaan GPU yang diperbarui seperti di bawah ini:
Amati sekarang bagaimana proses Python kami dari shell ipython menggunakan ~ 7 GB memori GPU.
PS Anda dapat terus menonton statistik ini ketika kode berjalan, untuk melihat seberapa kuat penggunaan GPU dari waktu ke waktu.
sumber
Ini harus memberikan daftar perangkat yang tersedia untuk Tensorflow (di bawah Py-3.6):
sumber
Saya lebih suka menggunakan nvidia-smi untuk memantau penggunaan GPU. jika naik secara signifikan ketika Anda memulai program, itu pertanda kuat bahwa tensorflow Anda menggunakan GPU.
sumber
Dengan pembaruan terbaru dari Tensorflow, Anda dapat memeriksanya sebagai berikut:
Ini akan kembali
True
jika GPU digunakan olehTensorflow
, dan mengembalikanFalse
sebaliknya.Jika Anda ingin perangkat
device_name
Anda dapat mengetik:tf.test.gpu_device_name()
. Dapatkan detail lebih lanjut dari sinisumber
Jalankan yang berikut di Jupyter,
Jika Anda telah mengatur lingkungan Anda dengan benar, Anda akan mendapatkan output berikut di terminal tempat Anda menjalankan "jupyter notebook" ,
Anda dapat melihat di sini saya menggunakan TensorFlow dengan Nvidia Quodro K620.
sumber
Saya menemukan hanya menanyakan GPU dari baris perintah adalah yang paling mudah:
jika pembelajaran Anda adalah proses latar belakang pid dari
jobs -p
harus cocok dengan pid darinvidia-smi
sumber
Anda dapat memeriksa apakah Anda saat ini menggunakan GPU dengan menjalankan kode berikut:
Jika hasilnya adalah
''
, itu berarti AndaCPU
hanya menggunakan ;Jika outputnya seperti itu
/device:GPU:0
, artinyaGPU
berfungsi.Dan gunakan kode berikut untuk memeriksa yang
GPU
Anda gunakan:sumber
' '
, lalu apa yang harus kita lakukan?Letakkan ini di dekat bagian atas notebook jupyter Anda. Komentari apa yang tidak Anda butuhkan.
CATATAN: Dengan dirilisnya TensorFlow 2.0, Keras sekarang dimasukkan sebagai bagian dari TF API.
Awalnya jawab di sini .
sumber
Untuk Tensorflow 2.0
sumber di sini
Pilihan lain adalah:
sumber
is_gpu_available
(dari tensorflow.python.framework.test_util) sudah usang dan akan dihapus dalam versi yang akan datang.PEMBARUAN UNTUK TENSORFLOW> = 2.1.
Cara yang disarankan untuk memeriksa apakah TensorFlow menggunakan GPU adalah sebagai berikut:
Pada TensorFlow 2.1,
tf.test.gpu_device_name()
telah usang mendukung yang disebutkan di atas.sumber
Ini adalah baris yang saya gunakan untuk daftar perangkat yang tersedia untuk
tf.session
langsung dari bash:Ini akan mencetak perangkat yang tersedia dan versi tensorflow, misalnya:
sumber
Saya menemukan cuplikan di bawah ini sangat berguna untuk menguji GPU ..
Tes Tensorflow 2.0
Tes Tensorflow 1
sumber
Berikut ini juga akan mengembalikan nama perangkat GPU Anda.
sumber
Dengan tensotflow 2.0> =
sumber
Seperti yang disarankan oleh @AmitaiIrron:
Bagian ini menunjukkan bahwa GPU ditemukan
Dan di sini itu ditambahkan sebagai perangkat fisik yang tersedia
sumber
Anda memiliki beberapa opsi untuk menguji apakah akselerasi GPU sedang digunakan oleh instalasi TensorFlow Anda.
Anda dapat mengetik perintah berikut dalam tiga platform berbeda.
Spyder - Ketik perintah berikut di konsol.
import tensorflow as tf tf.test.is_gpu_available()
sumber
Tensorflow 2.1
Penghitungan sederhana yang dapat diverifikasi dengan nvidia-smi untuk penggunaan memori pada GPU.
sumber
Jika Anda menggunakan TensorFlow 2.0, Anda dapat menggunakan ini untuk loop untuk menampilkan perangkat:
sumber
jika Anda menggunakan tensorflow 2.x gunakan:
sumber
Jalankan perintah ini di Jupyter atau IDE Anda untuk memeriksa apakah Tensorflow menggunakan GPU atau tidak:
tf.config.list_physical_devices('GPU')
sumber