ক্লাউড এআই প্ল্যাটফর্মে একটি পাইটর্চ মডেলের প্রশিক্ষণ এবং হাইপারপ্যারামিটার টিউনিং

1. ওভারভিউ

এই ল্যাবে, আপনি আপনার মডেল তৈরি করতে PyTorch ব্যবহার করে Google ক্লাউডে একটি সম্পূর্ণ ML প্রশিক্ষণ কর্মপ্রবাহের মধ্য দিয়ে যাবেন। একটি ক্লাউড এআই প্ল্যাটফর্ম নোটবুক পরিবেশ থেকে, আপনি হাইপারপ্যারামিটার টিউনিংয়ের সাথে এআই প্ল্যাটফর্ম প্রশিক্ষণে চালানোর জন্য আপনার প্রশিক্ষণের কাজটি কীভাবে প্যাকেজ করবেন তা শিখবেন।

আপনি কি শিখুন

আপনি কিভাবে শিখবেন:

  • একটি এআই প্ল্যাটফর্ম নোটবুক উদাহরণ তৈরি করুন
  • একটি PyTorch মডেল তৈরি করুন
  • এআই প্ল্যাটফর্ম প্রশিক্ষণে হাইপারপ্যারামিটার টিউনিংয়ের মাধ্যমে আপনার মডেলকে প্রশিক্ষণ দিন

Google ক্লাউডে এই ল্যাবটি চালানোর জন্য মোট খরচ প্রায় $1

2. আপনার পরিবেশ সেটআপ করুন

এই কোডল্যাব চালানোর জন্য আপনার একটি Google ক্লাউড প্ল্যাটফর্ম প্রকল্পের প্রয়োজন হবে যাতে বিলিং সক্ষম থাকে৷ একটি প্রকল্প তৈরি করতে, এখানে নির্দেশাবলী অনুসরণ করুন।

ধাপ 1: ক্লাউড এআই প্ল্যাটফর্ম মডেল এপিআই সক্ষম করুন

আপনার ক্লাউড কনসোলের AI প্ল্যাটফর্ম মডেল বিভাগে নেভিগেট করুন এবং সক্ষম করুন ক্লিক করুন যদি এটি ইতিমধ্যে সক্ষম না থাকে।

d0d38662851c6af3.png

ধাপ 2: Compute Engine API সক্ষম করুন

কম্পিউট ইঞ্জিনে নেভিগেট করুন এবং সক্ষম নির্বাচন করুন যদি এটি ইতিমধ্যে সক্ষম না থাকে। আপনার নোটবুক উদাহরণ তৈরি করতে আপনার এটির প্রয়োজন হবে৷

ধাপ 3: একটি AI প্ল্যাটফর্ম নোটবুক উদাহরণ তৈরি করুন

আপনার ক্লাউড কনসোলের AI প্ল্যাটফর্ম নোটবুক বিভাগে নেভিগেট করুন এবং New Instance-এ ক্লিক করুন। তারপরে সর্বশেষ PyTorch ইনস্ট্যান্স টাইপ নির্বাচন করুন (GPU ছাড়া):

892b7588f940d145.png

ডিফল্ট বিকল্পগুলি ব্যবহার করুন বা আপনি যদি চান তবে এটিকে একটি কাস্টম নাম দিন এবং তারপরে তৈরি করুন ক্লিক করুন। একবার উদাহরণ তৈরি হয়ে গেলে, JupyterLab খুলুন নির্বাচন করুন:

63d2cf44801c2df5.png

এর পরে, লঞ্চার থেকে একটি পাইথন 3 নোটবুক উদাহরণ খুলুন:

de4c86c6c7f9438f.png

আপনি শুরু করার জন্য প্রস্তুত!

ধাপ 5: পাইথন প্যাকেজ আমদানি করুন

আপনার নোটবুকের প্রথম ঘরে, নিম্নলিখিত আমদানি যোগ করুন এবং সেলটি চালান। আপনি উপরের মেনুতে ডান তীর বোতাম টিপে বা কমান্ড-এন্টার টিপে এটি চালাতে পারেন:

