Momwe mungatenge atsikana 13 pa ola limodzi pogwiritsa ntchito makina ophunzirira ndi Tinder

* Chifukwa cha kuphunzira Machine Learning, inde. Pansi pa maso osakhutira pang'ono a mkazi wake wokondedwa.

Mwina palibe ntchito yosavuta pamlingo wamtundu wa msana monga Tinder. Kuti mugwiritse ntchito, mumangofunika chala chimodzi chokha kuti musunthe ndi ma neuroni ochepa kuti musankhe atsikana kapena amuna omwe mumakonda kwambiri. Kukhazikitsa koyenera kwa brute force pakusankha awiriawiri.

Ndinaganiza kuti iyi ingakhale njira yabwino yopezera kumverera pang'ono kwa kuphunzira kwa makina pa khadi latsopano lazithunzi. Zomwe zatsala ndikufotokozera mkazi wanga kuti sindikufuna mkazi wonenepa watsopano, ndipo ndikungophunzitsa ma neural network.

Momwe mungatenge atsikana 13 pa ola limodzi pogwiritsa ntchito makina ophunzirira ndi Tinder

Vuto ndi ma network a zibwenzi ndi chiyani?

Panali gwero wotero - Ashley Madison. Mwachindunji, ndi mawu akuti β€œMoyo ndi waufupi. Khalani ndi chibwenzi." Omvera ambiri ndi amuna okwatira omwe akufuna chibwenzi kumbali. Kupanga ndalama ndikosangalatsanso - kuwonjezera pa "ndalama zowonongera zomwe mungakonde ndikulemba," adapempha $ 19 kuti achotse akaunti ya wogwiritsa ntchito popanda kutsata.

Mu 2015, tsambalo lidawukhira mwachilengedwe ndipo 60 GB yazinthu zamunthu zidatsitsidwa pagulu. Kuphatikiza pa mabanja ambiri owonongedwa, kutayikiraku kunapereka zambiri zosangalatsa kwa akatswiri. Nthawi zonse ndimakayikira kuti pali amuna ambiri pamasamba ochezera, koma apa zidakhala zosangalatsa. Mtolankhani Annalee Newitz kusanthula deta yotayikira adapeza kuti mwa ogwiritsa ntchito 5 miliyoni, 12 okha anali ofanana ndi maakaunti a atsikana enieni ndipo amagwiritsidwa ntchito pafupipafupi. Enawo anali ma bots okha omwe amacheza ndi alendo achimuna.

Kutengeka kotereku kumaakaunti achimuna sikungotengera izi zokha, komanso masamba ena ambiri azibwenzi. Ndine wotsimikiza kuti ambiri akumanapo ndi izi mosakayikitsa zopanda chilungamo, pamene mukuyenera kukonzekera bwino bwenzi, koma mtsikanayo amangoyenera kulembetsa. Tiyeni tisiye khalidwe la khamu la mafani pambaliyi, koma zoona zake n'zosatsutsika kuti kuchuluka kwa ndalama ndi zofuna zimasinthidwa momveka bwino mokomera atsikana.

Chithunzi cha Tinder

Momwe mungatenge atsikana 13 pa ola limodzi pogwiritsa ntchito makina ophunzirira ndi Tinder
Wankhanza wokakamiza mu ubale wa jenda

Mbali yaikulu ya nsanja iyi ndi mtengo wotsika pa wodziwa. Kungolumikizana kwa ma swipe awiri ndikokwanira ndipo mukulumikizana kale ndi munthu yemwe angakhale wosangalatsa. Vuto ndiloti kusiyana pakati pa amuna ndi akazi kumapangitsa kuti atsikana ambiri azikhala ndi machesi ambiri patsiku. Izi zikutanthauza kuti sadzakhala ndi nthawi yoti achite chidwi ndi inu pakati pa ena ofuna.

Zikuwonekeratu kuti nsanjayo imatanthawuza mwayi wochepa woyesa dziko lamkati la munthu kuchokera pa chithunzi chimodzi ndi theka chachiwiri pa chithunzi mu suti yosambira kapena kuyendetsa galimoto yowoneka bwino. Chifukwa chake, ngati simukuwoneka mwaumulungu pazithunzi zanu, mulibe chochita koma kuwonjezera mwayi wanu potengera r-ndondomeko m'mitundu ina. Mwachidule, tidzakakamiza mwankhanza ndikukweza mphamvu kuti tiwonjezere mwayi wathu wobereka bwino. Popeza nthawi zina mumafunika kusokonezedwa ndi chakudya ndi kugona, ndipo zosefera zimakhala zochepa, mungakonde kuti makina azisankha atsikana kapena amuna omwe amagwirizana bwino ndi zomwe mumakonda. Zofiira zazifupi kapena zazitali zazitali - zili ndi inu.

