ऐसा करने का एक अलग तरीका है उपयोग करने का
import tensorflow as tf
from keras import backend as K
num_cores = 4
if GPU:
num_GPU = 1
num_CPU = 1
if CPU:
num_CPU = 1
num_GPU = 0
config = tf.ConfigProto(intra_op_parallelism_threads=num_cores,
inter_op_parallelism_threads=num_cores,
allow_soft_placement=True,
device_count = {'CPU' : num_CPU,
'GPU' : num_GPU}
)
session = tf.Session(config=config)
K.set_session(session)
यहां, इसके साथ booleans
GPU
और CPU
, हम संकेत देते हैं कि क्या हम GPU या CPU के साथ हमारे कोड को चलाना चाहते हैं और GPUs और CPU की संख्या को निश्चित रूप से परिभाषित करके Tensorflow सेशन को एक्सेस करने की अनुमति है। चर num_GPU
और num_CPU
इस मूल्य को परिभाषित करते हैं। num_cores
इसके बाद उपयोग के लिए उपलब्ध सीपीयू कोर की संख्या intra_op_parallelism_threads
और inter_op_parallelism_threads
।
intra_op_parallelism_threads
चर तय कर धागे गणना ग्राफ में एक भी नोड में एक समानांतर आपरेशन की संख्या का उपयोग करें (इंट्रा) करने के लिए अनुमति दी है। जबकि inter_ops_parallelism_threads
चर गणना ग्राफ (इंटर) के नोड्स के समानांतर संचालन के लिए सुलभ थ्रेड्स की संख्या को परिभाषित करता है।
allow_soft_placement
सीपीयू पर संचालन के लिए अनुमति देता है यदि निम्न में से कोई भी कसौटी पूरी की जाती है:
ऑपरेशन के लिए कोई GPU कार्यान्वयन नहीं है
ज्ञात या पंजीकृत कोई GPU डिवाइस नहीं हैं
सीपीयू से अन्य इनपुट के साथ सह-पता लगाने की आवश्यकता है
यह सब किसी अन्य ऑपरेशन से पहले मेरी कक्षा के कंस्ट्रक्टर में निष्पादित किया जाता है, और मेरे द्वारा उपयोग किए जाने वाले किसी भी मॉडल या अन्य कोड से पूरी तरह से अलग है।
नोट: इसके लिए tensorflow-gpu
और cuda
/ cudnn
स्थापित करने की आवश्यकता है क्योंकि विकल्प GPU का उपयोग करने के लिए दिया गया है।
refs:
os.environ['CUDA_VISIBLE_DEVICES'] = '-1'
नीचे एक उत्तर में सेट करना था