এটি করার একটি পৃথক পৃথক উপায় হ'ল ব্যবহার করা
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আমরা জিপিইউ বা সিপিইউ দিয়ে জিপিইউ এবং সিপিইউগুলির সংখ্যা কঠোরভাবে সংজ্ঞায়িত করে টেনসরফ্লো সেশনটি অ্যাক্সেসের অনুমতিপ্রাপ্ত কিনা তা দিয়ে আমরা আমাদের কোডটি চালাতে চাই কিনা তা নির্দেশ করি। ভেরিয়েবলগুলি 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 নিম্নলিখিত মানদণ্ডগুলির কোনওটি পূরণ করা হলে সিপিইউতে অপারেশন পরিচালনার অনুমতি দেয়:
অপারেশনের জন্য কোনও জিপিইউ বাস্তবায়ন নেই
পরিচিত বা নিবন্ধিত কোনও জিপিইউ ডিভাইস নেই
সিপিইউ থেকে অন্যান্য ইনপুটগুলির সাথে সহ-অবস্থানের প্রয়োজন রয়েছে
এই সমস্তগুলি অন্য কোনও ক্রিয়াকলাপের আগে আমার শ্রেণীর নির্মাতায় কার্যকর করা হয় এবং আমি যে কোনও মডেল বা অন্যান্য কোড ব্যবহার করি তা থেকে সম্পূর্ণ পৃথক হয়ে যায়।
দ্রষ্টব্য: এই প্রয়োজন tensorflow-gpuএবং cuda/ cudnnইনস্টল করার জন্য কারণ বিকল্প একটি জিপিইউ ব্যবহার করতে দেওয়া হয়।
রেফার্স:
os.environ['CUDA_VISIBLE_DEVICES'] = '-1'নীচে একটি উত্তর হিসাবে সেট করতে হয়েছিল