*یقیناً مشین لرننگ سیکھنے کی خاطر۔ اپنی محبوب بیوی کی قدرے غیر مطمئن نظروں کے نیچے۔
ریڑھ کی ہڈی کے اضطراب کی سطح پر ٹنڈر کی طرح شاید کوئی آسان اطلاق نہیں ہے۔ اسے استعمال کرنے کے لیے، آپ کو سوائپ کرنے کے لیے صرف ایک انگلی اور چند نیوران کی ضرورت ہے تاکہ آپ اپنی پسند کی لڑکیوں یا مردوں کا انتخاب کریں۔ جوڑے کے انتخاب میں بروٹ فورس کا ایک مثالی نفاذ۔
میں نے فیصلہ کیا کہ نئے گرافکس کارڈ پر مشین لرننگ کا تھوڑا سا احساس حاصل کرنے کا یہ ایک اچھا طریقہ ہوگا۔ بس میری بیوی کو یہ سمجھانا باقی ہے کہ مجھے کسی نئی موٹی عورت کی ضرورت نہیں ہے، اور میں صرف نیورل نیٹ ورکس کی تربیت کر رہا ہوں۔
ڈیٹنگ نیٹ ورکس میں کیا مسئلہ ہے؟
اس طرح کا ایک وسیلہ تھا - ایشلے میڈیسن۔ مخصوص، نعرے کے ساتھ "زندگی مختصر ہے۔ افیئر کرو۔" مرکزی سامعین شادی شدہ مرد ہیں جو سائیڈ پر افیئر کی تلاش میں ہیں۔ منیٹائزیشن بھی تفریحی ہے - معیاری "پسند پوائنٹس لائک اور لکھنے" کے علاوہ، انہوں نے بغیر کسی ٹریس کے صارف کا اکاؤنٹ حذف کرنے کے لیے $19 کا مطالبہ کیا۔
2015 میں، سائٹ قدرتی طور پر لیک ہو گئی اور 60 جی بی کا ذاتی ڈیٹا پبلک ڈومین میں لیک ہو گیا۔ بہت سے تباہ شدہ خاندانوں کے علاوہ، اس لیک نے تجزیہ کاروں کو بہت سی دلچسپ معلومات فراہم کیں۔ مجھے ہمیشہ شبہ تھا کہ ڈیٹنگ سائٹس پر بہت زیادہ مرد موجود ہیں، لیکن اس معاملے میں یہ کافی دلچسپ نکلا۔ صحافی اینالی نیوٹز
مردوں کے اکاؤنٹس کی طرف اس طرح کی پیشرفت نہ صرف اس وسیلہ کے لیے، بلکہ زیادہ تر دیگر ڈیٹنگ سائٹس کے لیے بھی عام ہے۔ مجھے یقین ہے کہ بہت سے لوگوں کو اس بلاشبہ غیر منصفانہ صورتحال کا سامنا کرنا پڑا ہے، جب آپ کو احتیاط سے ایک جاننے والے کی منصوبہ بندی کرنی ہوگی، لیکن لڑکی کو صرف رجسٹر کرنے کی ضرورت ہے۔ شائقین کے اس ہجوم کے معیار کو ایک طرف چھوڑیں، لیکن یہ حقیقت ناقابل تردید ہے کہ طلب اور رسد کا توازن واضح طور پر لڑکیوں کے حق میں بدل گیا ہے۔
ٹنڈر کی خصوصیت
صنفی تعلقات میں مثالی وحشی قوت
اس پلیٹ فارم کی اہم خصوصیت فی واقف کار کم قیمت ہے۔ دو سوائپز کا اتفاق کافی ہے اور آپ پہلے ہی ممکنہ طور پر دلچسپ شخص کے ساتھ بات چیت کر رہے ہیں۔ مسئلہ یہ ہے کہ ایک ہی صنفی عدم توازن اس حقیقت کی طرف جاتا ہے کہ زیادہ تر لڑکیوں کے روزانہ درجنوں میچ ہوتے ہیں۔ اس کا مطلب یہ ہے کہ ان کے پاس دوسرے امیدواروں کے درمیان آپ پر توجہ دینے کا زیادہ وقت نہیں ہوگا۔
یہ بالکل واضح ہے کہ یہ پلیٹ فارم سوئمنگ سوٹ یا فیشن ایبل رنگین کار چلاتے ہوئے کسی تصویر پر ڈیڑھ سیکنڈ کی نظر سے کسی شخص کی گہری اندرونی دنیا کا اندازہ لگانے کا بہت کم موقع فراہم کرتا ہے۔ لہذا، اگر آپ اپنی تصویروں میں صرف الہی نظر نہیں آتے ہیں، تو آپ کو اپنانے سے اپنے امکانات کو بڑھانے کے علاوہ کوئی چارہ نہیں ہے
ڈیٹا اکٹھا کرنا
سب سے پہلے، آپ کو عام درستگی کے لیے بہت سارے ڈیٹا کی ضرورت ہے۔ کوئی بھی جس نے مشین لرننگ کا سامنا کیا ہے وہ جانتا ہے کہ درست طریقے سے جمع اور لیبل لگا ڈیٹاسیٹ تیار کرنا کتنا مشکل ہو سکتا ہے۔ نظریاتی طور پر، اسی طرح کا کوئی بھی وسیلہ ڈیٹا سورس کے طور پر موزوں ہوگا، چاہے وہ انسٹاگرام ہو یا دیگر سوشل نیٹ ورک۔ لیکن یہ بہتر ہے کہ ان نمونوں پر تربیت دی جائے جن پر نیٹ ورک مستقبل میں کام کرے گا۔
آئیے ذخیرے کو ایک بنیاد کے طور پر لیتے ہیں۔
from skimage.io import imread, imsave, imshow, show
import matplotlib.pyplot as plt
import pynder
from helpers import get_access_token, get_login_credentials
from io_helper import save_image
email, password, FBID = get_login_credentials()
FBTOKEN = get_access_token(email, password)
session = pynder.Session(facebook_token=FBTOKEN)
while True:
users = session.nearby_users()
for user in users:
photos = user.get_photos()
print("Fetched user photos..")
for photo in photos:
print(photo)
image = imread(photo)
imshow(image)
show()
input_string = "Write 1 to like. Write 2 to dislike."
ans = str(input(input_string)).lower()
if ans == "1":
save_image(image, photo, True)
else:
save_image(image, photo, False)
یہ آپ کو صرف دو بٹنوں کے ساتھ ڈیٹاسیٹ کو جلد از جلد مارک اپ کرنے کی اجازت دے گا۔ اہم خرابی اس حقیقت میں پنہاں ہے کہ werkzeug لائبریری نے پسماندہ مطابقت کو توڑ دیا ہے اور اسے نیچے گریڈ کرنے پر مجبور ہونا پڑے گا۔ بصورت دیگر یہ اس غلطی کو پھینک دیتا ہے۔
Traceback (most recent call last):
File "img_scrape.py", line 4, in <module>
from helpers import get_access_token, get_login_credentials
File "/home/someone/tmp/TinderAutomation/helpers.py", line 1, in <module>
import robobrowser
File "/home/someone/tmp/TinderAutomation/venv/lib/python3.6/site-packages/robobrowser/__init__.py", line 3, in <module>
from .browser import RoboBrowser
File "/home/someone/tmp/TinderAutomation/venv/lib/python3.6/site-packages/robobrowser/browser.py", line 8, in <module>
from werkzeug import cached_property
ImportError: cannot import name 'cached_property'
لہذا، requirements.txt میں آپ کو Werkzeug==0.16.1 لکھنا ہوگا۔ پھر اتارے گا۔
دوسرا مسئلہ یہ بہت ٹوکن حاصل کرنا ہے۔ ریپوزٹری سے معیاری طریقہ میرے لئے کام نہیں کرتا تھا، لیکن میں اسے ڈویلپر کنسول سے حاصل کرنے میں کامیاب ہوگیا۔ ایسا کرنے کے لیے، پر جائیں۔
ڈیٹا سیٹ کی ضروریات
مشین لرننگ ڈیٹاسیٹس کے لیے کئی کلیدی تقاضے ہیں:
- مناسبیت
- یکسانیت
- مختلف قسم
اس معاملے میں مناسب ماڈل بنانے کے لیے کم از کم 10000 تصاویر کی ضرورت ہوتی ہے۔ ہاں، یہ بہت ہے۔ یہی وجہ ہے کہ خدمات پسند ہیں۔
مختلف قسم کے ساتھ کوئی خاص مسئلہ نہیں ہے؛ تمام تصاویر مختلف زاویوں اور روشنی سے پیش کی جاتی ہیں. شیشے، کپڑے، سوئمنگ سوٹ اور سکی سوٹ میں۔ ڈیٹا سیٹ کی یکسانیت کے ساتھ ایک مسئلہ پیدا ہو سکتا ہے۔ مثالی طور پر، جب ہم اپنے نمونے پر لیبل لگاتے ہیں، تو یہ تقریباً برابر حصوں پر مشتمل ہونا چاہیے۔ اگر آپ کے پاس ایک "ترچھا" ڈیٹاسیٹ ہے، تو آپ کو اسے دوسرے ذرائع سے حاصل کردہ تصاویر کے ساتھ کمزور کرنا پڑے گا۔ آپ کو مزید پرکشش کو شامل کرنے کی ضرورت ہوگی، یا اس کے برعکس، آپ مارک اپ کے نتائج کی بنیاد پر ان کا تعین کریں گے۔ مجھے تقریباً 60 فیصد خوبصورت چیز ملی۔ یا تو میں زیادہ چنچل نہیں ہوں، یا میں خوش قسمت ہوں اور آس پاس بہت سی خوبصورت لڑکیاں ہیں۔
میں اس مفروضے کو بھی رد نہیں کرتا ہوں کہ ان میں بہت سارے بوٹس ہیں۔ ہم ایک بوٹ کو تربیت دیتے ہیں جو دوسرے بوٹس کو پسند کرے گا۔ اس میں کچھ ستم ظریفی ہے۔
ڈیٹا پراسیسنگ
ہمارے پاس ٹیگ کردہ تصاویر کا ایک گروپ ہے، لیکن وہ بہت مخلوط ہیں۔ دن کے وقت، رات کے وقت، پیچھے سے اور دیگر۔ افسوس کے ساتھ، میں سمجھتا ہوں کہ تصویروں کو الٹے زاویے سے پڑھانا خاص طور پر موثر نہیں ہوگا، کیونکہ نمونہ بہت ناہموار ہوگا۔ لہذا، بہترین آپشن یہ ہوگا کہ چہروں کو "خوبصورتی" کی علامت کے طور پر استعمال کیا جائے۔ پھر بھی، ہمارے لیے، جیسا کہ دوسرے پریمیٹ کے لیے، یہ ایک کلیدی پیرامیٹر ہے۔
لہذا، چلو استعمال کرتے ہیں
یہ دستی میں مزید تفصیل سے بیان کیا گیا ہے۔
اگلے مرحلے میں، نمونے میں صرف چہرے آنے کے بعد، رنگ ہٹانا سمجھ میں آتا ہے۔ درحقیقت، آپ کو پنڈورا کی خوبصورت نیلی ڈینیزن یا سبز جلد والی خوبصورتی کے درمیان انتخاب کرنا پڑے گا۔
ہیو لوگوں میں، جلد کا رنگ کشش کی درجہ بندی میں کوئی خاص حصہ نہیں ڈالتا۔
لہذا، یہ نیورل نیٹ ورک کے کام کو آسان بنانے اور صرف گرے اسکیل کو چھوڑنے کے قابل ہے.
ماڈل بلڈنگ
میں ابھی یہ کہنا چاہتا ہوں کہ ایک اچھے ویڈیو کارڈ اور CUDA کے بغیر، آپ کو کافی وقت میں تربیت یافتہ ماڈل نہیں ملے گا۔ لہذا، فوری طور پر مخصوص بادلوں میں یا python-CUDA کا استعمال کرتے ہوئے کیلکولیشن کا مقصد بنائیں۔
میں نے ذخیرے کے مصنف سے ایک بنیادی تین پرت کی مثال لی اور حیرت کی بات یہ ہے کہ اس نے تقریباً 72٪ کی درستگی ظاہر کی، جو کہ کافی اچھا نتیجہ ہے۔
model = Sequential()
model.add(Convolution2D(32, 3, 3, activation='relu', input_shape=(img_size, img_size, 3)))
model.add(MaxPooling2D(pool_size=(2,2)))
model.add(Convolution2D(32, 3, 3, activation='relu'))
model.add(MaxPooling2D(pool_size=(2,2)))
model.add(Convolution2D(64, 3, 3, activation='relu'))
model.add(MaxPooling2D(pool_size=(2,2)))
model.add(Flatten())
model.add(Dense(128, activation='relu'))
model.add(Dropout(0.5))
model.add(Dense(2, activation='softmax'))
adam = optimizers.SGD(lr=1e-4, decay=1e-6, momentum=0.9, nesterov=True)
model.compile(loss='categorical_crossentropy',
optimizer= adam,
metrics=['accuracy'])
اگر ایک اچھا نمونہ ہے، تو یہ ایک قابل عمل ماڈل حاصل کرنے کے لیے کافی ہوسکتا ہے۔
آئیے بوٹ لانچ کریں۔
خیال کو فوری جانچنے کے لیے تیار کردہ آپشن کے لیے مخزن کے مصنف کا شکریہ۔ درحقیقت، یہ بنیادی ورژن میں کافی اچھی طرح سے کام کرتا ہے اور اصولی طور پر، ہمارے پر لانچ کیا جا سکتا ہے۔
نتائج
مجھے لگتا ہے کہ میں بہت پیاری ہوں۔ اور میرے پاس ایک بھرپور اندرونی دنیا ہے۔ مجھے ایک گھنٹے کے اندر 13 میچوں کی طرح کچھ ملا۔ مزید یہ کہ کئی بار لڑکیوں نے پہلے لکھا۔
نتیجے کے طور پر، ہم بہت اچھے مکالموں کے ساتھ ختم ہوئے، جہاں میں نے کہا کہ میں صرف مشین لرننگ اور ڈیٹا لیبلنگ کے ساتھ کھیلنے آیا ہوں۔ لڑکیوں میں سے ایک کو بہت دلچسپی تھی، کیونکہ وہ خود ایک ڈویلپر ہے۔ ایک مضبوط احساس ہے کہ وہ آخر کار اس پوسٹ کو Habré پر پڑھے گی۔ مجھے واقعی امید ہے کہ اوکسانا اپنا نام ظاہر نہ کرے گی۔ 🙂
* ہاتھ لہرا کر ہیلو کہتا ہے۔
معاملے کے اخلاقی پہلو کے بارے میں تھوڑا سا
سچ پوچھیں تو مجھے مردوں اور لڑکیوں کے درمیان تعلقات کو روبوٹائز کرنے کا پورا خیال پسند نہیں ہے۔ اپنی جیکٹ کو ایک سرد اجنبی کے کندھوں پر پھینکنے کے بارے میں کچھ بہت درست ہے جو اکیلا کھڑا ہے۔ یا موسم گرما کے کیفے میں کسی خوبصورت لڑکی سے رجوع کریں اور ایک ساتھ کافی پییں۔ پہلے ہی مانیٹر کے پیچھے سے باہر نکلیں۔
موسم گرما چاروں طرف ہے۔ یہ جاننے کا وقت ہے.
ماخذ: www.habr.com