Fashion-MNIST என்பது ஜலாண்டோவின் கட்டுரைப் படங்களின் தரவுத்தொகுப்பாகும், இதில் 60,000 எடுத்துக்காட்டுகள் மற்றும் 10,000 எடுத்துக்காட்டுகளின் சோதனைத் தொகுப்பு உள்ளது. ஒவ்வொரு எடுத்துக்காட்டும் 28×28 கிரேஸ்கேல் படமாகும், இது 10 வகுப்புகளின் லேபிளுடன் தொடர்புடையது. தரவுத்தொகுப்பு இயந்திர கற்றல் அல்காரிதம்களை தரப்படுத்துவதற்கான அசல் MNIST தரவுத்தொகுப்புக்கு நேரடியான மாற்றாக செயல்படுகிறது, இது ஃபேஷன் தொடர்பான படங்களில் அதன் சிக்கலான தன்மை மற்றும் மாறுபாடு காரணமாக மிகவும் சவாலான மாற்றீட்டை வழங்குகிறது.
Google Cloud இன் AI இயங்குதளத்தில் Fashion-MNIST தரவுத்தொகுப்பை நடைமுறையில் பயன்படுத்த, தரவுத் தயாரிப்பு, மாதிரிப் பயிற்சி, வரிசைப்படுத்தல் மற்றும் மதிப்பீடு ஆகியவற்றை உள்ளடக்கிய பல கட்டமைக்கப்பட்ட படிகளைப் பின்பற்ற வேண்டும். இந்த ஒவ்வொரு நிலைகளுக்கும் தரவுத்தொகுப்பு மற்றும் Google Cloud சூழல் இரண்டையும் பற்றிய விரிவான புரிதல் தேவை.
படி 1: Google கிளவுட் சூழலை அமைத்தல்
தரவுத்தொகுப்பைப் பயன்படுத்துவதற்கு முன், உங்களிடம் Google Cloud கணக்கு இருப்பதை உறுதிசெய்யவும். Google Cloud Console இல் புதிய திட்டத்தை அமைக்கவும். உங்கள் திட்டத்திற்கான பில்லிங்கை இயக்கவும் மற்றும் Cloud AI இயங்குதள API ஐ செயல்படுத்தவும். இயந்திர கற்றல் பணிகளுக்கு Google இன் வலுவான உள்கட்டமைப்பைப் பயன்படுத்துவதற்கு இது உங்களை அனுமதிப்பதால் இந்த அமைப்பு முக்கியமானது.
1. Google Cloud Projectஐ உருவாக்கவும்: Google கிளவுட் கன்சோலுக்குச் சென்று புதிய திட்டத்தை உருவாக்கவும். எளிதாக அடையாளம் காண உங்கள் திட்டத்திற்கு ஒரு தனிப்பட்ட பெயரை ஒதுக்கவும்.
2. API களை இயக்கு: API & Services டாஷ்போர்டிற்குச் சென்று Cloud AI இயங்குதள API ஐ இயக்கவும். Google Cloud இல் இயந்திர கற்றல் மாதிரிகளை பயன்படுத்துவதற்கு இந்த API இன்றியமையாதது.
3. கிளவுட் SDK ஐ நிறுவவும்: உங்கள் உள்ளூர் கணினியில் Google Cloud SDKஐப் பதிவிறக்கி நிறுவவும். இந்த SDK ஆனது உங்கள் Google கிளவுட் ஆதாரங்களுடன் தொடர்புகொள்வதற்குத் தேவையான `gCloud` கட்டளை-வரிக் கருவியை வழங்குகிறது.
படி 2: ஃபேஷன்-எம்என்ஐஎஸ்டி டேட்டாசெட்டைத் தயாரித்தல்
Fashion-MNIST தரவுத்தொகுப்பை அதிகாரப்பூர்வ GitHub களஞ்சியம் உட்பட பல்வேறு ஆதாரங்களில் இருந்து அணுகலாம். Google Cloud இல் உள்ள பயிற்சி மாதிரிகளுக்கான சரியான வடிவத்தில் தரவுத்தொகுப்பு இருப்பதை உறுதிசெய்ய, அதை முன்கூட்டியே செயலாக்குவது அவசியம்.
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: மாதிரி உருவாக்கம்
Fashion-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. மாதிரியை தொகுக்கவும்: பொருத்தமான உகப்பாக்கி, இழப்பு செயல்பாடு மற்றும் அளவீடுகளைத் தேர்வு செய்யவும். பல-வகுப்பு வகைப்பாட்டிற்கு, `sparse_categorical_crossentropy` பொதுவாகப் பயன்படுத்தப்படுகிறது.
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 இயங்குதளத்தில் மாடலைப் பயன்படுத்துதல்
மாதிரியைப் பயிற்றுவித்ததும், அடுத்த கட்டமாக அதை Google Cloud AI பிளாட்ஃபார்மில் அளவிடக்கூடிய கணிப்புகளுக்குப் பயன்படுத்த வேண்டும்.
1. மாதிரியை சேமிக்கவும்: TensorFlow SavedModel போன்ற Google Cloud உடன் இணக்கமான வடிவமைப்பிற்கு பயிற்சியளிக்கப்பட்ட மாதிரியை ஏற்றுமதி செய்யவும்.
python model.save('fashion_mnist_model')
2. மாடலை Google Cloud Storage இல் பதிவேற்றவும்: கூகுள் கிளவுட் ஸ்டோரேஜ் பக்கெட்டில் மாடலைப் பதிவேற்ற, `gsutil` கட்டளை வரி கருவியைப் பயன்படுத்தவும்.
bash gsutil cp -r fashion_mnist_model gs://your-bucket-name/
3. AI இயங்குதளத்தில் ஒரு மாதிரியை உருவாக்கவும்: கூகிள் கிளவுட் கன்சோலில், 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 Cloud இன் கண்காணிப்பு கருவிகளைப் பயன்படுத்தவும். தடைகள் மற்றும் முன்னேற்றத்திற்கான பகுதிகளை அடையாளம் காண இந்தத் தரவு விலைமதிப்பற்றது.
2. A/B சோதனை: வெவ்வேறு மாடல் பதிப்புகளை ஒப்பிடுவதற்கு ஏ/பி சோதனை நடத்தவும். இந்த அணுகுமுறை மாற்றங்களின் தாக்கத்தைப் புரிந்துகொள்வதற்கும் சிறந்த செயல்திறன் கொண்ட மாதிரியைத் தேர்ந்தெடுப்பதற்கும் உதவுகிறது.
3. தொடர்ச்சியான ஒருங்கிணைப்பு மற்றும் வரிசைப்படுத்தல் (CI/CD): புதிய மாடல் பதிப்புகளின் வரிசைப்படுத்தலை தானியக்கமாக்குவதற்கு CI/CD நடைமுறைகளைச் செயல்படுத்தவும். இந்த அமைப்பு மேம்பாடுகள் விரைவாக உற்பத்திக்கு வழங்கப்படுவதை உறுதி செய்கிறது.
4. கருத்து சுழற்சி: மாதிரி கணிப்புகள் பற்றிய நுண்ணறிவுகளை சேகரிக்க இறுதி பயனர்களுடன் பின்னூட்ட வளையத்தை நிறுவவும். மாடலை நன்றாக மாற்றவும், நிஜ-உலகப் பயன்பாடுகளுக்கு அதன் பொருத்தத்தை அதிகரிக்கவும் இந்தக் கருத்தைப் பயன்படுத்தவும்.
5. புதிய தரவுகளுடன் மீண்டும் பயிற்சி: காலப்போக்கில் அதன் துல்லியத்தை பராமரிக்க புதிய தரவுகளுடன் மாதிரியை தொடர்ந்து புதுப்பிக்கவும். இந்த நடைமுறை ஃபேஷன் துறையில் குறிப்பாக முக்கியமானது, அங்கு போக்குகள் மற்றும் பாணிகள் வேகமாக உருவாகின்றன.
ஃபேஷன்-எம்என்ஐஎஸ்டி தரவுத்தொகுப்பு கூகுள் கிளவுட்டின் ஏஐ பிளாட்ஃபார்மில் பட வகைப்பாடு மாதிரிகளை வரிசைப்படுத்துவதற்கான நடைமுறை பயன்பாட்டு வழக்கை வழங்குகிறது. கோடிட்டுக் காட்டப்பட்டுள்ள படிகளைப் பின்பற்றுவதன் மூலம், அளவிடக்கூடிய இயந்திரக் கற்றல் மாதிரிகளை உருவாக்க, வரிசைப்படுத்த மற்றும் பராமரிக்க 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 Cloud Machine Learning இல் கூடுதல் கேள்விகள் மற்றும் பதில்களைக் காண்க