ডেটা বিজ্ঞানীরা সাবধানে একটি সন্তোষজনক মেশিন লার্নিং (ML) মডেল নিয়ে আসার পরে, প্রতিষ্ঠানের অন্যান্য সদস্যদের দ্বারা অনুমানের জন্য সহজেই অ্যাক্সেসযোগ্য হওয়ার জন্য মডেলটিকে স্থাপন করতে হবে। যাইহোক, অপ্টিমাইজ করা খরচ এবং গণনা দক্ষতা সহ স্কেলে মডেল স্থাপন করা একটি কঠিন এবং কষ্টকর কাজ হতে পারে। আমাজন সেজমেকার এন্ডপয়েন্টগুলি মডেল স্থাপনের জন্য একটি সহজে মাপযোগ্য এবং খরচ-অপ্টিমাইজ করা সমাধান প্রদান করে। YOLOv5 মডেল, GPLv3 লাইসেন্সের অধীনে বিতরণ করা একটি জনপ্রিয় বস্তু সনাক্তকরণ মডেল যা তার রানটাইম দক্ষতার পাশাপাশি সনাক্তকরণের নির্ভুলতার জন্য পরিচিত। এই পোস্টে, আমরা দেখিয়েছি কিভাবে SageMaker এন্ডপয়েন্টে একটি প্রাক-প্রশিক্ষিত YOLOv5 মডেল হোস্ট করা যায় এবং ব্যবহার করা যায় এডাব্লুএস ল্যাম্বদা ফাংশন এই শেষ পয়েন্ট আহ্বান করতে.
সমাধান ওভারভিউ
নিম্নলিখিত চিত্রটি SageMaker এন্ডপয়েন্ট ব্যবহার করে YOLOv5 মডেল হোস্ট করতে ব্যবহৃত AWS পরিষেবাগুলির রূপরেখা দেয় এবং Lambda ব্যবহার করে এন্ডপয়েন্ট চালু করে৷ SageMaker নোটবুক একটি থেকে একটি YOLOv5 PyTorch মডেল অ্যাক্সেস করে৷ আমাজন সিম্পল স্টোরেজ সার্ভিস (Amazon S3) বালতি, এটিকে YOLOv5 টেনসরফ্লোতে রূপান্তর করে SavedModel
বিন্যাস করে, এবং এটিকে S3 বালতিতে ফিরিয়ে দেয়। শেষ পয়েন্ট হোস্ট করার সময় এই মডেলটি ব্যবহার করা হয়। যখন একটি ছবি Amazon S3 এ আপলোড করা হয়, তখন এটি Lambda ফাংশন চালানোর জন্য একটি ট্রিগার হিসাবে কাজ করে। ফাংশনটি OpenCV ব্যবহার করে ল্যাম্বডা স্তর আপলোড করা ছবি পড়তে এবং শেষ পয়েন্ট ব্যবহার করে অনুমান চালাতে। অনুমান চালানোর পরে, আপনি প্রয়োজন অনুযায়ী এটি থেকে প্রাপ্ত ফলাফল ব্যবহার করতে পারেন।
এই পোস্টে, আমরা পাইটর্চে একটি YOLOv5 ডিফল্ট মডেল ব্যবহার করার এবং এটিকে টেনসরফ্লোতে রূপান্তর করার প্রক্রিয়ার মধ্য দিয়ে চলেছি। SavedModel
. এই মডেলটি সেজমেকার এন্ডপয়েন্ট ব্যবহার করে হোস্ট করা হয়েছে। তারপরে আমরা একটি Lambda ফাংশন তৈরি এবং প্রকাশ করি যা অনুমান চালানোর জন্য শেষ বিন্দুকে আহ্বান করে। প্রাক-প্রশিক্ষিত YOLOv5 মডেল পাওয়া যায় GitHub. এই পোস্টের উদ্দেশ্যে, আমরা ব্যবহার করি yolov5l মডেল.
পূর্বশর্ত
একটি পূর্বশর্ত হিসাবে, আমাদের নিম্নলিখিত সেট আপ করতে হবে এডাব্লুএস আইডেন্টিটি এবং অ্যাক্সেস ম্যানেজমেন্ট (IAM) উপযুক্ত ভূমিকা অ্যাক্সেস নীতি SageMaker, Lambda, এবং Amazon S3 এর জন্য:
- SageMaker IAM ভূমিকা - এই প্রয়োজন
AmazonS3FullAccess
S3 বালতিতে মডেলটি সংরক্ষণ এবং অ্যাক্সেস করার জন্য নীতিগুলি সংযুক্ত৷ - Lambda IAM ভূমিকা - এই ভূমিকার একাধিক নীতি প্রয়োজন:
- Amazon S3 তে সংরক্ষিত ছবিগুলি অ্যাক্সেস করতে, আমাদের নিম্নলিখিত IAM নীতিগুলির প্রয়োজন:
s3:GetObject
s3:ListBucket
- SageMaker এন্ডপয়েন্ট চালানোর জন্য, আমাদের নিম্নলিখিত IAM নীতিগুলিতে অ্যাক্সেস প্রয়োজন:
sagemaker:ListEndpoints
sagemaker:DescribeEndpoint
sagemaker:InvokeEndpoint
sagemaker:InvokeEndpointAsync
- Amazon S3 তে সংরক্ষিত ছবিগুলি অ্যাক্সেস করতে, আমাদের নিম্নলিখিত IAM নীতিগুলির প্রয়োজন:
এছাড়াও আপনার নিম্নলিখিত সংস্থান এবং পরিষেবাগুলির প্রয়োজন:
- সার্জারির এডাব্লুএস কমান্ড লাইন ইন্টারফেস (AWS CLI), যা আমরা Lambda তৈরি এবং কনফিগার করতে ব্যবহার করি।
- একটি সেজমেকার নোটবুকের উদাহরণ। এগুলি আগে থেকে ইনস্টল করা ডকারের সাথে আসে এবং আমরা ল্যাম্বডা স্তরগুলি তৈরি করতে এটি ব্যবহার করি। নোটবুক ইনস্ট্যান্স সেট আপ করতে, নিম্নলিখিত পদক্ষেপগুলি সম্পূর্ণ করুন:
- SageMaker কনসোলে, একটি নোটবুকের উদাহরণ তৈরি করুন এবং নোটবুকের নাম, উদাহরণের ধরন (এই পোস্টের জন্য, আমরা ml.c5.large ব্যবহার করি), IAM ভূমিকা এবং অন্যান্য পরামিতিগুলি প্রদান করুন৷
- ক্লোন করুন পাবলিক ভান্ডার এবং যোগ করুন YOLOv5 সংগ্রহস্থল Ultralytics দ্বারা প্রদান করা হয়.
একটি SageMaker এন্ডপয়েন্টে YOLOv5 হোস্ট করুন
SageMaker-এ আমরা পূর্ব-প্রশিক্ষিত YOLOv5 মডেলটি হোস্ট করার আগে, আমাদের অবশ্যই রপ্তানি করতে হবে এবং ভিতরে সঠিক ডিরেক্টরি কাঠামোতে প্যাকেজ করতে হবে। model.tar.gz
. এই পোস্টের জন্য, আমরা প্রদর্শন করি কিভাবে YOLOv5 হোস্ট করতে হয় saved_model
বিন্যাস YOLOv5 রেপো একটি প্রদান করে export.py
ফাইল যা মডেলটিকে বিভিন্ন উপায়ে রপ্তানি করতে পারে। আপনি YOLOv5 ক্লোন করার পরে এবং কমান্ড লাইন থেকে YOLOv5 ডিরেক্টরি প্রবেশ করান, আপনি নিম্নলিখিত কমান্ডের সাহায্যে মডেলটি রপ্তানি করতে পারেন:
$ cd yolov5
$ pip install -r requirements.txt tensorflow-cpu
$ python export.py --weights yolov5l.pt --include saved_model --nms
এই কমান্ডটি নামে একটি নতুন ডিরেক্টরি তৈরি করে yolov5l_saved_model
ভিতরে yolov5
ডিরেক্টরি ভিতরে yolov5l_saved_model
ডিরেক্টরি, আমাদের নিম্নলিখিত আইটেমগুলি দেখতে হবে:
একটি তৈরি করতে model.tar.gz
ফাইল, এর বিষয়বস্তু সরান yolov5l_saved_model
থেকে export/Servo/1
. কমান্ড লাইন থেকে, আমরা কম্প্রেস করতে পারি export
নিম্নলিখিত কমান্ডটি চালানোর মাধ্যমে ডিরেক্টরিটি S3 বালতিতে মডেল আপলোড করুন:
$ mkdir export && mkdir export/Servo
$ mv yolov5l_saved_model export/Servo/1
$ tar -czvf model.tar.gz export/
$ aws s3 cp model.tar.gz "<s3://BUCKET/PATH/model.tar.gz>"
তারপরে, আমরা নিম্নলিখিত কোডটি চালিয়ে একটি সেজমেকার নোটবুক থেকে একটি সেজমেকার এন্ডপয়েন্ট স্থাপন করতে পারি:
import os
import tensorflow as tf
from tensorflow.keras import backend
from sagemaker.tensorflow import TensorFlowModel
model_data = '<s3://BUCKET/PATH/model.tar.gz>'
role = '<IAM ROLE>'
model = TensorFlowModel(model_data=model_data,
framework_version='2.8', role=role)
INSTANCE_TYPE = 'ml.m5.xlarge'
ENDPOINT_NAME = 'yolov5l-demo'
predictor = model.deploy(initial_instance_count=1,
instance_type=INSTANCE_TYPE,
endpoint_name=ENDPOINT_NAME)
মডেলটিকে সেজমেকার এন্ডপয়েন্টে সম্পূর্ণরূপে স্থাপন করতে পূর্ববর্তী স্ক্রিপ্টটি প্রায় 2-3 মিনিট সময় নেয়। আপনি সেজমেকার কনসোলে স্থাপনার স্থিতি নিরীক্ষণ করতে পারেন। মডেলটি সফলভাবে হোস্ট করার পরে, মডেলটি অনুমানের জন্য প্রস্তুত।
সেজমেকার এন্ডপয়েন্ট পরীক্ষা করুন
মডেলটি সফলভাবে সেজমেকার এন্ডপয়েন্টে হোস্ট করার পরে, আমরা এটি পরীক্ষা করতে পারি, যা আমরা একটি ফাঁকা চিত্র ব্যবহার করে করি। পরীক্ষার কোড নিম্নরূপ:
import numpy as np
ENDPOINT_NAME = 'yolov5l-demo'
modelHeight, modelWidth = 640, 640
blank_image = np.zeros((modelHeight,modelWidth,3), np.uint8)
data = np.array(resized_image.astype(np.float32)/255.)
payload = json.dumps([data.tolist()])
response = runtime.invoke_endpoint(EndpointName=ENDPOINT_NAME,
ContentType='application/json',
Body=payload)
result = json.loads(response['Body'].read().decode())
print('Results: ', result)
স্তর এবং ট্রিগার সহ Lambda সেট আপ করুন
আমরা একটি ইমেজ পাস করে এবং অনুমান ফলাফল পেয়ে মডেলটি প্রদর্শন করতে OpenCV ব্যবহার করি। Lambda বহিরাগত লাইব্রেরির সাথে আসে না যেমন OpenCV প্রি-বিল্ট, তাই ল্যাম্বডা কোড ব্যবহার করার আগে আমাদের এটি তৈরি করতে হবে। উপরন্তু, আমরা নিশ্চিত করতে চাই যে প্রতিবার ল্যাম্বডাকে আহ্বান করার সময় আমরা OpenCV-এর মতো বাহ্যিক লাইব্রেরি তৈরি না করি। এই উদ্দেশ্যে, Lambda Lambda স্তর তৈরি করার জন্য একটি কার্যকারিতা প্রদান করে। এই স্তরগুলিতে কী যায় তা আমরা সংজ্ঞায়িত করতে পারি, এবং প্রতিবার যখন এটি আহ্বান করা হয় তখন ল্যাম্বডা কোড দ্বারা সেগুলি গ্রহণ করা যেতে পারে। আমরা ওপেনসিভি-র জন্য ল্যাম্বডা স্তরগুলি কীভাবে তৈরি করতে হয় তাও প্রদর্শন করি। এই পোস্টের জন্য, আমরা একটি ব্যবহার করি অ্যামাজন ইলাস্টিক কম্পিউট ক্লাউড (Amazon EC2) উদাহরণ লেয়ার তৈরি করতে।
আমাদের জায়গায় স্তর থাকার পরে, আমরা তৈরি করি app.py
স্ক্রিপ্ট, যা ল্যাম্বডা কোড যা স্তরগুলি ব্যবহার করে, অনুমান চালায় এবং ফলাফল পায়। নিম্নলিখিত চিত্রটি এই কর্মপ্রবাহকে চিত্রিত করে।
ডকার ব্যবহার করে OpenCV-এর জন্য Lambda স্তর তৈরি করুন
পাইথন 3.7 ব্যবহার করে ডকার ইমেজ তৈরি করতে নিম্নরূপ ডকারফাইল ব্যবহার করুন:
FROM amazonlinux
RUN yum update -y
RUN yum install gcc openssl-devel bzip2-devel libffi-devel wget tar gzip zip make -y
# Install Python 3.7
WORKDIR /
RUN wget https://www.python.org/ftp/python/3.7.12/Python-3.7.12.tgz
RUN tar -xzvf Python-3.7.12.tgz
WORKDIR /Python-3.7.12
RUN ./configure --enable-optimizations
RUN make altinstall
# Install Python packages
RUN mkdir /packages
RUN echo "opencv-python" >> /packages/requirements.txt
RUN mkdir -p /packages/opencv-python-3.7/python/lib/python3.7/site-packages
RUN pip3.7 install -r /packages/requirements.txt -t /packages/opencv-python-3.7/python/lib/python3.7/site-packages
# Create zip files for Lambda Layer deployment
WORKDIR /packages/opencv-python-3.7/
RUN zip -r9 /packages/cv2-python37.zip .
WORKDIR /packages/
RUN rm -rf /packages/opencv-python-3.7/
ডকার তৈরি করুন এবং চালান এবং আউটপুট জিপ ফাইলটি বর্তমান ডিরেক্টরির অধীনে সংরক্ষণ করুন layers
:
$ docker build --tag aws-lambda-layers:latest <PATH/TO/Dockerfile>
$ docker run -rm -it -v $(pwd):/layers aws-lambda-layers cp /packages/cv2-python37.zip /layers
এখন আমরা OpenCV লেয়ার আর্টিফ্যাক্টগুলি Amazon S3 এ আপলোড করতে পারি এবং Lambda লেয়ার তৈরি করতে পারি:
$ aws s3 cp layers/cv2-python37.zip s3://<BUCKET>/<PATH/TO/STORE/ARTIFACTS>
$ aws lambda publish-layer-version --layer-name cv2 --description "Open CV" --content S3Bucket=<BUCKET>,S3Key=<PATH/TO/STORE/ARTIFACTS>/cv2-python37.zip --compatible-runtimes python3.7
পূর্ববর্তী কমান্ডগুলি সফলভাবে চালানোর পরে, আপনার ল্যাম্বডাতে একটি OpenCV স্তর রয়েছে, যা আপনি Lambda কনসোলে পর্যালোচনা করতে পারেন।
ল্যাম্বডা ফাংশন তৈরি করুন
আমরা ব্যবহার app.py
Lambda ফাংশন তৈরি করতে এবং OpenCV ব্যবহার করার জন্য স্ক্রিপ্ট। নিম্নলিখিত কোডে, এর মান পরিবর্তন করুন BUCKET_NAME
এবং IMAGE_LOCATION
ছবিটি অ্যাক্সেস করার জন্য অবস্থানে:
import os, logging, json, time, urllib.parse
import boto3, botocore
import numpy as np, cv2
logger = logging.getLogger()
logger.setLevel(logging.INFO)
client = boto3.client('lambda')
# S3 BUCKETS DETAILS
s3 = boto3.resource('s3')
BUCKET_NAME = "<NAME OF S3 BUCKET FOR INPUT IMAGE>"
IMAGE_LOCATION = "<S3 PATH TO IMAGE>/image.png"
# INFERENCE ENDPOINT DETAILS
ENDPOINT_NAME = 'yolov5l-demo'
config = botocore.config.Config(read_timeout=80)
runtime = boto3.client('runtime.sagemaker', config=config)
modelHeight, modelWidth = 640, 640
# RUNNING LAMBDA
def lambda_handler(event, context):
key = urllib.parse.unquote_plus(event['Records'][0]['s3']['object']['key'], encoding='utf-8')
# INPUTS - Download Image file from S3 to Lambda /tmp/
input_imagename = key.split('/')[-1]
logger.info(f'Input Imagename: {input_imagename}')
s3.Bucket(BUCKET_NAME).download_file(IMAGE_LOCATION + '/' + input_imagename, '/tmp/' + input_imagename)
# INFERENCE - Invoke the SageMaker Inference Endpoint
logger.info(f'Starting Inference ... ')
orig_image = cv2.imread('/tmp/' + input_imagename)
if orig_image is not None:
start_time_iter = time.time()
# pre-processing input image
image = cv2.resize(orig_image.copy(), (modelWidth, modelHeight), interpolation = cv2.INTER_AREA)
data = np.array(image.astype(np.float32)/255.)
payload = json.dumps([data.tolist()])
# run inference
response = runtime.invoke_endpoint(EndpointName=ENDPOINT_NAME, ContentType='application/json', Body=payload)
# get the output results
result = json.loads(response['Body'].read().decode())
end_time_iter = time.time()
# get the total time taken for inference
inference_time = round((end_time_iter - start_time_iter)*100)/100
logger.info(f'Inference Completed ... ')
# OUTPUTS - Using the output to utilize in other services downstream
return {
"statusCode": 200,
"body": json.dumps({
"message": "Inference Time:// " + str(inference_time) + " seconds.",
"results": result
}),
}
নিম্নলিখিত কোড সহ Lambda ফাংশন স্থাপন করুন:
$ zip app.zip app.py
$ aws s3 cp app.zip s3://<BUCKET>/<PATH/TO/STORE/FUNCTION>
$ aws lambda create-function --function-name yolov5-lambda --handler app.lambda_handler --region us-east-1 --runtime python3.7 --environment "Variables={BUCKET_NAME=$BUCKET_NAME,S3_KEY=$S3_KEY}" --code S3Bucket=<BUCKET>,S3Key="<PATH/TO/STORE/FUNCTION/app.zip>"
Lambda ফাংশনে OpenCV স্তর সংযুক্ত করুন
আমাদের Lambda ফাংশন এবং স্তরটি জায়গায় থাকার পরে, আমরা নিম্নরূপ ফাংশনের সাথে স্তরটিকে সংযুক্ত করতে পারি:
$ aws lambda update-function-configuration --function-name yolov5-lambda --layers cv2
আমরা Lambda কনসোলের মাধ্যমে স্তর সেটিংস পর্যালোচনা করতে পারি।
Amazon S3 এ একটি ছবি আপলোড করা হলে Lambda ট্রিগার করুন
আমরা Lambda ফাংশন চালানোর জন্য একটি ট্রিগার হিসাবে Amazon S3 এ একটি ছবি আপলোড ব্যবহার করি। নির্দেশাবলীর জন্য, পড়ুন টিউটোরিয়াল: একটি Lambda ফাংশন আহ্বান করতে একটি Amazon S3 ট্রিগার ব্যবহার করে.
আপনি Lambda কনসোলে নিম্নলিখিত ফাংশন বিবরণ দেখতে হবে.
অনুমান চালান
আপনি Lambda এবং SageMaker এন্ডপয়েন্ট সেট আপ করার পরে, আপনি Lambda ফাংশন আহ্বান করে আউটপুট পরীক্ষা করতে পারেন। আমরা ল্যাম্বডাকে আহ্বান করার জন্য একটি ট্রিগার হিসাবে Amazon S3 এ একটি চিত্র আপলোড ব্যবহার করি, যা ফলস্বরূপ অনুমানের জন্য শেষ বিন্দুকে আহ্বান করে। একটি উদাহরণ হিসাবে, আমরা Amazon S3 অবস্থানে নিম্নলিখিত চিত্রটি আপলোড করি <S3 PATH TO IMAGE>/test_image.png
পূর্ববর্তী বিভাগে কনফিগার করা হয়েছে।
ইমেজ আপলোড হওয়ার পর, Lambda ফাংশনটি ইমেজ ডেটা ডাউনলোড ও পড়ার জন্য ট্রিগার করা হয় এবং অনুমানের জন্য SageMaker এন্ডপয়েন্টে পাঠায়। SageMaker এন্ডপয়েন্ট থেকে আউটপুট ফলাফল JSON ফরম্যাটে ফাংশন দ্বারা প্রাপ্ত এবং ফেরত দেওয়া হয়, যা আমরা বিভিন্ন উপায়ে ব্যবহার করতে পারি। নিম্নলিখিত চিত্রটি চিত্রের উপর ওভারলে করা উদাহরণ আউটপুট দেখায়।
পরিষ্কার কর
উদাহরণের প্রকারের উপর নির্ভর করে, সেজমেকার নোটবুকের জন্য উল্লেখযোগ্য গণনা ব্যবহার এবং খরচ প্রয়োজন হতে পারে। অপ্রয়োজনীয় খরচ এড়াতে, আমরা নোটবুক ব্যবহার বন্ধ করার পরামর্শ দিই। উপরন্তু, Lambda ফাংশন এবং SageMaker এন্ডপয়েন্ট শুধুমাত্র যখন তাদের আহ্বান করা হয় তখনই চার্জ লাগে। অতএব, এই পরিষেবাগুলির জন্য কোনও পরিষ্কারের প্রয়োজন নেই। যাইহোক, যদি একটি এন্ডপয়েন্ট আর ব্যবহার করা না হয়, তাহলে এন্ডপয়েন্ট এবং মডেলটি অপসারণ করা ভালো অনুশীলন।
উপসংহার
এই পোস্টে, আমরা দেখিয়েছি কিভাবে একটি SageMaker এন্ডপয়েন্টে একটি প্রাক-প্রশিক্ষিত YOLOv5 মডেল হোস্ট করতে হয় এবং অনুমান এবং আউটপুট প্রক্রিয়া করার জন্য Lambda ব্যবহার করতে হয়। বিস্তারিত কোড পাওয়া যায় GitHub.
সেজমেকার এন্ডপয়েন্ট সম্পর্কে আরও জানতে, চেক আউট করুন আপনার এন্ডপয়েন্ট তৈরি করুন এবং আপনার মডেল স্থাপন করুন এবং AWS Lambda-তে আপনার Amazon SageMaker ইনফারেন্স মডেলগুলি তৈরি করুন, পরীক্ষা করুন এবং স্থাপন করুন, যা হাইলাইট করে কিভাবে আপনি YOLOv5 মডেল স্থাপনের প্রক্রিয়া স্বয়ংক্রিয় করতে পারেন।
লেখক সম্পর্কে
কেভিন গান AWS প্রফেশনাল সার্ভিসে একজন IoT Edge ডেটা সায়েন্টিস্ট। কেভিন শিকাগো বিশ্ববিদ্যালয় থেকে বায়োফিজিক্সে পিএইচডি করেছেন। কম্পিউটার ভিশন এবং মেশিন লার্নিং-এ তার 4 বছরের বেশি শিল্প অভিজ্ঞতা রয়েছে। তিনি ক্রীড়া এবং জীবন বিজ্ঞান শিল্পে গ্রাহকদের মেশিন লার্নিং মডেল স্থাপনে সহায়তা করার সাথে জড়িত।
রোমিল শাহ AWS প্রফেশনাল সার্ভিসে একজন IoT Edge ডেটা সায়েন্টিস্ট। কম্পিউটার ভিশন, মেশিন লার্নিং এবং আইওটি এজ ডিভাইসগুলিতে রোমিলের 6 বছরের বেশি শিল্প অভিজ্ঞতা রয়েছে। তিনি শিল্প সেটআপের জন্য প্রান্ত ডিভাইসগুলির জন্য গ্রাহকদের তাদের মেশিন লার্নিং মডেলগুলি অপ্টিমাইজ করতে এবং স্থাপন করতে সহায়তা করার সাথে জড়িত৷
- উন্নত (300)
- AI
- ai শিল্প
- এআই আর্ট জেনারেটর
- আইআই রোবট
- আমাজন সেজমেকার
- কৃত্রিম বুদ্ধিমত্তা
- কৃত্রিম বুদ্ধিমত্তা সার্টিফিকেশন
- ব্যাংকিং এ কৃত্রিম বুদ্ধিমত্তা
- কৃত্রিম বুদ্ধিমত্তার রোবট
- কৃত্রিম বুদ্ধিমত্তার রোবট
- কৃত্রিম বুদ্ধিমত্তা সফ্টওয়্যার
- এডাব্লুএস ল্যাম্বদা
- এডাব্লুএস মেশিন লার্নিং
- blockchain
- ব্লকচেইন সম্মেলন এআই
- coingenius
- গনা
- কথোপকথন কৃত্রিম বুদ্ধিমত্তা
- ক্রিপ্টো সম্মেলন এআই
- ডাল-ই
- গভীর জ্ঞানার্জন
- গুগল আই
- মেশিন লার্নিং
- বস্তু সনাক্তকরণ
- Plato
- প্লেটো এআই
- প্লেটো ডেটা ইন্টেলিজেন্স
- প্লেটো গেম
- প্লেটোডাটা
- প্লেটোগেমিং
- স্কেল ai
- বাক্য গঠন
- টেকনিক্যাল হাউ-টু
- zephyrnet