আপনি ব্যবহার করতে পারে tf.config.set_visible_devices
। একটি সম্ভাব্য ফাংশন যা আপনাকে সেট করতে দেয় এবং কোনটি জিপিইউ ব্যবহার করে তা হ'ল:
import tensorflow as tf
def set_gpu(gpu_ids_list):
gpus = tf.config.list_physical_devices('GPU')
if gpus:
try:
gpus_used = [gpus[i] for i in gpu_ids_list]
tf.config.set_visible_devices(gpus_used, 'GPU')
logical_gpus = tf.config.experimental.list_logical_devices('GPU')
print(len(gpus), "Physical GPUs,", len(logical_gpus), "Logical GPU")
except RuntimeError as e:
# Visible devices must be set before GPUs have been initialized
print(e)
মনে করুন আপনি ৪ টি জিপিইউ সহ একটি সিস্টেমে রয়েছেন এবং আপনি কেবল দুটি জিপিইউ ব্যবহার করতে চান, একটি তার সাথে id = 0
এবং একটি id = 2
, আপনার লাইব্রেরিগুলি আমদানির সাথে সাথেই আপনার কোডের প্রথম কমান্ডটি হ'ল:
set_gpu([0, 2])
আপনার ক্ষেত্রে, কেবল সিপিইউ ব্যবহার করতে, আপনি খালি তালিকা সহ ফাংশনটি শুরু করতে পারেন :
set_gpu([])
সম্পূর্ণতার জন্য, যদি আপনি এড়াতে চান যে রানটাইম ইনিশিয়েশন ডিভাইসে সমস্ত মেমরি বরাদ্দ করে, আপনি ব্যবহার করতে পারেন tf.config.experimental.set_memory_growth
। অবশেষে, জিপিইউ মেমরিটি গতিশীলভাবে দখল করে কোন ডিভাইসগুলি ব্যবহার করতে হবে তা পরিচালনা করার ফাংশনটি হয়ে ওঠে:
import tensorflow as tf
def set_gpu(gpu_ids_list):
gpus = tf.config.list_physical_devices('GPU')
if gpus:
try:
gpus_used = [gpus[i] for i in gpu_ids_list]
tf.config.set_visible_devices(gpus_used, 'GPU')
for gpu in gpus_used:
tf.config.experimental.set_memory_growth(gpu, True)
logical_gpus = tf.config.experimental.list_logical_devices('GPU')
print(len(gpus), "Physical GPUs,", len(logical_gpus), "Logical GPU")
except RuntimeError as e:
# Visible devices must be set before GPUs have been initialized
print(e)