import datetime
import numpy as np
import os
import pandas as pd
import time

আপনি লক্ষ্য করবেন যে আমরা এখানে PyTorch আমদানি করছি না। কারণ আমরা এআই প্ল্যাটফর্ম প্রশিক্ষণে প্রশিক্ষণের কাজ চালাচ্ছি, আমাদের নোটবুকের উদাহরণ থেকে নয়।

3. প্রশিক্ষণ কাজের জন্য একটি প্যাকেজ তৈরি করুন

এআই প্ল্যাটফর্ম প্রশিক্ষণে আমাদের প্রশিক্ষণের কাজ চালানোর জন্য, আমাদের নোটবুকের উদাহরণে স্থানীয়ভাবে প্যাকেজ করা আমাদের প্রশিক্ষণ কোড এবং আমাদের কাজের জন্য সম্পদ সংরক্ষণ করার জন্য একটি ক্লাউড স্টোরেজ বালতি প্রয়োজন। প্রথমত, আমরা একটি স্টোরেজ বালতি তৈরি করব। আপনার যদি ইতিমধ্যে একটি থাকে তবে আপনি এই ধাপটি এড়িয়ে যেতে পারেন।

ধাপ 1: আমাদের মডেলের জন্য একটি ক্লাউড স্টোরেজ বালতি তৈরি করুন

আসুন প্রথমে কিছু এনভায়রনমেন্ট ভেরিয়েবল সংজ্ঞায়িত করি যা আমরা কোডল্যাবের বাকি অংশ জুড়ে ব্যবহার করব। আপনার Google ক্লাউড প্রকল্পের নাম এবং আপনি যে ক্লাউড স্টোরেজ বাকেটটি তৈরি করতে চান তার নাম দিয়ে নীচের মানগুলি পূরণ করুন (বিশ্বব্যাপী অনন্য হতে হবে):

# Update these to your own GCP project, model, and version names
GCP_PROJECT = 'your-gcp-project'
BOCKET_URL = 'gs://storage_bucket_name'

এখন আমরা একটি স্টোরেজ বালতি তৈরি করতে প্রস্তুত, যা আমরা আমাদের প্রশিক্ষণের কাজ শুরু করার সময় নির্দেশ করব।

একটি বালতি তৈরি করতে আপনার নোটবুকের মধ্যে থেকে এই gsutil কমান্ডটি চালান:

!gsutil mb $BUCKET_URL

ধাপ 2: আমাদের পাইথন প্যাকেজের জন্য প্রাথমিক ফাইল তৈরি করুন

এআই প্ল্যাটফর্মে একটি প্রশিক্ষণের কাজ চালানোর জন্য, আমাদের কোডটি পাইথন প্যাকেজ হিসাবে কনফিগার করতে হবে। এটি আমাদের রুট ডিরেক্টরিতে একটি setup.py ফাইল নিয়ে গঠিত যা কোনো বাহ্যিক প্যাকেজ নির্ভরতা নির্দিষ্ট করে, আমাদের প্যাকেজের নামের একটি সাবডিরেক্টরি (এখানে আমরা এটিকে trainer/ বলব), এবং এই সাবডিরেক্টরির মধ্যে একটি খালি __init__.py ফাইল।

প্রথমে আমাদের setup.py ফাইলটি লিখি। আমরা আমাদের উদাহরণে ফাইলটি সংরক্ষণ করতে iPython %%writfile ম্যাজিক ব্যবহার করছি। এখানে আমরা 3টি বহিরাগত লাইব্রেরি নির্দিষ্ট করেছি যা আমরা আমাদের প্রশিক্ষণ কোডে ব্যবহার করব: PyTorch, Scikit-learn, এবং Pandas:

%%writefile setup.py
from setuptools import find_packages
from setuptools import setup

REQUIRED_PACKAGES = ['torch>=1.5', 'scikit-learn>=0.20', 'pandas>=1.0']

setup(
    name='trainer',
    version='0.1',
    install_requires=REQUIRED_PACKAGES,
    packages=find_packages(),
    include_package_data=True,
    description='My training application package.'
)

