GPU (Graphics Processing Unit) এবং CPU (Central Processing Unit) ব্যবহার করে Keras এবং TensorFlow মডেল প্রশিক্ষণ করার সময় পারফরম্যান্সের মধ্যে ব্যাপক পার্থক্য দেখা দেয়। সাধারণভাবে, GPU গুলি অনেক দ্রুত ডীপ লার্নিং প্রশিক্ষণ করতে পারে, বিশেষ করে বড় ডেটাসেট এবং জটিল নিউরাল নেটওয়ার্ক মডেলগুলির জন্য। তবে, CPU তে কম্পিউটেশন চালানোর জন্য কিছু কনফিগারেশন এবং সেটআপের প্রয়োজন হয়।
নিচে GPU এবং CPU কনফিগারেশন সেটআপ করার জন্য কিছু সাধারণ পদক্ষেপ দেওয়া হয়েছে।
১. CPU কনফিগারেশন (মৌলিক সেটআপ)
Python এবং TensorFlow ইনস্টল করা
CPU ব্যবহার করার জন্য, TensorFlow বা Keras এর CPU সংস্করণ ইনস্টল করা হয়, যা সাধারণত কম্পিউটেশনাল কাজ CPU এর মাধ্যমে পরিচালনা করে।
TensorFlow CPU ইনস্টলেশন:
pip install tensorflow
এই কমান্ডটি সাধারণ CPU ব্যবহারের জন্য TensorFlow ইনস্টল করবে।
CPU পারফরম্যান্স কনফিগারেশন:
TensorFlow স্বাভাবিকভাবে CPU ব্যবহারের জন্য অপটিমাইজ করা হয়, তবে কিছু কনফিগারেশন পরিবর্তন করতে পারেন যেমন:
CPU এর থ্রেড কনফিগারেশন: আপনার সিস্টেমে CPU ব্যবহার করার জন্য আপনি নির্দিষ্ট থ্রেড ব্যবহার করতে পারেন যাতে পারফরম্যান্স বৃদ্ধি পায়। এটি
intra_op_parallelism_threadsএবংinter_op_parallelism_threadsএর মাধ্যমে কনফিগার করা যায়।উদাহরণস্বরূপ:
import tensorflow as tf config = tf.compat.v1.ConfigProto() config.intra_op_parallelism_threads = 4 # থ্রেড সংখ্যা কনফিগার করুন config.inter_op_parallelism_threads = 2 session = tf.compat.v1.Session(config=config) tf.compat.v1.keras.backend.set_session(session)এখানে
intra_op_parallelism_threadsএকটি অপারেশন এক্সিকিউশন করার জন্য CPU এর কতগুলো থ্রেড ব্যবহার করা হবে তা নির্ধারণ করে এবংinter_op_parallelism_threadsনির্ধারণ করে কতগুলো অপারেশন সমান্তরালভাবে চলবে।নির্দিষ্ট সংখ্যক CPU কোর ব্যবহার: TensorFlow ডিফল্টভাবে আপনার সিস্টেমের সমস্ত কোর ব্যবহার করবে, তবে আপনি যদি কিছু CPU কোর নির্দিষ্ট করতে চান তবে তা করতে পারেন।
import tensorflow as tf tf.config.threading.set_intra_op_parallelism_threads(4) tf.config.threading.set_inter_op_parallelism_threads(2)এই কনফিগারেশন আপনাকে CPU কোর ব্যবহার সীমিত করতে সহায়তা করবে।
২. GPU কনফিগারেশন (অপটিমাইজড সেটআপ)
GPU ব্যবহার করার জন্য আপনার সিস্টেমে একটি NVIDIA GPU থাকতে হবে এবং CUDA এবং cuDNN ইনস্টল করা থাকতে হবে। GPU তে TensorFlow চালানোর জন্য কিছু নির্দিষ্ট পদক্ষেপের প্রয়োজন।
১. CUDA এবং cuDNN ইনস্টলেশন
TensorFlow GPU চালানোর জন্য আপনাকে NVIDIA এর CUDA Toolkit এবং cuDNN ইনস্টল করতে হবে।
- CUDA ইনস্টল করা: NVIDIA CUDA Toolkit
- cuDNN ইনস্টল করা: cuDNN Download
CUDA এবং cuDNN ইনস্টল করার পর, নিশ্চিত করুন যে আপনার সিস্টেমে এটি সঠিকভাবে ইনস্টল হয়েছে।
২. TensorFlow GPU ইনস্টলেশন
pip install tensorflow-gpu
এই কমান্ডটি TensorFlow এর GPU সংস্করণ ইনস্টল করবে, যা GPU ব্যবহার করতে সক্ষম হবে।
৩. GPU কনফিগারেশন
TensorFlow GPU ব্যবহার করতে, কোডে কিছু কনফিগারেশন করতে হয়, যেমন, GPU মেমরি ব্যবস্থাপনা এবং একাধিক GPU এর সমর্থন।
GPU মেমরি ব্যবস্থাপনা: TensorFlow GPU মডেল প্রশিক্ষণের জন্য মেমরি পরিচালনা করতে সক্ষম। আপনি মেমরি ব্যবহারের জন্য একে সীমিত করতে পারেন, যাতে GPU মেমরি পূর্ণ না হয়ে যায়।
import tensorflow as tf # GPU মেমরি ব্যবহারের জন্য কনফিগারেশন physical_devices = tf.config.list_physical_devices('GPU') tf.config.set_logical_device_configuration(physical_devices[0], [tf.config.LogicalDeviceConfiguration(memory_limit=4096)]) # 4GB মেমরি ব্যবহারএকাধিক GPU সমর্থন: যদি আপনার সিস্টেমে একাধিক GPU থাকে, তবে আপনি সহজেই একাধিক GPU তে মডেল প্রশিক্ষণ করতে পারেন।
strategy = tf.distribute.MirroredStrategy() # একাধিক GPU তে মডেল প্রশিক্ষণ with strategy.scope(): model = tf.keras.Sequential([ tf.keras.layers.Dense(64, activation='relu'), tf.keras.layers.Dense(10, activation='softmax') ]) model.compile(optimizer='adam', loss='sparse_categorical_crossentropy', metrics=['accuracy'])MirroredStrategyব্যবহার করলে মডেলটি আপনার সিস্টেমের সমস্ত GPU তে সমান্তরালভাবে প্রশিক্ষিত হবে।GPU-তে শুধুমাত্র TensorFlow প্রক্রিয়াকরণ চালানো: আপনি CPU থেকে GPU এ স্যুইচ করার জন্য TensorFlow এর
deviceব্যবহার করতে পারেন।with tf.device('/GPU:0'): model.fit(X_train, y_train, epochs=10)এখানে
/GPU:0GPU 0-এ মডেল প্রশিক্ষণ করছে, যদি একাধিক GPU থাকে তবে আপনি/GPU:1বা অন্য কোনও GPU নম্বর ব্যবহার করতে পারেন।
৩. সিস্টেম চেক এবং GPU ব্যবহার যাচাই
GPU সেটআপ সঠিকভাবে কাজ করছে কিনা তা যাচাই করার জন্য আপনি নিচের Python কোডটি ব্যবহার করতে পারেন:
import tensorflow as tf
# আপনার সিস্টেমে TensorFlow GPU সমর্থন আছে কিনা তা চেক করুন
print("Num GPUs Available: ", len(tf.config.experimental.list_physical_devices('GPU')))
এটি আপনার সিস্টেমে উপলব্ধ GPU গুলোর সংখ্যা প্রিন্ট করবে। যদি এটি 0 দেখায়, তবে GPU ইনস্টলেশন বা কনফিগারেশন সঠিকভাবে হয়নি।
সারাংশ
CPU কনফিগারেশন: CPU এর জন্য TensorFlow স্বয়ংক্রিয়ভাবে কম্পিউটেশন পরিচালনা করে, তবে আপনি কনফিগারেশন পরিবর্তন করে থ্রেড সংখ্যা এবং কোর ব্যবহারের মাধ্যমে পারফরম্যান্স উন্নত করতে পারেন।
GPU কনফিগারেশন: GPU ব্যবহারের জন্য CUDA, cuDNN ইনস্টল করা প্রয়োজন এবং TensorFlow GPU সংস্করণ ব্যবহার করতে হবে। GPU এর মেমরি ব্যবস্থাপনা এবং একাধিক GPU ব্যবহারের জন্য কনফিগারেশন করা যেতে পারে।
TensorFlow GPU এর ব্যবহার CPU এর তুলনায় অনেক দ্রুত প্রশিক্ষণ এবং বড় ডেটাসেটের জন্য পারফরম্যান্স প্রদান করে।
Read more