Ungawathatha kanjani amantombazane ayi-13 ngehora usebenzisa ukufunda ngomshini kanye ne-Tinder

*Ngenhloso yokufunda Ukufunda Ngomshini, kunjalo. Ngaphansi kokunganeliseki kancane komkakhe amthandayo.

Cishe asikho isicelo esilula ezingeni le-spinal reflexes njenge-Tinder. Ukuze uyisebenzise, ​​udinga kuphela umunwe owodwa wokuswayipha kanye nama-neurons ambalwa ukuze ukhethe amantombazane noma amadoda owathanda kakhulu. Ukuqaliswa okufanelekile kwamandla anonya ekukhetheni ngababili.

Nginqume ukuthi lokhu kuzoba yindlela enhle yokuthola umuzwa omncane wokufunda komshini ekhadini lemifanekiso elisha. Okusele nje ukuchazela umkami ukuthi angimdingi owesifazane okhuluphele, futhi ngimane ngiqeqesha amanethiwekhi e-neural.

Ungawathatha kanjani amantombazane ayi-13 ngehora usebenzisa ukufunda ngomshini kanye ne-Tinder

Ikuphi inkinga ngamanethiwekhi okuthandana?

Kwakukhona insiza enjalo - u-Ashley Madison. Icacile, enesiqubulo esithi β€œImpilo ifushane. Yiba nobudlelwano." Izithameli ezinkulu ngabesilisa abashadile abafuna ishende eceleni. Ukwenza imali nakho kuyajabulisa - ngaphezu kwesimiso "sokusebenzisa amaphuzu ukuze uwathande futhi uwabhale," bacele u-$19 ukuze basuse i-akhawunti yomsebenzisi ngaphandle kokulandela umkhondo.

Ngo-2015, isayithi laputshuka ngokwemvelo futhi u-60 GB wedatha yomuntu siqu yavuza esizindeni somphakathi. Ngaphezu kwemindeni eminingi ecekeleke phansi, lokhu kuvuza kunikeze ulwazi oluningi oluthokozisayo kubahlaziyi. Bengihlala ngisola ukuthi kunamadoda amaningi kumasayithi wokuphola, kepha kulokhu kube mnandi kakhulu. Intatheli u-Annalee Newitz ukuhlaziya idatha eputshuziwe ithole ukuthi kubasebenzisi abayizigidi ezi-5, yizi-12 kuphela ezazifana nama-akhawunti amantombazane angempela futhi ayesetshenziswa njalo. Abanye babengama-bot nje axoxa nezivakashi zesilisa.

Ukweqisa okunjalo kuma-akhawunti wesilisa akuvamile nje kuphela kule nsiza, kodwa nakwamanye amasayithi amaningi okuphola. Ngiyaqiniseka ukuthi abaningi baye babhekana nalesi simo ngokungangabazeki esingalungile, lapho kufanele uhlele ngokucophelela umuntu omaziyo, kodwa intombazane idinga nje ukubhalisa. Ake sishiye ikhwalithi yalesi sixuku sabalandeli eceleni, kodwa iqiniso alinakuphikwa ukuthi ibhalansi yokuhlinzeka nokufunwa ishintshiwe ngokucacile ngokuvuna amantombazane.

Isici se-Tinder

Ungawathatha kanjani amantombazane ayi-13 ngehora usebenzisa ukufunda ngomshini kanye ne-Tinder
Isihluku esikahle ebudlelwaneni bobulili

Isici esiyinhloko sale platform yizindleko eziphansi umuntu ngamunye omaziyo. Ukuqondana kokuswayipha okubili kwanele futhi usuvele uxhumana nomuntu ongase abe nentshisekelo. Inkinga ukuthi ukungalingani ngokobulili okufanayo kuholela eqinisweni lokuthi amantombazane amaningi azoba nenqwaba yemidlalo ngosuku. Lokhu kusho ukuthi cishe ngeke babe naso isikhathi sokukunaka phakathi kwamanye amakhandidethi.

Kuyacaca ukuthi isiteji sisho ithuba elincane lokuhlola umhlaba wangaphakathi ojulile womuntu kusukela ekubukeni kwesekhondi elilodwa nesigamu esithombeni esigqoke izingubo zokubhukuda noma ukushayela imoto enemibala enemibala. Ngakho-ke, uma ungabheki njengonkulunkulu ezithombeni zakho, awunakukhetha ngaphandle kokwandisa amathuba akho ngokuthatha r-isu kwezinye izinhlobo. Kalula nje, sizophoqa futhi sithathe umthamo ukuze sandise amathuba ethu okuphumelela kokuzalanisa. Njengoba kwesinye isikhathi udinga ukuphazanyiswa ukudla nokulala, futhi ukuswayipha kunqunyelwe, uzokhetha ukuthi i-automation ikhethe amantombazane noma amadoda afaneleka kangcono okuthandayo. Amakhanda abomvu amafushane noma ama-brunette amade - kuphuma kuwe.