এর পরে আসুন আমাদের ট্রেনার/ ডিরেক্টরি এবং এর মধ্যে খালি init .py ফাইল তৈরি করি। পাইথন এই ফাইলটি ব্যবহার করে সনাক্ত করতে যে এটি একটি প্যাকেজ:

!mkdir trainer
!touch trainer/__init__.py

এখন আমরা আমাদের প্রশিক্ষণের কাজ তৈরি করতে প্রস্তুত।

4. ডেটাসেটের পূর্বরূপ দেখুন

এই ল্যাবের ফোকাস এখানে মডেলের প্রশিক্ষণের জন্য টুলিংয়ের উপর, কিন্তু আসুন আমরা আমাদের মডেলকে বোঝার জন্য প্রশিক্ষণ দেওয়ার জন্য যে ডেটাসেট ব্যবহার করব তা দ্রুত দেখে নেওয়া যাক। আমরা BigQuery-এ উপলব্ধ ন্যাটালিটি ডেটাসেট ব্যবহার করব। এতে কয়েক দশক ধরে মার্কিন যুক্তরাষ্ট্র থেকে জন্মের তথ্য রয়েছে। আমরা একটি শিশুর জন্ম ওজন ভবিষ্যদ্বাণী করতে ডেটাসেট থেকে কয়েকটি কলাম ব্যবহার করব। আসল ডেটাসেটটি বেশ বড়, এবং আমরা এটির একটি উপসেট ব্যবহার করব যা আমরা একটি ক্লাউড স্টোরেজ বালতিতে আপনার জন্য উপলব্ধ করেছি৷

ধাপ 1: BigQuery ন্যাটালিটি ডেটাসেট ডাউনলোড করা হচ্ছে

আসুন আমরা আপনার জন্য ক্লাউড স্টোরেজে একটি পান্ডাস ডেটাফ্রেমে উপলব্ধ ডেটাসেটের সংস্করণটি ডাউনলোড করি এবং এটির পূর্বরূপ দেখি।

natality = pd.read_csv('https://storage.googleapis.com/ml-design-patterns/natality.csv')
natality.head()

এই ডেটাসেটে মাত্র 100,000 সারি রয়েছে৷ আমরা একটি শিশুর জন্মের ওজনের পূর্বাভাস দিতে 5টি বৈশিষ্ট্য ব্যবহার করব: মা এবং বাবার বয়স, গর্ভাবস্থার সপ্তাহ, মায়ের ওজন পাউন্ডে বৃদ্ধি এবং শিশুর লিঙ্গ একটি বুলিয়ান হিসাবে উপস্থাপিত।

5. হাইপারপ্যারামিটার টিউনিং সহ প্রশিক্ষণের কাজটি সংজ্ঞায়িত করুন

আমরা আমাদের ট্রেনিং স্ক্রিপ্টটি মডেল.py নামক একটি ফাইলে লিখব যা আমরা আগে তৈরি করেছি ট্রেনার/সাবডিরেক্টরির মধ্যে। আমাদের প্রশিক্ষণের কাজটি এআই প্ল্যাটফর্ম প্রশিক্ষণে চলবে, এবং এটি বায়েসিয়ান অপ্টিমাইজেশন ব্যবহার করে আমাদের মডেলের জন্য সর্বোত্তম হাইপারপ্যারামিটারগুলি খুঁজে পেতে এআই প্ল্যাটফর্মের হাইপারপ্যারামিটার টিউনিং পরিষেবা ব্যবহার করবে।

ধাপ 1: প্রশিক্ষণ স্ক্রিপ্ট তৈরি করুন

প্রথমে, আমাদের ট্রেনিং স্ক্রিপ্ট দিয়ে পাইথন ফাইল তৈরি করা যাক। তারপর আমরা এটা কি ঘটছে ব্যবচ্ছেদ করব. এই %%writfile কমান্ডটি চালানোর ফলে একটি স্থানীয় পাইথন ফাইলে মডেল কোড লেখা হবে:

