ফ্যাশন-এমএনআইএসটি হল জাল্যান্ডোর নিবন্ধ চিত্রগুলির একটি ডেটাসেট, যেখানে 60,000টি উদাহরণের একটি প্রশিক্ষণ সেট এবং 10,000টি উদাহরণের একটি পরীক্ষা সেট রয়েছে৷ প্রতিটি উদাহরণ হল একটি 28×28 গ্রেস্কেল চিত্র, 10টি ক্লাসের একটি লেবেলের সাথে যুক্ত৷ ডেটাসেটটি বেঞ্চমার্কিং মেশিন লার্নিং অ্যালগরিদমের জন্য আসল MNIST ডেটাসেটের সরাসরি ড্রপ-ইন প্রতিস্থাপন হিসাবে কাজ করে, ফ্যাশন-সম্পর্কিত চিত্রগুলির জটিলতা এবং পরিবর্তনশীলতার কারণে আরও চ্যালেঞ্জিং বিকল্প প্রদান করে।
Google ক্লাউডের AI প্ল্যাটফর্মে ফ্যাশন-MNIST ডেটাসেট ব্যবহারিকভাবে ব্যবহার করতে, একজনকে অবশ্যই বেশ কয়েকটি কাঠামোগত পদক্ষেপ অনুসরণ করতে হবে যা ডেটা প্রস্তুতি, মডেল প্রশিক্ষণ, স্থাপনা এবং মূল্যায়নকে অন্তর্ভুক্ত করে। এই ধাপগুলির প্রতিটির জন্য ডেটাসেট এবং Google ক্লাউড পরিবেশ উভয়েরই একটি ব্যাপক বোঝার প্রয়োজন৷
ধাপ 1: Google ক্লাউড এনভায়রনমেন্ট সেট আপ করা
ডেটাসেট ব্যবহার করার আগে, আপনার একটি Google ক্লাউড অ্যাকাউন্ট আছে তা নিশ্চিত করুন। Google ক্লাউড কনসোলে একটি নতুন প্রকল্প সেট আপ করুন৷ আপনার প্রকল্পের জন্য বিলিং সক্ষম করুন এবং Cloud AI Platform API সক্রিয় করুন৷ এই সেটআপটি গুরুত্বপূর্ণ কারণ এটি আপনাকে মেশিন লার্নিং কাজের জন্য Google এর শক্তিশালী পরিকাঠামোর সুবিধা নিতে দেয়।
1. একটি Google ক্লাউড প্রকল্প তৈরি করুন: Google ক্লাউড কনসোলে নেভিগেট করুন এবং একটি নতুন প্রকল্প তৈরি করুন৷ সহজে সনাক্তকরণের জন্য আপনার প্রকল্পে একটি অনন্য নাম বরাদ্দ করুন।
2. API সক্ষম করুন: API এবং পরিষেবা ড্যাশবোর্ডে যান এবং ক্লাউড এআই প্ল্যাটফর্ম API সক্ষম করুন৷ Google ক্লাউডে মেশিন লার্নিং মডেল স্থাপনের জন্য এই API অপরিহার্য।
3. Cloud SDK ইনস্টল করুন: আপনার স্থানীয় মেশিনে Google Cloud SDK ডাউনলোড এবং ইনস্টল করুন৷ এই SDK 'gcloud' কমান্ড-লাইন টুল প্রদান করে, যা আপনার Google ক্লাউড সংস্থানগুলির সাথে ইন্টারঅ্যাক্ট করার জন্য প্রয়োজনীয়।
ধাপ 2: ফ্যাশন-MNIST ডেটাসেট প্রস্তুত করা
ফ্যাশন-MNIST ডেটাসেটটি অফিসিয়াল গিটহাব রিপোজিটরি সহ বিভিন্ন উত্স থেকে অ্যাক্সেস করা যেতে পারে। Google ক্লাউডে ট্রেনিং মডেলের জন্য সঠিক বিন্যাসে ডেটাসেট আছে কিনা তা নিশ্চিত করার জন্য এটি প্রিপ্রসেস করা অপরিহার্য।
1. ডেটাসেট ডাউনলোড করুন: ডেটাসেটটি CSV এবং NumPy অ্যারে সহ একাধিক ফর্ম্যাটে উপলব্ধ৷ TensorFlow ব্যবহারকারীদের জন্য, এটি সরাসরি `tensorflow.keras.datasets` মডিউল ব্যবহার করে লোড করা যেতে পারে।
python from tensorflow.keras.datasets import fashion_mnist (train_images, train_labels), (test_images, test_labels) = fashion_mnist.load_data()
2. তথ্য প্রপ্রোকাসিং: চিত্রের পিক্সেল মানগুলিকে 0 দ্বারা ভাগ করে [1, 255] পরিসরে স্বাভাবিক করুন। প্রশিক্ষণের সময় মডেলটি দক্ষতার সাথে একত্রিত হয় তা নিশ্চিত করার জন্য এই পদক্ষেপটি গুরুত্বপূর্ণ।
python train_images = train_images/255.0 test_images = test_images/255.0
3. পুনঃআকৃতি এবং তথ্য বৃদ্ধি: মডেল আর্কিটেকচারের উপর নির্ভর করে, আপনাকে ডেটা পুনরায় আকার দিতে হতে পারে। অতিরিক্তভাবে, মডেলের দৃঢ়তা বাড়ানোর জন্য ঘূর্ণন, জুম এবং অনুভূমিক ফ্লিপের মতো ডেটা বৃদ্ধির কৌশলগুলি বিবেচনা করুন।
ধাপ 3: মডেল উন্নয়ন
ফ্যাশন-MNIST ডেটাসেটের জন্য উপযুক্ত একটি মেশিন লার্নিং মডেল তৈরি করুন। কনভোল্যুশনাল নিউরাল নেটওয়ার্ক (সিএনএন) ইমেজ শ্রেণীবিভাগের কাজগুলিতে তাদের কার্যকারিতার কারণে একটি জনপ্রিয় পছন্দ।
1. মডেল আর্কিটেকচার সংজ্ঞায়িত করুন: একটি CNN মডেল সংজ্ঞায়িত করতে TensorFlow বা PyTorch ব্যবহার করুন। একটি সাধারণ আর্কিটেকচারে একাধিক কনভোলিউশনাল লেয়ার এবং সর্বোচ্চ-পুলিং লেয়ার এবং একটি সম্পূর্ণ সংযুক্ত ঘন স্তর অন্তর্ভুক্ত থাকতে পারে।
python model = tf.keras.Sequential([ tf.keras.layers.Conv2D(32, (3, 3), activation='relu', input_shape=(28, 28, 1)), tf.keras.layers.MaxPooling2D((2, 2)), tf.keras.layers.Conv2D(64, (3, 3), activation='relu'), tf.keras.layers.MaxPooling2D((2, 2)), tf.keras.layers.Flatten(), tf.keras.layers.Dense(64, activation='relu'), tf.keras.layers.Dense(10, activation='softmax') ])
2. মডেল কম্পাইল: একটি উপযুক্ত অপ্টিমাইজার, ক্ষতি ফাংশন, এবং মেট্রিক্স চয়ন করুন। বহু-শ্রেণীর শ্রেণীবিভাগের জন্য, `স্পার্স_শ্রেণীগত_ক্রসেনট্রপি` সাধারণত ব্যবহৃত হয়।
python model.compile(optimizer='adam', loss='sparse_categorical_crossentropy', metrics=['accuracy'])
3. মডেল প্রশিক্ষণ: প্রশিক্ষণের ডেটাতে মডেলটি ফিট করুন। মডেলের কর্মক্ষমতা নিরীক্ষণ এবং অতিরিক্ত ফিটিং এড়াতে বৈধতা ডেটা ব্যবহার করুন।
python model.fit(train_images, train_labels, epochs=10, validation_data=(test_images, test_labels))
ধাপ 4: গুগল ক্লাউড এআই প্ল্যাটফর্মে মডেলটি স্থাপন করা
একবার মডেলটি প্রশিক্ষিত হয়ে গেলে, পরবর্তী ধাপ হল এটিকে Google Cloud AI প্ল্যাটফর্মে স্কেলযোগ্য ভবিষ্যদ্বাণীর জন্য স্থাপন করা।
1. মডেলটি সংরক্ষণ করুন: প্রশিক্ষিত মডেলটিকে Google ক্লাউডের সাথে সামঞ্জস্যপূর্ণ ফর্ম্যাটে রপ্তানি করুন, যেমন TensorFlow SavedModel৷
python model.save('fashion_mnist_model')
2. Google ক্লাউড স্টোরেজে মডেলটি আপলোড করুন: মডেলটিকে Google ক্লাউড স্টোরেজ বালতিতে আপলোড করতে `gsutil` কমান্ড-লাইন টুল ব্যবহার করুন।
bash gsutil cp -r fashion_mnist_model gs://your-bucket-name/
3. এআই প্ল্যাটফর্মে একটি মডেল তৈরি করুন: Google ক্লাউড কনসোলে, AI প্ল্যাটফর্ম > মডেলগুলিতে নেভিগেট করুন এবং একটি নতুন মডেল তৈরি করুন৷ মডেলের নাম এবং অঞ্চল উল্লেখ করুন।
4. একটি মডেল সংস্করণ স্থাপন করুন: SavedModel-এর ক্লাউড স্টোরেজ পাথ উল্লেখ করে মডেলটির একটি নতুন সংস্করণ তৈরি করুন। আপনার পূর্বাভাসের প্রয়োজনের উপর ভিত্তি করে মেশিনের ধরন এবং স্কেলিং বিকল্পগুলি কনফিগার করুন।
5. স্থাপনার পরীক্ষা করুন: স্থাপন করা মডেল পরীক্ষা করতে AI প্ল্যাটফর্মের পূর্বাভাস পরিষেবা ব্যবহার করুন৷ আপনি মডেল এন্ডপয়েন্টে ইমেজ ডেটা সহ HTTP অনুরোধ পাঠাতে পারেন এবং ভবিষ্যদ্বাণী পেতে পারেন।
python from google.cloud import aiplatform project = 'your-project-id' endpoint_id = 'your-endpoint-id' location = 'us-central1' aiplatform.init(project=project, location=location) endpoint = aiplatform.Endpoint(endpoint_id=endpoint_id) # Example prediction response = endpoint.predict(instances=[test_images[0].tolist()]) print(response)
ধাপ 5: মডেল মূল্যায়ন এবং পুনরাবৃত্তি
স্থাপনের পরে, মডেলের কার্যকারিতা মূল্যায়ন করা এবং নির্ভুলতা এবং দক্ষতা উন্নত করার জন্য ডিজাইনে পুনরাবৃত্তি করা গুরুত্বপূর্ণ।
1. মডেল কর্মক্ষমতা নিরীক্ষণ: লেটেন্সি, থ্রুপুট এবং ভবিষ্যদ্বাণীর নির্ভুলতার মতো মডেল পারফরম্যান্স মেট্রিক্স ট্র্যাক করতে Google ক্লাউডের পর্যবেক্ষণ সরঞ্জামগুলি ব্যবহার করুন৷ উন্নতির জন্য বাধা এবং ক্ষেত্র চিহ্নিত করার জন্য এই ডেটা অমূল্য।
2. এ/বি টেস্টিং: বিভিন্ন মডেল সংস্করণ তুলনা করতে A/B পরীক্ষা পরিচালনা করুন। এই পদ্ধতি পরিবর্তনের প্রভাব বুঝতে এবং সেরা-পারফর্মিং মডেল নির্বাচন করতে সাহায্য করে।
3. ক্রমাগত একীকরণ এবং স্থাপনা (CI/CD): নতুন মডেল সংস্করণের স্থাপনা স্বয়ংক্রিয় করতে CI/CD অনুশীলন বাস্তবায়ন করুন। এই সেটআপটি নিশ্চিত করে যে উন্নতিগুলি দ্রুত উৎপাদনে পৌঁছে দেওয়া হয়।
4. প্রতিক্রিয়া লুপ: মডেল ভবিষ্যদ্বাণীগুলির অন্তর্দৃষ্টি সংগ্রহ করতে শেষ ব্যবহারকারীদের সাথে একটি প্রতিক্রিয়া লুপ স্থাপন করুন৷ মডেলটিকে সূক্ষ্ম-টিউন করতে এবং বাস্তব-বিশ্বের অ্যাপ্লিকেশনগুলিতে এর প্রাসঙ্গিকতা বাড়াতে এই প্রতিক্রিয়াটি ব্যবহার করুন৷
5. নতুন ডেটা দিয়ে পুনরায় প্রশিক্ষণ দেওয়া হচ্ছে: সময়ের সাথে সাথে এর যথার্থতা বজায় রাখতে নিয়মিতভাবে নতুন ডেটা সহ মডেল আপডেট করুন৷ এই অনুশীলনটি ফ্যাশন শিল্পে বিশেষভাবে গুরুত্বপূর্ণ, যেখানে প্রবণতা এবং শৈলীগুলি দ্রুত বিকশিত হয়।
ফ্যাশন-MNIST ডেটাসেট Google ক্লাউডের AI প্ল্যাটফর্মে চিত্র শ্রেণীবিভাগের মডেল স্থাপনের জন্য ব্যবহারিক ব্যবহারের ক্ষেত্রে প্রদান করে। রূপরেখার ধাপগুলি অনুসরণ করে, কেউ কার্যকরভাবে স্কেলযোগ্য মেশিন লার্নিং মডেলগুলি তৈরি, স্থাপন এবং বজায় রাখতে Google-এর পরিকাঠামোর সুবিধা নিতে পারে। এই প্রক্রিয়াটি শুধুমাত্র মডেলের নির্ভুলতা এবং কর্মক্ষমতা বাড়ায় না বরং ফ্যাশন শিল্পের বাস্তব-বিশ্বের পরিস্থিতিতে এর প্রয়োগযোগ্যতাও নিশ্চিত করে।
Google ঘন ঘন তার AI প্ল্যাটফর্ম আপডেট করে (2024 সালের হিসাবে ভার্টেক্স AI প্ল্যাটফর্মে বিকশিত হয়েছে)। আপনি যদি এই আপডেটগুলির সাথে কোনও সমস্যার সম্মুখীন হন তবে আপনি নিম্নলিখিত কোডটিও চেষ্টা করতে পারেন:
python import google.auth import google.auth.transport.requests import requests import json from tensorflow.keras.datasets import fashion_mnist import numpy as np # Load and preprocess Fashion MNIST data (train_images, train_labels), (test_images, test_labels) = fashion_mnist.load_data() test_images = test_images/255.0 # Add channel dimension to all test images test_images = test_images.reshape(-1, 28, 28, 1) # Prepare your model and project details project_id = 'project_id' model_name = 'modelname' model_version = 'V1' region = 'europe-west3' # AI Platform prediction endpoint URL url = f'https://{region}-ml.googleapis.com/v1/projects/{project_id}/models/{model_name}/versions/{model_version}:predict' # Authenticate and get the auth token credentials, _ = google.auth.default() auth_req = google.auth.transport.requests.Request() credentials.refresh(auth_req) auth_token = credentials.token # Set up headers for the request headers = { 'Authorization': f'Bearer {auth_token}', 'Content-Type': 'application/json' } class_labels = [ "T-shirt/top", "Trouser", "Pullover", "Dress", "Coat", "Sandal", "Shirt", "Sneaker", "Bag", "Ankle boot" ] # Loop through the first 6 test images for i in range(6): # Prepare the instance for prediction instance = test_images[i].tolist() # Make the request body data = json.dumps({"instances": [instance]}) # Send the request response = requests.post(url, headers=headers, data=data) response_json = response.json() # Extract the predictions predicted_probs = response_json['predictions'][0] # Get the index of the highest probability predicted_index = np.argmax(predicted_probs) predicted_label = class_labels[predicted_index] predicted_probability = predicted_probs[predicted_index] # Print the result in a more readable format print(response_json) print(f"Image {i + 1}: Predicted class: {predicted_label} ({predicted_index}) with probability {predicted_probability:.10f}")
সম্পর্কিত অন্যান্য সাম্প্রতিক প্রশ্ন এবং উত্তর EITC/AI/GCML গুগল ক্লাউড মেশিন লার্নিং:
- যখন পঠন উপকরণ "সঠিক অ্যালগরিদম নির্বাচন" সম্পর্কে কথা বলে, তখন কি এর অর্থ এই যে মূলত সমস্ত সম্ভাব্য অ্যালগরিদম ইতিমধ্যেই বিদ্যমান? আমরা কীভাবে জানব যে একটি নির্দিষ্ট সমস্যার জন্য একটি অ্যালগরিদম "সঠিক"?
- মেশিন লার্নিংয়ে ব্যবহৃত হাইপারপ্যারামিটারগুলি কী কী?
- মেশিন লার্নিং এর জন্য হোয়াট প্রোগ্রামিং এর ভাষা হল জাস্ট পাইথন
- কিভাবে মেশিন লার্নিং বিজ্ঞান জগতে প্রয়োগ করা হয়?
- আপনি কিভাবে সিদ্ধান্ত নেবেন কোন মেশিন লার্নিং অ্যালগরিদম ব্যবহার করবেন এবং আপনি কীভাবে এটি খুঁজে পাবেন?
- ফেডারেটেড লার্নিং, এজ কম্পিউটিং এবং অন-ডিভাইস মেশিন লার্নিংয়ের মধ্যে পার্থক্য কী?
- প্রশিক্ষণের আগে কীভাবে ডেটা প্রস্তুত এবং পরিষ্কার করবেন?
- একটি মেশিন লার্নিং প্রকল্পের নির্দিষ্ট প্রাথমিক কাজ এবং কার্যকলাপ কি কি?
- একটি নির্দিষ্ট মেশিন লার্নিং কৌশল এবং মডেল গ্রহণ করার জন্য থাম্বের নিয়ম কি?
- কোন প্যারামিটারগুলি নির্দেশ করে যে এটি একটি লিনিয়ার মডেল থেকে গভীর শিক্ষায় স্যুইচ করার সময়?
EITC/AI/GCML Google ক্লাউড মেশিন লার্নিং-এ আরও প্রশ্ন ও উত্তর দেখুন