Iqoqa idatha

Okokuqala, udinga idatha eningi ukuze uthole ukunemba okuvamile. Noma ubani ohlangabezane nokufunda komshini uyazi ukuthi kungaba nzima kangakanani ukukhiqiza idathasethi eqoqwe kahle neyanelebula. Ngokombono, noma iyiphi insiza efanayo izofaneleka njengomthombo wedatha, kungaba yi-Instagram noma amanye amanethiwekhi omphakathi. Kodwa kungcono ukuqeqesha kulawo masampuli lapho inethiwekhi izosebenza khona esikhathini esizayo.

Ake sithathe inqolobane njengesisekelo I-Tinder Automation. Izithombe ze-Tinder zihlala zitholakala esidlangalaleni, kodwa umsebenzi othi "like" usuvele unomkhawulo. Ngakho-ke, kuyadingeka ukukhipha zonke izinto eziphilayo ngaphakathi kwe-radius futhi uziphawule ngokucophelela. Okokuqala udinga ukusebenzisa iskripthi esilula:

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)

Izokuvumela ukuthi uphawule isethi yedatha ngokushesha ngangokunokwenzeka ngezinkinobho ezimbili nje. Ugibe olubalulekile lusekutheni umtapo wezincwadi we-werkzeug wephule ukuhambisana okusemuva futhi kuzodingeka uphoqeleke ukuthi wehliselwe phansi. Uma kungenjalo iphonsa leli phutha.

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'

Ngakho-ke, ku- requirements.txt udinga ukubhala okuthi Werkzeug==0.16.1. Khona-ke izosuka.
Inkinga yesibili ukuthola lolu uphawu kakhulu. Indlela ejwayelekile evela endaweni yokugcina ayingisebenzelanga, kodwa ngikwazile ukuyithola ku-console yonjiniyela. Ukuze wenze lokhu, yiya ku isixhumanisi bese ukhipha impendulo ku-POST isicelo ku www.facebook.com/v2.6/dialog/oauth/confirm?dpr=1. Ngaphakathi sibheka 'ithokheni_yokufinyelela'. Ngesizathu esithile ayizange isebenze okokuqala, kodwa ngabe sengiyitholile futhi ngayifaka ngekhodi eqinile embhalweni.

Izidingo zesethi yedatha

Kunezidingo ezibalulekile ezimbalwa zedathasethi yokufunda komshini:

  1. Ukwenela
  2. Ukufana
  3. Izinhlobonhlobo

Ukwanela kuleli cala kudinga okungenani izithombe eziyi-10000 ukuze kwakhiwe imodeli eyanele. Yebo, kuningi lokho. Lokhu empeleni kungani amasevisi uthanda I-Amazon Mechanical Turk, lapho ngenkokhelo ungadlulisela khona umaki wedathasethi yakho kwabanye abantu. Ngakolunye uhlangothi, ingabe ufuna ngempela i-bot yakho ithande amantombazane ase-Asia abhekene nenyanga noma amantombazane amahle ngokulinganayo anezimpande zamaNdiya? Noma kunjalo, imodeli kufanele ibonise ukunambitheka kwakho.

Azikho izinkinga ezithile ngokuhlukahluka; zonke izithombe zethulwa ngama-engeli ahlukahlukene nokukhanya. Ezingilazini, izingubo zokugqoka, izingubo zokubhukuda kanye namasudi e-ski. Kungase kuphakame inkinga ngokufana kwedathasethi. Ngokufanelekile, lapho silebula isampula yethu, kufanele ibe nezingxenye ezicishe zilingane. Uma ugcina unedathasethi "ehlanekezelwe", kuzodingeka uyihlambulule ngezithombe ezivela kweminye imithombo. Uzodinga ukungeza ezinye ezikhangayo, noma okuphambene nalokho, uzozinquma ngokusekelwe kumphumela wokumaka. Ngithole okuthile okuhle okungama-60%. Kuphakathi kokuthi angikhethi kakhulu, noma nginenhlanhla futhi maningi amantombazane amahle eduze kwakho.

Futhi angikwehlisi i-hypothesis yokuthi kukhona ama-bots amaningi phakathi kwawo. Siqeqesha i-bot ezothanda amanye ama-bots. Kukhona indida kulokhu.

Ukucubungula idatha

Sinenqwaba yezithombe ezimakiwe, kodwa zixubene kakhulu. Emini, ebusuku, ngemuva nabanye. Ngokuzisola, ngiyaqonda ukuthi ukufundisa ngezithombe ukusuka kwelinye icala ngeke kuphumelele ikakhulukazi, njengoba isampula izobe ingalingani kakhulu. Ngakho-ke, inketho engcono kakhulu kungaba ukusebenzisa ubuso njengophawu lwereferensi "lobuhle." Noma kunjalo, kithi, njengamanye ama-primates, lena ipharamitha eyinhloko.