%%writefile trainer/model.py
import argparse
import hypertune
import numpy as np
import pandas as pd
import torch
import torch.nn as nn
import torch.optim as optim

from sklearn.utils import shuffle
from sklearn.preprocessing import LabelEncoder
from sklearn.preprocessing import normalize

def get_args():
    """Argument parser.
    Returns:
        Dictionary of arguments.
    """
    parser = argparse.ArgumentParser(description='PyTorch MNIST')
    parser.add_argument('--job-dir',  # handled automatically by AI Platform
                        help='GCS location to write checkpoints and export ' \
                             'models')
    parser.add_argument('--lr',  # Specified in the config file
                        type=float,
                        default=0.01,
                        help='learning rate (default: 0.01)')
    parser.add_argument('--momentum',  # Specified in the config file
                        type=float,
                        default=0.5,
                        help='SGD momentum (default: 0.5)')
    parser.add_argument('--hidden-layer-size',  # Specified in the config file
                        type=int,
                        default=8,
                        help='hidden layer size')
    args = parser.parse_args()
    return args

def train_model(args):
    # Get the data
    natality = pd.read_csv('https://storage.googleapis.com/ml-design-patterns/natality.csv')
    natality = natality.dropna()
    natality = shuffle(natality, random_state = 2)
    natality.head()

    natality_labels = natality['weight_pounds']
    natality = natality.drop(columns=['weight_pounds'])


    train_size = int(len(natality) * 0.8)
    traindata_natality = natality[:train_size]
    trainlabels_natality = natality_labels[:train_size]

    testdata_natality = natality[train_size:]
    testlabels_natality = natality_labels[train_size:]

    # Normalize and convert to PT tensors
    normalized_train = normalize(np.array(traindata_natality.values), axis=0)
    normalized_test = normalize(np.array(testdata_natality.values), axis=0)

    train_x = torch.Tensor(normalized_train)
    train_y = torch.Tensor(np.array(trainlabels_natality))

    test_x = torch.Tensor(normalized_test)
    test_y = torch.Tensor(np.array(testlabels_natality))

    # Define our data loaders
    train_dataset = torch.utils.data.TensorDataset(train_x, train_y)
    train_dataloader = torch.utils.data.DataLoader(train_dataset, batch_size=128, shuffle=True)

    test_dataset = torch.utils.data.TensorDataset(test_x, test_y)
    test_dataloader = torch.utils.data.DataLoader(test_dataset, batch_size=128, shuffle=False)

    # Define the model, while tuning the size of our hidden layer
    model = nn.Sequential(nn.Linear(len(train_x[0]), args.hidden_layer_size),
                          nn.ReLU(),
                          nn.Linear(args.hidden_layer_size, 1))
    criterion = nn.MSELoss()

    # Tune hyperparameters in our optimizer
    optimizer = optim.SGD(model.parameters(), lr=args.lr, momentum=args.momentum)
    epochs = 20
    for e in range(epochs):
        for batch_id, (data, label) in enumerate(train_dataloader):
            optimizer.zero_grad()
            y_pred = model(data)
            label = label.view(-1,1)
            loss = criterion(y_pred, label)
            
            loss.backward()
            optimizer.step()


    val_mse = 0
    num_batches = 0
    # Evaluate accuracy on our test set
    with torch.no_grad():
        for i, (data, label) in enumerate(test_dataloader):
            num_batches += 1
            y_pred = model(data)
            mse = criterion(y_pred, label.view(-1,1))
            val_mse += mse.item()


    avg_val_mse = (val_mse / num_batches)

    # Report the metric we're optimizing for to AI Platform's HyperTune service
    # In this example, we're mimizing error on our test set
    hpt = hypertune.HyperTune()
    hpt.report_hyperparameter_tuning_metric(
        hyperparameter_metric_tag='val_mse',
        metric_value=avg_val_mse,
        global_step=epochs        
    )

def main():
    args = get_args()
    print('in main', args)
    train_model(args)

if __name__ == '__main__':
    main()

