Saya telah menginstal tensorflow versi GPU pada Ubuntu 14.04.
Saya menggunakan server GPU di mana tensorflow dapat mengakses GPU yang tersedia.
Saya ingin menjalankan tensorflow pada CPU.
Biasanya saya dapat menggunakan env CUDA_VISIBLE_DEVICES=0
untuk menjalankan GPU no. 0.
Bagaimana saya bisa memilih di antara CPU?
Saya tidak tertarik untuk menulis ulang kode saya dengan with tf.device("/cpu:0"):
python
tensorflow
Alexander R Johansen
sumber
sumber
CUDA_VISIBLE_DEVICES
variabel lingkungan daripada mengubah konfigurasi dalam kode?Anda juga dapat menyetel variabel lingkungan ke
tanpa harus mengubah kode sumber.
sumber
Jika jawaban di atas tidak berhasil, coba:
sumber
tf.keras.Sequential
model.Bagi saya, hanya pengaturan
CUDA_VISIBLE_DEVICES
untuk-1
bekerja dengan tepat :Pekerjaan:
Apakah tidak bekerja:
sumber
Cukup gunakan kode di bawah ini.
sumber
Dalam beberapa sistem seseorang harus menentukan:
SEBELUM mengimpor tensorflow.
sumber
Anda bisa menggunakan
tf.config.set_visible_devices
. Satu kemungkinan fungsi yang memungkinkan Anda untuk mengatur jika dan GPU mana yang akan digunakan adalah:Misalkan Anda menggunakan sistem dengan 4 GPU dan Anda ingin menggunakan hanya dua GPU, satu dengan
id = 0
dan satu denganid = 2
, maka perintah pertama kode Anda, segera setelah mengimpor pustaka, adalah:Dalam kasus Anda, untuk hanya menggunakan CPU, Anda dapat menjalankan fungsi dengan daftar kosong :
Untuk kelengkapannya, jika Anda ingin menghindari bahwa inisialisasi waktu proses akan mengalokasikan semua memori pada perangkat, Anda dapat menggunakan
tf.config.experimental.set_memory_growth
. Terakhir, fungsi untuk mengelola perangkat mana yang akan digunakan, menempati memori GPU secara dinamis, menjadi:sumber
Solusi lain yang mungkin pada tingkat penginstalan adalah mencari varian CPU saja: https://www.tensorflow.org/install/pip#package-location
Dalam kasus saya, ini memberi sekarang:
Cukup pilih versi yang benar. Poin bonus untuk menggunakan venv seperti yang dijelaskan misalnya dalam jawaban ini .
sumber