*Əlbəttə ki, yalnız Maşın Öyrənməsini öyrənmək üçün. Sevimli arvadının bir qədər narazı baxışları altında.
Yəqin ki, onurğa refleksləri səviyyəsinə Tinder qədər sadə bir tətbiq yoxdur. Onu istifadə etmək üçün bir barmaq sürüşdürmək və bir neçə neyronla ən çox bəyəndiyiniz qızları və ya kişiləri seçmək kifayətdir. Bir cüt seçimində kobud gücün ideal tətbiqi.
Düşündüm ki, bu, yeni qrafik kartda maşın öyrənməsindən bir az dad əldə etmək üçün yaxşı bir yoldur. Həyat yoldaşıma yeni qalın qadın lazım olmadığını izah etmək qalır, amma mən sadəcə neyron şəbəkələri öyrədirəm.
Tanışlıq şəbəkələrində problem nədir
Belə bir resurs var idi - Ashley Madison. Konkret olaraq “Həyat qısadır. Münasibətiniz olsun. Əsas tamaşaçı tərəfdə münasibət axtaran evli kişilərdir. Monetizasiya da əyləncəlidir - standart "bəyənmək və yazmaq üçün xal xərcləmək"lə yanaşı, istifadəçinin hesabını izsiz silmək üçün 19 dollar istədilər.
2015-ci ildə sayt təbii olaraq sızdı və 60 GB şəxsi məlumat ictimai sahəyə sızdı. Çoxlu məhv edilmiş ailələrlə yanaşı, bu sızma analitiklərə çoxlu maraqlı məlumatlar verdi. Mən həmişə tanışlıq saytlarında daha çox kişi olduğundan şübhələnirdim, amma bu vəziyyətdə olduqca maraqlı oldu. Annalee Newitz jurnalist
Kişi hesablarına qarşı belə üstünlük təkcə bu resurs üçün deyil, həm də digər tanışlıq saytları üçün xarakterikdir. Əminəm ki, bir çoxları bu şübhəsiz ədalətsiz vəziyyətlə qarşılaşdılar, bir tanışlıq üzərində diqqətlə düşünməli olduğunuz zaman və bir qızın sadəcə qeydiyyatdan keçməsi lazımdır. Bu azarkeş kütləsinin keyfiyyətini bir kənara qoyaq, amma fakt danılmazdır, tələb və təklif balansı açıq şəkildə qızların xeyrinə dəyişib.
Tinder Xüsusiyyəti
Gender münasibətlərində ideal brute-forcer
Bu platformanın əsas xüsusiyyəti hər tanışlıq üçün aşağı qiymətdir. İki sürüşmənin üst-üstə düşməsi kifayətdir və siz artıq potensial maraqlı bir insanla danışırsınız. Problem ondadır ki, eyni cins balanssızlığı əksər qızların gündə onlarla matç keçirməsinə gətirib çıxarır. Bu o deməkdir ki, onların çox güman ki, digər namizədlər arasında sizə diqqət yetirməyə vaxtları olmayacaq.
Tamamilə aydındır ki, platforma mayo paltarında və ya dəbdə olan rəngli avtomobil idarə edən bir fotoşəkilə bir yarım saniyə baxmaqla insanın dərin daxili dünyasını qiymətləndirmək üçün az imkanlar nəzərdə tutur. Buna görə də, fotoşəkillərinizdə sadəcə ilahi görünmürsinizsə, seçiminizi mənimsəməklə şansınızı artırmaqdan başqa çarəniz yoxdur.
Məlumatların toplanması
İlk növbədə, normal dəqiqlik üçün çoxlu məlumat lazımdır. Maşın öyrənməsi ilə məşğul olan hər kəs düzgün yığılmış və etiketlənmiş məlumat dəstini yazmağın nə qədər çətin olduğunu bilir. Nəzəri olaraq, hər hansı oxşar resurs məlumat mənbəyi kimi uyğundur, istər Instagram, istərsə də digər sosial şəbəkələr. Ancaq şəbəkənin gələcəkdə işləyəcəyi nümunələr üzərində məşq etmək yaxşıdır.
Əsas olaraq deponu götürək
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)
Bu, yalnız iki düymə ilə verilənlər bazasını mümkün qədər tez qeyd etməyə imkan verəcəkdir. Əsas tələ ondan ibarətdir ki, werkzeug kitabxanası geriyə uyğunluğu pozub və onu məcburi olaraq endirmək məcburiyyətində qalacaq. Əks halda bu xətanı atır.
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'
Buna görə, werkzeug==0.16.1 tələblər.txt-də yazılmalıdır. Sonra havaya qalxacaq.
İkinci problem bu əlaməti əldə etməkdir. Repozitoriyadan standart üsul mənim üçün işə düşmədi, amma onu inkişaf etdirici konsolundan əldə edə bildim. Bunu etmək üçün gedin
verilənlər bazası tələbləri
Maşın öyrənmə məlumat dəstləri üçün bir neçə əsas tələblər var:
- Adekvatlıq
- Vahidlik
- Variety
Bu vəziyyətdə kafilik adekvat bir model yaratmaq üçün ən azı 10000 fotoşəkil tələb edir. Bəli, bu çoxdur. kimi xidmətlər var buna görə
Çeşidlə bağlı heç bir xüsusi problem yoxdur, bütün fotoşəkillər müxtəlif açılarda və işıqlandırmada təqdim olunur. Eynəklərdə, paltarlarda, mayolarda və xizək kostyumlarında. Problem verilənlər bazasının vahidliyi ilə yarana bilər. İdeal olaraq, nümunəmizi qeyd edərkən, təxminən bərabər hissələrdən ibarət olmalıdır. Əgər "əyri" məlumat dəstiniz varsa, onu digər mənbələrdən fotoşəkillərlə seyreltməli olacaqsınız. Daha gözəl olanları əlavə etmək lazımdır və ya əksinə, işarələmə nəticəsində müəyyən edəcəksiniz. Mən bölgədə 60% şirin bir şey aldım. Ya mən çox seçici deyiləm, ya da şanslıyam və ətrafda çoxlu yaraşıqlı qızlar var.
Onların arasında çoxlu botların olması fərziyyəsini də rədd etmirəm. Digər botları bəyənəcək bir bot hazırlayırıq. Bunda müəyyən ironiya var.
Verilənlərin emalı
Bir çox etiketlənmiş fotoşəkillərimiz var, lakin onlar çox qarışıqdır. Gündüz, gecə, arxadan və başqalarından. Təəssüflə başa düşürəm ki, tərs bucaqdan fotoşəkillər üzərində məşq etmək xüsusilə mümkün deyil, çünki nümunə çox qeyri-bərabər olacaq. Buna görə də, ən yaxşı seçim üzləri "gözəlliyin" istinad əlaməti kimi istifadə etmək olardı. Yenə də bizim üçün, digər primatlar kimi, bu, əsas parametrdir.
Buna görə də istifadə edirik
Bu, üçün təlimatda daha ətraflı təsvir edilmişdir
Növbəti mərhələdə, nümunədə yalnız üzlər olduqdan sonra rəngi silmək məna kəsb edir. Əslində, gözəl bir mavi Pandora qadını və ya yaşıl dərili gözəllik arasında seçim etmək məcburiyyətində qalmağınız ehtimalı azdır.
Hue insanlarda dəri rəngi parametri zəriflik balına əhəmiyyətli dərəcədə kömək etmir.
Buna görə də, neyron şəbəkənin işini sadələşdirməyə və yalnız boz rəngi tərk etməyə dəyər.
Modelin qurulması
Dərhal demək istəyirəm ki, yaxşı bir video kart və CUDA olmadan, çox güman ki, kifayət qədər vaxt çərçivəsində təlim keçmiş bir model əldə edə bilməyəcəksiniz. Buna görə də, dərhal xüsusi buludlarda və ya python-CUDA istifadə edərək hesablamaları hədəfləyin.
Mən anbarın müəllifindən əsas üç qatlı nümunə götürdüm və təəccüblüdür ki, o, təxminən 72% dəqiqlik göstərdi, bu olduqca yaxşı nəticədir.
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'])
Yaxşı bir nümunə varsa, işləyə bilən bir model əldə etmək kifayətdir.
Botun işə salınması
İdeyanı tez sınaqdan keçirmək üçün hazır versiyaya görə deponun müəllifinə təşəkkür edirik. Əslində, o, əsas versiyada olduqca yaxşı işləyir və prinsipcə, bizdə işə salına bilər
Tapıntılar
Mən çox şirin olmalıyam. Mənim isə zəngin daxili dünyam var. Bir saat içində 13 matçda bölgədə bir şey var. Üstəlik, bir neçə dəfə qızlar birinci yazdılar.
Nəticədə, çox gözəl dialoqlar əldə edildi, burada dedim ki, mən yalnız maşın öyrənməsi və məlumat işarələməsi ilə oynamaq üçün gəlmişəm. Qızlardan biri çox maraqlandı, çünki özü də bir tərtibatçıdır. Onun Habré-də bu yazını oxuyacağına dair güclü bir hiss var. Həqiqətən ümid edirəm ki, Oksana mənim anonimliyimi qoruyacaq. 🙂
*pəncəsini yelləyir və salam deyir
Məsələnin etik tərəfi haqqında bir az
Düzünü desəm, kişilərlə qızlar arasında münasibətlərin robotlaşdırılması fikrini heç bəyənmirəm. Gödəkçənizi tək dayanan donmuş bir qəribin çiyninə atmağın çox doğru bir şeyi var. Və ya yay kafesində yaraşıqlı bir qıza yaxınlaşın və birlikdə qəhvə iç. Monitorların arxasından çıxın.
Yay ətrafında. Tanış olmaq vaxtıdır.
Mənbə: www.habr.com