Ngakho-ke, ake sisebenzise I-Haar cascades. Lena i-algorithm enhle kakhulu ekuvumela ukuthi uthole ubuso ezithombeni ezinephesenti eliphansi lamaphutha amahle angamanga.

Ungawathatha kanjani amantombazane ayi-13 ngehora usebenzisa ukufunda ngomshini kanye ne-Tinder
Lokhu kuchazwe kabanzi kubhukwana I-OpenCV

Esigabeni esilandelayo, ngemva kokuba ubuso kuphela busesampula, kunengqondo ukususa umbala. Eqinisweni, ngeke kudingeke ukhethe phakathi kwe-denizen enhle eluhlaza okwesibhakabhaka ye-Pandora noma ubuhle besikhumba esiluhlaza.

Ungawathatha kanjani amantombazane ayi-13 ngehora usebenzisa ukufunda ngomshini kanye ne-Tinder
Umthombo

Kubantu base-Hue, umbala wesikhumba awenzi umnikelo obalulekile ezilinganisweni zokukhanga.
Ngakho-ke, kufanelekile ukwenza lula umsebenzi wenethiwekhi ye-neural futhi ushiye umbala ompunga kuphela.

Isakhiwo samamodeli

Ngifuna ukusho ngokushesha ukuthi ngaphandle kwekhadi levidiyo elihle kanye ne-CUDA, cishe ngeke uthole imodeli eqeqeshiwe ngesikhathi esanele. Ngakho-ke, ngokushesha uhlose izibalo emafwini akhethekile noma usebenzisa i-python-CUDA.

Ngithathe isibonelo esiyisisekelo sezendlalelo ezintathu kumbhali wenqolobane futhi, ngokumangazayo, sabonisa ukunemba okungaba ngu-72%, okuwumphumela omuhle impela.

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'])

Uma kunesampula enhle, khona-ke kungase kube ngokwanele ukuthola imodeli esebenzayo.

Masiqalise i-bot

Ungawathatha kanjani amantombazane ayi-13 ngehora usebenzisa ukufunda ngomshini kanye ne-Tinder

Sibonga umbhali wenqolobane ngenketho eyenziwe ngomumo yokuhlola umbono ngokushesha. Eqinisweni, isebenza kahle enguqulweni eyisisekelo futhi, empeleni, ingasungulwa kweyethu isiphakeli esiqashiwe esenziwe ngomumo. Ngeke ukwazi ukuqeqesha okwamanje; okwamanje asihlinzeki ngemishini ebonakalayo enokwesekwa kwe-CUDA kwezibalo, kodwa ungakwazi ukusebenzisa okuthile 24/7 ngaphandle kwezinkinga. I-bot ayisindi impela, ngakho-ke kungaba inzuzo enkulu ukuthatha intela ekhokhela izinsiza ezisetshenzisiwe.

Imiphumela

Ungawathatha kanjani amantombazane ayi-13 ngehora usebenzisa ukufunda ngomshini kanye ne-Tinder
Ngicabanga ukuthi ngimuhle kakhulu. Futhi nginomhlaba wangaphakathi ocebile. Ngithole okuthile okufana nemidlalo engu-13 phakathi nehora. Ngaphezu kwalokho, izikhathi eziningana amantombazane abhala kuqala.
Ngenxa yalokho, sigcine sinezingxoxo ezimnandi kakhulu, lapho ngathi ngize ngedwa ukuze ngidlale ngokufunda ngomshini nokulebula idatha. Enye yamantombazane yayinesithakazelo esikhulu, njengoba nayo ingumthuthukisi. Kunomuzwa onamandla wokuthi ekugcineni uzofunda lokhu okuthunyelwe ku-HabrΓ©. Ngethemba ngempela ukuthi u-Oksana uzogcina igama lami lingaziwa. πŸ™‚
*enyakazisa isandla athi sawubona

Okuncane mayelana nohlangothi lwesimilo lwendaba

Uma ngikhuluma iqiniso, angiwuthandi wonke umqondo wokwenza ubudlelwano phakathi kwabesilisa namantombazane. Kukhona okulungile kakhulu ngokuphonsa ibhantshi lakho emahlombe omuntu ongamazi obandayo omi yedwa. Noma sondela intombazane enhle ekhefi yasehlobo niphuze ikhofi ndawonye. Phuma ngemuva kwama-monitor kakade.

Ihlobo lizungezile. Sekuyisikhathi sokujwayelana.

Ungawathatha kanjani amantombazane ayi-13 ngehora usebenzisa ukufunda ngomshini kanye ne-Tinder

Ungawathatha kanjani amantombazane ayi-13 ngehora usebenzisa ukufunda ngomshini kanye ne-Tinder

Source: www.habr.com

Engeza amazwana