প্রশিক্ষণের কাজ দুটি ফাংশন নিয়ে গঠিত যেখানে বেশিরভাগ কাজ হচ্ছে।

  • get_args() : এটি কমান্ড লাইন আর্গুমেন্টগুলিকে পার্স করে যা আমরা পাস করব যখন আমরা আমাদের প্রশিক্ষণের কাজ তৈরি করব, হাইপারপ্যারামিটার সহ আমরা চাই যে এআই প্ল্যাটফর্মটি অপ্টিমাইজ করতে চাই। এই উদাহরণে আমাদের আর্গুমেন্টের তালিকায় শুধুমাত্র হাইপারপ্যারামিটারগুলি রয়েছে যা আমরা অপ্টিমাইজ করব - আমাদের মডেলের শেখার হার, গতিবেগ এবং আমাদের লুকানো স্তরে নিউরনের সংখ্যা।
  • train_model() : এখানে আমরা একটি পান্ডাস ডেটাফ্রেমে ডেটা ডাউনলোড করি, এটিকে স্বাভাবিক করি, এটিকে PyTorch Tensors-এ রূপান্তর করি এবং তারপরে আমাদের মডেল সংজ্ঞায়িত করি। আমাদের মডেল তৈরি করতে আমরা PyTorch nn.Sequential API ব্যবহার করছি, যা আমাদের মডেলকে স্তরগুলির স্ট্যাক হিসাবে সংজ্ঞায়িত করতে দেয়:
model = nn.Sequential(nn.Linear(len(train_x[0]), args.hidden_layer_size),
                      nn.ReLU(),
                      nn.Linear(args.hidden_layer_size, 1))

লক্ষ্য করুন যে আমাদের মডেলের লুকানো স্তরের আকার হার্ডকোড করার পরিবর্তে, আমরা এটিকে একটি হাইপারপ্যারামিটার তৈরি করছি যা AI প্ল্যাটফর্ম আমাদের জন্য টিউন করবে। পরবর্তী বিভাগে যে আরো.

ধাপ 2: AI প্ল্যাটফর্মের হাইপারপ্যারামিটার টিউনিং পরিষেবা ব্যবহার করা

ম্যানুয়ালি বিভিন্ন হাইপারপ্যারামিটার মান চেষ্টা করার পরিবর্তে এবং প্রতিবার আমাদের মডেলকে পুনরায় প্রশিক্ষণ দেওয়ার পরিবর্তে, আমরা ক্লাউড এআই প্ল্যাটফর্মের হাইপারপ্যারামিটার অপ্টিমাইজেশান পরিষেবা ব্যবহার করব৷ আমরা যদি হাইপারপ্যারামিটার আর্গুমেন্টের সাথে আমাদের প্রশিক্ষণের কাজ সেট আপ করি, তাহলে এআই প্ল্যাটফর্ম আমাদের নির্দিষ্ট হাইপারপ্যারামিটারগুলির জন্য আদর্শ মানগুলি খুঁজে বের করতে Bayesian অপ্টিমাইজেশান ব্যবহার করবে।

হাইপারপ্যারামিটার টিউনিং-এ, একটি একক পরীক্ষায় হাইপারপ্যারামিটার মানগুলির একটি নির্দিষ্ট সংমিশ্রণ সহ আমাদের মডেলের একটি প্রশিক্ষণ থাকে। আমরা কতগুলি ট্রায়াল চালাই তার উপর নির্ভর করে, AI প্ল্যাটফর্ম ভবিষ্যতের জন্য নির্বাচন করা হাইপারপ্যারামিটারগুলি অপ্টিমাইজ করতে সম্পূর্ণ ট্রায়ালের ফলাফলগুলি ব্যবহার করবে। হাইপারপ্যারামিটার টিউনিং কনফিগার করার জন্য, আমরা যখন অপ্টিমাইজ করছি হাইপারপ্যারামিটারগুলির প্রতিটিতে কিছু ডেটা সহ আমাদের প্রশিক্ষণ কাজ শুরু করার সময় আমাদের একটি কনফিগার ফাইল পাস করতে হবে।

পরবর্তী, স্থানীয়ভাবে সেই কনফিগারেশন ফাইলটি তৈরি করুন:

