GPU এবং CPU সেটআপ কনফিগারেশন

Keras ইনস্টলেশন এবং সেটআপ - কেরাস (Keras) - Machine Learning

383

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 ব্যবহারের জন্য অপটিমাইজ করা হয়, তবে কিছু কনফিগারেশন পরিবর্তন করতে পারেন যেমন:

  1. 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 নির্ধারণ করে কতগুলো অপারেশন সমান্তরালভাবে চলবে।

  2. নির্দিষ্ট সংখ্যক 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 এবং cuDNN ইনস্টল করার পর, নিশ্চিত করুন যে আপনার সিস্টেমে এটি সঠিকভাবে ইনস্টল হয়েছে।

২. TensorFlow GPU ইনস্টলেশন

pip install tensorflow-gpu

এই কমান্ডটি TensorFlow এর GPU সংস্করণ ইনস্টল করবে, যা GPU ব্যবহার করতে সক্ষম হবে।

৩. GPU কনফিগারেশন

TensorFlow GPU ব্যবহার করতে, কোডে কিছু কনফিগারেশন করতে হয়, যেমন, GPU মেমরি ব্যবস্থাপনা এবং একাধিক GPU এর সমর্থন।

  1. 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 মেমরি ব্যবহার
    
  2. একাধিক 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 তে সমান্তরালভাবে প্রশিক্ষিত হবে।

  3. GPU-তে শুধুমাত্র TensorFlow প্রক্রিয়াকরণ চালানো: আপনি CPU থেকে GPU এ স্যুইচ করার জন্য TensorFlow এর device ব্যবহার করতে পারেন।

    with tf.device('/GPU:0'):
        model.fit(X_train, y_train, epochs=10)
    

    এখানে /GPU:0 GPU 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 এর তুলনায় অনেক দ্রুত প্রশিক্ষণ এবং বড় ডেটাসেটের জন্য পারফরম্যান্স প্রদান করে।

Content added By
Promotion

Are you sure to start over?

Loading...