Saya hanya memiliki satu GPU (Titan X Pascal, VRAM 12 GB) dan saya ingin melatih beberapa model, secara paralel, pada GPU yang sama.
Saya mencoba merangkum model saya dalam satu program python (disebut model.py), dan saya menyertakan kode di model.py untuk membatasi penggunaan VRAM (berdasarkan contoh ini). Saya dapat menjalankan hingga 3 instance model.py secara bersamaan di GPU saya (dengan setiap instance memerlukan kurang dari 33% VRAM saya). Secara misterius, ketika saya mencoba dengan 4 model saya menerima kesalahan:
2017-09-10 13:27:43.714908: E tensorflow/stream_executor/cuda/cuda_dnn.cc:371] coul
d not create cudnn handle: CUDNN_STATUS_INTERNAL_ERROR
2017-09-10 13:27:43.714973: E tensorflow/stream_executor/cuda/cuda_dnn.cc:338] coul
d not destroy cudnn handle: CUDNN_STATUS_BAD_PARAM
2017-09-10 13:27:43.714988: F tensorflow/core/kernels/conv_ops.cc:672] Check failed
: stream->parent()->GetConvolveAlgorithms( conv_parameters.ShouldIncludeWinogradNon
fusedAlgo<T>(), &algorithms)
Aborted (core dumped)
Saya kemudian mengamati di tensorflow Github bahwa orang-orang tampaknya menganggap tidak aman untuk memiliki lebih banyak dari satu proses tensorflow yang berjalan per GPU. Apakah ini benar dan apakah ada penjelasan mengapa hal ini terjadi? Mengapa saya bisa menjalankan 3 proses tensorflow pada GPU yang sama dan bukan 4?
gpu_options.allow_growth=True
untuk mencegah pengalokasian TF sebagian besar RAM GPU Anda secara default saat Anda membuat Sesi - person GPhilo   schedule 11.09.2017