üzerinde çalıştığını doğrulamak için TF
grafiklerimin gerçekten GPU'da çalıştığını doğrulamanın basit bir yolunu arıyorum.TensorFlow: GPU
PS. cuDNN
kitaplığının kullanıldığını doğrulamak da güzel olurdu.
üzerinde çalıştığını doğrulamak için TF
grafiklerimin gerçekten GPU'da çalıştığını doğrulamanın basit bir yolunu arıyorum.TensorFlow: GPU
PS. cuDNN
kitaplığının kullanıldığını doğrulamak da güzel olurdu.
Op yerleşimini görüntülemenin birkaç yolu vardır.
seans çağrısına RunOptions ve RunMetadata ekleyin ve Tensorboard oplarindan ve hesaplamaların yerleşimini görmek. Buraya bakın: https://www.tensorflow.org/get_started/graph_viz
Bir oturumda ConfigProto oturumunda log_device_placement seçeneğini belirtin. Bu, işlemlerin hangi cihaza yerleştirildiği konsolu kaydeder. https://www.tensorflow.org/api_docs/python/tf/ConfigProto
Nvidia-smi'yi kullanarak terminalde GPU kullanımını görüntüleyin. Eğer Python
yılındaimport tensorflow as tf
TF aldığınızda
Meta veri günlüğünün çok yoğun kaynak olduğunu ve yalnızca hata ayıklama için kullanıldığını unutmayın. – pfredriksen
Sen
I tensorflow/stream_executor/dso_loader.cc:135] successfully opened CUDA library libcublas.so.8.0 locally
I tensorflow/stream_executor/dso_loader.cc:135] successfully opened CUDA library libcudnn.so.5 locally
I tensorflow/stream_executor/dso_loader.cc:135] successfully opened CUDA library libcufft.so.8.0 locally
I tensorflow/stream_executor/dso_loader.cc:135] successfully opened CUDA library libcuda.so.1 locally
I tensorflow/stream_executor/dso_loader.cc:135] successfully opened CUDA library libcurand.so.8.0 locally
Ayrıca CUDA kütüphanelerin kullanımını gösterir bu günlükleri alacak, bir grafiği oluşturmak ve birlikte bir oturum çalıştırdığınızda log_device_placement Yapılandırma Protokolünde, bu günlükleri alacaksınız (bir GPU aygıtı bulduğunu gösterir):
I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:910] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero
I tensorflow/core/common_runtime/gpu/gpu_device.cc:885] Found device 0 with properties:
name: GeForce GTX 1060 6GB
major: 6 minor: 1 memoryClockRate (GHz) 1.759
pciBusID 0000:01:00.0
Total memory: 5.93GiB
Free memory: 4.94GiB
I tensorflow/core/common_runtime/gpu/gpu_device.cc:906] DMA: 0
I tensorflow/core/common_runtime/gpu/gpu_device.cc:916] 0: Y
I tensorflow/core/common_runtime/gpu/gpu_device.cc:975] Creating TensorFlow device (/gpu:0) -> (device: 0, name: GeForce GTX 1060 6GB, pci bus id: 0000:01:00.0)
Yukarıda açıklandığı gibi aynı çıkışı alıyorum. Ancak, modellerin eğitilmek için aldığı miktar CPU ile aynıdır. Emin değilim, ne yapıyorum yanlış. DNNRegressör Tahmincisini kullanarak ve aynı kod, herhangi bir değişiklik yapılmadan CPU ve GPU üzerinde çalıştırılıyor. Tahmin ettiğim gibi, Tahminler varsayılan olarak GPU'nun kullanılabilir olması durumunda GPU’yu yürütme için GPU’yu seçtiğini öğrendim. Herhangi bir çıkış yolu var mı? – user3457384
GPU kullanımını görebiliyor musunuz? "nvidia-smi" yi izle. Bellek kullanımı ve GPU volatilitesine bakın. – hars
İşte benim sorunum ayrıntılı olarak açıklandı. https://stackoverflow.com/questions/46648484/how-to-make-best-use-of-gpu-for-tensorflowestesttors – user3457384
İlgili bir TensorFlow upstream issue var. Temel olarak Python API'sinin bu bilgiyi henüz ortaya koymadığını söylüyor. Bununla birlikte, C++ API'sı, ancak C++ API'sini kullanır. Örneğin. tensorflow::KernelsRegisteredForOp()
var. Bunun etrafında küçük bir Python sarıcı yazdım ve daha sonra supported_devices_for_op
here'u (this commit'da) uyguladım.
"nvprof" ile çalıştırın, cuda işlev çağrıları hakkında ayrıntılı bilgi verebilir. Ya da sadece çalıştığında GPU kullanımını kontrol etmek için 'nvidia-smi' çalıştırın. – Kh40tiK
Muhtemel kopyası [GPU başarıyla yüklenmediği sürece TensorFlow komut dosyasını nasıl çalıştırmaz?] (Http://stackoverflow.com/questions/42403501/how-does-one-have-tensorflow-not-run-the -script-without-the-gpu-yüklendi-başarıları) –