Kusonkhanitsa deta

Choyamba, muyenera zambiri deta kulondola yachibadwa. Aliyense amene wakumanapo ndi kuphunzira pamakina amadziwa momwe zimakhalira zovuta kupanga deta yosonkhanitsidwa bwino komanso yolembedwa. Mwachidziwitso, chida chilichonse chofananacho chidzakhala choyenera ngati gwero la data, kaya Instagram kapena malo ena ochezera. Koma ndi bwino kuphunzitsa pa zitsanzo zomwe maukonde adzagwira ntchito m'tsogolo.

Tiyeni titenge chosungira ngati maziko Tinder Automation. Zithunzi za Tinder nthawi zonse zimapezeka pagulu, koma ntchito ya "monga" imakhala yochepa. Chifukwa chake, ndikofunikira kuchotsa zamoyo zonse mkati mwa radius ndikuzilemba mosamala. Choyamba muyenera kugwiritsa ntchito script yosavuta:

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)

Ikulolani kuti muyimbe deta mwachangu momwe mungathere ndi mabatani awiri okha. Vuto lalikulu lagona pa mfundo yakuti laibulale ya werkzeug yasweka m'mbuyo ndipo iyenera kukakamizidwa kuitsitsa. Apo ayi izo zimaponya cholakwika ichi.

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'

Choncho, mu requirements.txt muyenera kulemba Werkzeug==0.16.1. Kenako idzanyamuka.
Vuto lachiwiri ndikupeza chizindikiro ichi. Njira yokhazikika yochokera kumalo osungira sinagwire ntchito kwa ine, koma ndidatha kuipeza kuchokera ku kontrakitala yokonza. Kuti muchite izi, pitani ku kugwirizana ndikuchotsa yankho ku pempho la POST mu www.facebook.com/v2.6/dialog/oauth/confirm?dpr=1. Mkatimo timayang'ana 'access_token'. Pazifukwa zina sizinagwire ntchito nthawi yoyamba, koma kenako ndinazipeza ndikuzilemba molimba mu script.

Zofunikira pa dataset

Pali zofunika zingapo zofunika pamakina ophunzirira makina:

  1. Kukwanira
  2. Kufanana
  3. Zosiyanasiyana

Kukwanira pankhaniyi kumafuna zithunzi zosachepera 10000 kuti apange chitsanzo chokwanira. Inde, ndizo zambiri. Ichi ndi chifukwa chake misonkhano imakonda Amazon Mechanical Turk, komwe mungapereke ndalama kwa anthu ena. Komano, kodi mukufunadi bot wanu kukonda zodabwitsa mwezi-nkhope atsikana Asian kapena atsikana mofanana wokongola ndi Indian mizu? Komabe, chitsanzocho chiyenera kusonyeza kukoma kwanu.

Palibe zovuta zina zamitundu yosiyanasiyana; zithunzi zonse zimaperekedwa kuchokera kumakona osiyanasiyana ndi kuyatsa. Mu magalasi, madiresi, zosambira ndi ski suti. Vuto likhoza kubwera ndi kufanana kwa deta. Moyenera, tikalemba zitsanzo zathu, ziyenera kukhala ndi magawo ofanana. Mukamaliza ndi "zokhotakhota" za data, muyenera kuzichepetsa ndi zithunzi zochokera kumalo ena. Muyenera kuwonjezera zowoneka bwino, kapena mosemphanitsa, mudzazisankha kutengera zotsatira zakusaka. Ndili ndi china chake chozungulira 60%. Mwina sindine wokonda kwambiri, kapena ndili ndi mwayi chabe ndipo pali atsikana okongola ambiri.

Sindimachotseranso lingaliro lakuti pali bots ambiri pakati pawo. Timaphunzitsa bot yomwe ingakonde ma bots ena. Pali chodabwitsa mu izi.

Kukonza deta

Tili ndi zithunzi zojambulidwa, koma ndizosakanizika kwambiri. Masana, usiku, kuchokera kumbuyo ndi ena. Ndi chisoni, ndikumvetsa kuti kuphunzitsa kuchokera pazithunzi kuchokera kumbali yakumbuyo sikungakhale kothandiza kwambiri, chifukwa chitsanzocho chidzakhala chosiyana kwambiri. Chifukwa chake, njira yabwino kwambiri ingakhale kugwiritsa ntchito nkhope ngati chizindikiro cha "kukongola". Komabe, kwa ife, monga anyani ena, ichi ndi chofunikira kwambiri.