%%writefile config.yaml
trainingInput:
  hyperparameters:
    goal: MINIMIZE
    maxTrials: 10
    maxParallelTrials: 5
    hyperparameterMetricTag: val_mse
    enableTrialEarlyStopping: TRUE
    params:
    - parameterName: lr
      type: DOUBLE
      minValue: 0.0001
      maxValue: 0.1
      scaleType: UNIT_LINEAR_SCALE
    - parameterName: momentum
      type: DOUBLE
      minValue: 0.0
      maxValue: 1.0
      scaleType: UNIT_LINEAR_SCALE
    - parameterName: hidden-layer-size
      type: INTEGER
      minValue: 8
      maxValue: 32
      scaleType: UNIT_LINEAR_SCALE

প্রতিটি হাইপারপ্যারামিটারের জন্য, আমরা ধরন, মানের পরিসীমা নির্দিষ্ট করি এবং আমরা বিভিন্ন ট্রায়াল জুড়ে মান বাড়াতে চাই।

কাজের শুরুতে আমরা যে মেট্রিকটির জন্য অপ্টিমাইজ করছি সেটিও নির্দিষ্ট করি। লক্ষ্য করুন যে উপরে আমাদের train_model() ফাংশনের শেষে, প্রতিবার ট্রায়াল শেষ হলে আমরা এই মেট্রিকটি AI প্ল্যাটফর্মে রিপোর্ট করি। এখানে আমরা আমাদের মডেলের গড় বর্গাকার ত্রুটি কমিয়ে দিচ্ছি, এবং তাই আমরা হাইপারপ্যারামিটারগুলি ব্যবহার করতে চাই যার ফলে আমাদের মডেলের জন্য সর্বনিম্ন গড় স্কোয়ার ত্রুটি হয়। এই মেট্রিকের নামটি ( val_mse ) নামের সাথে মিলে যা আমরা রিপোর্ট করার জন্য ব্যবহার করি যখন আমরা একটি ট্রায়ালের শেষে report_hyperparameter_tuning_metric() কল করি।

6. এআই প্ল্যাটফর্মে একটি প্রশিক্ষণের কাজ চালান

এই বিভাগে আমরা AI প্ল্যাটফর্মে হাইপারপ্যারামিটার টিউনিং সহ আমাদের মডেল প্রশিক্ষণের কাজ শুরু করব।

ধাপ 1: কিছু পরিবেশের ভেরিয়েবল সংজ্ঞায়িত করুন

আসুন প্রথমে কিছু এনভায়রনমেন্ট ভেরিয়েবল সংজ্ঞায়িত করি যা আমরা আমাদের প্রশিক্ষণের কাজ শুরু করতে ব্যবহার করব। আপনি যদি একটি ভিন্ন অঞ্চলে আপনার কাজ চালাতে চান, তাহলে নীচের অঞ্চল পরিবর্তনশীলটি আপডেট করুন:

MAIN_TRAINER_MODULE = "trainer.model"
TRAIN_DIR = os.getcwd() + '/trainer'
JOB_DIR = BUCKET_URL + '/output'
REGION = "us-central1"

AI প্ল্যাটফর্মের প্রতিটি প্রশিক্ষণ কাজের একটি অনন্য নাম থাকা উচিত। একটি টাইমস্ট্যাম্প ব্যবহার করে আপনার কাজের নামের জন্য একটি পরিবর্তনশীল সংজ্ঞায়িত করতে নিম্নলিখিতটি চালান:

timestamp = str(datetime.datetime.now().time())
JOB_NAME = 'caip_training_' + str(int(time.time()))

ধাপ 2: প্রশিক্ষণের কাজ শুরু করুন

আমরা gcloud, Google Cloud CLI ব্যবহার করে আমাদের প্রশিক্ষণের কাজ তৈরি করব। আমরা উপরে সংজ্ঞায়িত ভেরিয়েবলগুলিকে উল্লেখ করে আমরা সরাসরি আমাদের নোটবুকে এই কমান্ডটি চালাতে পারি:

!gcloud ai-platform jobs submit training $JOB_NAME \
        --scale-tier basic \
        --package-path $TRAIN_DIR \
        --module-name $MAIN_TRAINER_MODULE \
        --job-dir $JOB_DIR \
        --region $REGION \
        --runtime-version 2.1 \
        --python-version 3.7 \
        --config config.yaml

আপনার কাজ সঠিকভাবে তৈরি করা হলে, লগগুলি নিরীক্ষণ করতে আপনার AI প্ল্যাটফর্ম কনসোলের চাকরি বিভাগে যান।

ধাপ 3: আপনার কাজ নিরীক্ষণ

একবার আপনি কনসোলের জবস বিভাগে গেলে, আপনি যে কাজের বিবরণ দেখতে শুরু করেছেন তাতে ক্লিক করুন:

c184167641bb7ed7.png

আপনার প্রথম রাউন্ডের ট্রায়াল শুরু হওয়ার সাথে সাথে আপনি প্রতিটি ট্রায়ালের জন্য নির্বাচিত হাইপারপ্যারামিটার মানগুলি দেখতে সক্ষম হবেন:

787c053ef9110e6b.png

ট্রায়াল সম্পূর্ণ হলে, আপনার অপ্টিমাইজেশান মেট্রিকের ফলিত মান (এই ক্ষেত্রে val_mse ) এখানে লগ করা হবে। কাজটি চালানোর জন্য 15-20 মিনিট সময় নেওয়া উচিত এবং কাজটি শেষ হয়ে গেলে ড্যাশবোর্ডটি এরকম কিছু দেখাবে (সঠিক মান পরিবর্তিত হবে):

47ef6b9b4ecb532c.png

সম্ভাব্য সমস্যাগুলি ডিবাগ করতে এবং আরও বিস্তারিতভাবে আপনার কাজ নিরীক্ষণ করতে, কাজের বিবরণ পৃষ্ঠা থেকে লগ দেখুন -এ ক্লিক করুন:

18c32dcd36351930.png

আপনার মডেল প্রশিক্ষণ কোডের প্রতিটি print() বিবৃতি এখানে প্রদর্শিত হবে। আপনি সমস্যায় পড়লে, আরও প্রিন্ট স্টেটমেন্ট যোগ করার চেষ্টা করুন এবং একটি নতুন প্রশিক্ষণ কাজ শুরু করুন।

আপনার প্রশিক্ষণের কাজ শেষ হয়ে গেলে, হাইপারপ্যারামিটারগুলি খুঁজুন যা সর্বনিম্ন val_mse প্রদান করেছে। আপনি হয় এগুলিকে আপনার মডেলের একটি চূড়ান্ত সংস্করণ প্রশিক্ষণ এবং রপ্তানি করতে ব্যবহার করতে পারেন, অথবা অতিরিক্ত হাইপারপ্যারামিটার টিউনিং ট্রায়াল সহ অন্য প্রশিক্ষণের কাজ শুরু করতে নির্দেশিকা হিসাবে ব্যবহার করতে পারেন।

7. পরিষ্কার করা

আপনি যদি এই নোটবুকটি ব্যবহার চালিয়ে যেতে চান তবে এটি ব্যবহার না করার সময় এটি বন্ধ করার পরামর্শ দেওয়া হয়। আপনার ক্লাউড কনসোলের নোটবুক UI থেকে, নোটবুকটি নির্বাচন করুন এবং তারপরে থামুন নির্বাচন করুন:

879147427150b6c7.png

আপনি যদি এই ল্যাবে আপনার তৈরি করা সমস্ত সংস্থান মুছে ফেলতে চান তবে নোটবুকের উদাহরণটি বন্ধ করার পরিবর্তে কেবল মুছুন৷

আপনার ক্লাউড কনসোলে নেভিগেশন মেনু ব্যবহার করে, সঞ্চয়স্থানে ব্রাউজ করুন এবং আপনার মডেল সম্পদগুলি সঞ্চয় করার জন্য আপনার তৈরি করা উভয় বালতি মুছে দিন।