Choncho, tiyeni ntchito Haar cascades. Iyi ndi algorithm yabwino kwambiri yomwe imakupatsani mwayi wopeza nkhope muzithunzi zokhala ndi zolakwika zambiri zabodza.

Momwe mungatenge atsikana 13 pa ola limodzi pogwiritsa ntchito makina ophunzirira ndi Tinder
Izi zikufotokozedwa mwatsatanetsatane mu bukhuli OpenCV

Pa siteji yotsatira, pambuyo pa nkhope zokhazokha zomwe zili mu chitsanzo, ndizomveka kuchotsa mtundu. M'malo mwake, simudzasowa kusankha pakati pa mtundu wokongola wabuluu wa Pandora kapena kukongola kwakhungu lobiriwira.

Momwe mungatenge atsikana 13 pa ola limodzi pogwiritsa ntchito makina ophunzirira ndi Tinder
Kuchokera

Mwa anthu amtundu wa Hue, mtundu wa khungu suthandiza kwambiri pakuyesa kukopa.
Chifukwa chake, ndikofunikira kufewetsa ntchito ya neural network ndikusiya imvi yokha.

Kumanga chitsanzo

Ndikufuna kunena nthawi yomweyo kuti popanda khadi labwino la kanema ndi CUDA, simungathe kupeza chitsanzo chophunzitsidwa nthawi yokwanira. Chifukwa chake, yesetsani nthawi yomweyo kuwerengera mitambo yapadera kapena kugwiritsa ntchito python-CUDA.

Ndinatenga chitsanzo cha magawo atatu kuchokera kwa wolemba malo osungiramo zinthu ndipo, chodabwitsa, chinawonetsa kulondola kwa pafupifupi 72%, zomwe ndi zotsatira zabwino.

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

Ngati pali chitsanzo chabwino, ndiye kuti chingakhale chokwanira kupeza chitsanzo chogwira ntchito.

Tiyeni tiyambitse bot

Momwe mungatenge atsikana 13 pa ola limodzi pogwiritsa ntchito makina ophunzirira ndi Tinder

Chifukwa cha mlembi wa malo osungiramo njira yokonzekera mwamsanga kuyesa lingalirolo. M'malo mwake, imagwira ntchito bwino mu mtundu woyambira ndipo imatha kukhazikitsidwa patsamba lathu seva yobwereketsa yokonzeka. Sizingatheke kuphunzitsa pano; pakadali pano sitipereka makina enieni okhala ndi chithandizo cha CUDA powerengera, koma mutha kuyendetsa china chake 24/7 popanda zovuta. Bot ndi yopepuka kwambiri, kotero zingakhale zopindulitsa kutenga tariff yomwe imalipira zomwe zimagwiritsidwa ntchito.

Zotsatira

Momwe mungatenge atsikana 13 pa ola limodzi pogwiritsa ntchito makina ophunzirira ndi Tinder
Ndikuganiza kuti ndine wokongola kwambiri. Ndipo ndili ndi dziko lolemera lamkati. Ndapeza zina ngati machesi 13 mkati mwa ola limodzi. Komanso, kangapo atsikanawo analemba poyamba.
Zotsatira zake, tidakhala ndi zokambirana zabwino kwambiri, pomwe ndidati ndidabwera kudzasewera ndi kuphunzira pamakina ndi kulemba ma data. Mmodzi wa atsikanawo anali wokondweretsedwa kwambiri, popeza nayenso ndi wokonza mapulani. Pali malingaliro amphamvu kuti pamapeto pake awerenga izi pa HabrΓ©. Ndikukhulupirira kuti Oksana asungabe kusadziwika kwanga. πŸ™‚
*anagwedeza dzanja lake ndikunena kuti hi

Pang'ono ndi mbali ya chikhalidwe cha nkhaniyi

Kunena zowona, sindimakonda lingaliro lonse la maubwenzi apakati pa abambo ndi atsikana. Pali chinachake choyenera kuponya jekete lanu pamapewa a mlendo wozizira yemwe wayima yekha. Kapena funsani msungwana wokongola mu cafe yotentha ndikumwa khofi pamodzi. Tulukani kumbuyo kwa oyang'anira kale.

Chilimwe chili ponseponse. Yakwana nthawi yoti mudziwane.

Momwe mungatenge atsikana 13 pa ola limodzi pogwiritsa ntchito makina ophunzirira ndi Tinder

Momwe mungatenge atsikana 13 pa ola limodzi pogwiritsa ntchito makina ophunzirira ndi Tinder

Source: www.habr.com

Kuwonjezera ndemanga