Jump to content

Che

Active Members
  • Content Count

    1243
  • Joined

  • Last visited

  • Days Won

    6

Che last won the day on September 26 2018

Che had the most liked content!

Community Reputation

167 Excellent

1 Follower

About Che

  • Rank
    Registered user

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. Che

    CUDA ?

    Salut! Am un tabel .csv de 1100 coloane si peste 5 milioane de randuri. Vreau sa fac train pe el la un neural network, in python. Este vorba de Neural netwok si nu convolutional. Momentan am scriptul in python scris pentru procesor dar am de gand sa-l transform pentru CUDA ca pentru procesor posibil sa trebuiasca foarte mult timp sa fac train la neural net. Nu am placa video care sa suporte CUDA si de asta as vrea sa stiu ce varianta sa aleg: - sa-mi cumpar o placa video care sa suporte asta ? Care credeti ca ar face asta ? Am nevoie sa se antreneze in MAXIMUM 3-4 ore si nu mai mult. - sa apelez la un serviciu online pentru asta ? Care e mai avantajos si in acelasi timp sa fie simplu de utilizat, adica numai sa urc scriptul si aia e, nu sa imi mai bat capul cu diverse API-uri de ale lor ? Dupa cum sunt rezultate datele din acel csv eu trebuie sa antrenez NN dupa fiecare adaugare de noi date. E mai avantajos cu plata lunara sau sa platesc per utilizare doar atunci cand am nevoie ? Ce-mi recomandati? Cum e mai avantajos ? Multumesc mult! @Turry
  2. Doar international sau ce vrei sa spui, mai exact? Daca, sa zicem, stii ca ANAF are de gand sa iti blocheze conturile bancare din Romania si tu iti pui repede banii pe Skrill inainte sa faca ei asta, iti vor putea bloca contul de Skrill ? Au putere asupra Skrill la nivel national sau ce ai vrut sa zici cu international? Multumesc mult!
  3. @b90rvn In locul tau m-as interesa daca mai sunt in voga siturile cu filme, asta inainte sa bagi banii in promovarea sitului. Iti zic asta fiindca mi se pare ca sunt cam... moarte. Nu ma bazez pe nimic cand spun asta dar nu mi se pare ca mai e ca acum cativa ani cand toate lumea vedea filme si seriale la greu. Nici actorii buni nu prea mai scot cine stie ce. Di Caprio nu a mai scos ceva bun de mult timp, Nicolas Cage joaca in filme din ce in ce mai slabe, Van Damme incearca sa para ca in tinerete, majoritatea sunt filme de duzina care primesc Oscarul asa, pe ochi frumosi, pe chestii de nediscriminare, de femeie in rol principal, de homosexual in rolul eroului principal si asa mai departe, lucur care face lumea sa-si cam bage ceva in ele de filme. Parerea mea.
  4. Nu pot face ceea ce zici tu cu extrasul fiindca nu exista primary key si pot fi persoane care sa aiba atat acelasi nume, cat si acelasi prenume, precum si chiar si aceeasi varsta, ei putand sa difere ca inaltime sau tara de provenienta. Nu poti sti care si cate coloane pot avea aceleasi valori si deci diferenta sa se faca prin coloanele ce au valori diferite. Stiu, am incercat cu UNION numai ca nu merge, trebuie sa aiba aceleasi coloane si acelasi numar de coloane: "Each SELECT statement within UNION must have the same number of columns;"
  5. Din mai multe fisiere json, dupa ce le-am convertit in format .csv, le-am bagat cu Python intr-o baza de date de tip SQLite. In total am 500 de tabele care sunt in felul urmator: Toate au in comun ~30 de coloane (fullName, firstName, lastName, age, sex, nationalitate, etnie, regiune, tara etc.) <--- toate astea sunt in comun in toate tabelele si se gasesc in fiecare dintre cele 500 de tabele. Acuma, fiecare tabel mai are in plus intre 1 si 15 coloane unice, specifice doar lui, care nu se mai gasesc si in alte tabele. O persoana (nu e vorba de o persoana reala, nu va ganditi la date personale & stuff) se poate gasi intr-un tabel sau mai multe sau in toate dar nu e neaparat sa se gaseasca in toate tabelele, putand fi si tabele care nu contin acea persoana. Folosind SQLite m-am gandit sa fac asta cu LEFT OUTER JOIN problema e ca daca le bag pe toate intr-un singur query imi da operational error ca numarul maxim e 1000. Asa ca am decis sa iau tabelele cate 7 desi merge ca si comanda e tot prea mare si da Memory Error. Asa ca m-am gandit sa le iau cate doua: Create table Mytable_randomstr1 if not exists as select * from tabel_1 left outer join tabel 2; dupa care sa inversez (practic fac permutare intre cele doua) si reulta comanda: Create table Mytable_randomstr2 if not exists as select * from tabel_2 left outer join tabel 1; In final imi rezulta alte doua tabele si daca e sa o iei asa, nu am rezolvat nimic ca din cele 500 de tabele imi rezulta altele 500. Cum as putea sa le combin pe toate intr-unul singur, fara a pierde datele din coloanele specifice fiecarui tabel (tinand cont ca tabelele nu au numar egal de coloane) ? Daca e nevoie trec totul pe MySQL, numai sa iasa, problema e ca baza de date SQLite o tine pe un hdd portabil de 2tb in timp ce pe PC nu mi-ar incapea baza de date MySQL. Multumesc mult de tot!
  6. Ok, si... exista un soft care, instalat pe telefon sau pe alt PC, sa capteze sunetul altui PC si sa iti redea, de exemplu, ce se intampla pe acel PC + ce scrie acel utilizator in Word sau oriunde altundeva ?
  7. @Gecko Care este situl, te rog frumos, ca vreau sa ma joc si eu in python cu el ? Da-mi PM, te rog mult, daca nu vrei sa il faci public ca eu nu am mai vazut un astfel de site niciodata si vreau sa ma joc cu el (promit ca nu-i fac nici un rau) doar vreau sa vad cum arata asa ceva life. Multumesc mult de tot! Linia de mai jos ce face ?
  8. Salut! In domeniul AI care este cel mai avansat algoritm de intelegere a limbajului uman, pana in momentul de fata ? Stiu ca era aia cu lanturile Markov, dar ceva mai avansat de atat ? Ceva care sa inteleaga un text scris de exemplu ?
  9. Che

    Matricea

    @aurelLDe python nu ai nevoie ca te-as putea ajuta cu cea mai mare placere dar in C++ nu am mai programat de ceva vreme si mi-e cam greu acuma, plus ca am si ceva vin la bord ?
  10. Poate o sa folosesc php dar momentan nu imi e indemana ca nu am mai scris nimic in php de peste 5 ani. Multumesc! Da, m-am gandit sa imi comentez cat mai explicit codul ca nu programez tot timpul si cand ma apuca am observat ca nici eu nu mai stiam ce am vrut sa scriu acolo.
  11. Gata, am rezolvat. Folosesc acum c.executemany(sqlite_command). Totusi, cu pandas nu imi da voie ca imi da o eroare ca numarul de coloane nu e egal... (?!). Ciudat. Zic fiindca am vazut o metoda mult mai simpla folosind pandas. Oricum, am rezolvat. Multumesc pentru ajutor! (Nu era treaba cu CTL-urile.)
  12. Salut ! Am facut urmatorul script in python care iti ia fiecare fisier csv si ti-l baga intr-o baza de date SQLite. Fisierele originale csv sunt destul de marisoare (~50-60mb) fiecare. Dar am incercat pe niste fisiere mult mai mici (de 400kb -450kb) fiecare si sta extraordinar de mult pana le baga in baza de date. Nu am pus o mie de astfel de fisiere ci doar 5 si sta deja o ora si tot nu a terminat de bagat in baza de date. Nu as vrea sa stau ani de zile in cazul fisierelor originale. Ma gandesc ca poate gresesc pe undeva de merge asa de greu. Va rog, poate ma puteti ajuta. Aici este scriptul: # coding: utf-8 import json import os import sqlite3 from csv import reader from os import listdir import unicodecsv as csv from os.path import isfile, join # ne conectam la baza de date, daca aceasta nu exista atunci o cream mai intai si apoi ne conectam # aceasta va fi creata automat, daca nu exista, la prima conectare: conn = sqlite3.connect(myfiles_path + 'mydatabase.db') # se creaza instanta de acces catre baza de date: c = conn.cursor() for each_csv_file_found in csv_list_files: # ca sa stim cam pe unde se afla: print "Bagam in baza de date fisierul csv: {}".format(each_csv_file_found) csv_headers = read_csv_headers(myfiles_path + each_csv_file_found) beta_rows = getCSV_rows(myfiles_path + each_csv_file_found) final_columns = ', '.join(csv_headers) # se genereaza numele tabelului de introdus in baza de date: table_name = each_csv_file_found.rsplit('.', 1)[0].replace("Total_", '').replace("mins", "").replace("-", "_") values_to_insert = [] for each_beta_row in beta_rows: values_to_insert.append(tuple(each_beta_row)) # se va crea un tabel dupa fiecare fisier csv gasit, doar daca acesta nu exista: sql_command_create_table = '''CREATE TABLE IF NOT EXISTS {}({})'''.format(table_name, final_columns) c.execute(sql_command_create_table) # Nu se face Create unique index fiindca le amesteca si le combina aiurea pe toate si mai si sare din ele! # save changes: # Trebuie executata dupa fiecare c.execute si nu doar la final! conn.commit() # incepem sa construim query pentru adaugarea de valori in db: semne = "?" * len(csv_headers) question_marks = ",".join(semne) conn.text_factory = str for row_value in values_to_insert: # Nu trebuie cu REPLACE INTO fiindca iti baga mai multe randuri asemanatoare intr-un singur rand! # c.execute('INSERT team_summary_overall ({}) VALUES ({})'.format(final_columns, question_marks), row_values) c.execute('INSERT INTO {} ({}) VALUES ({})'.format(table_name, final_columns, question_marks), row_value) # save changes: # Trebuie dupa fiecare c.execute si nu la sfarsit! conn.commit() # inchidem conexiunea la baza de date: # se executa o singura data, la final: conn.close() Folosesc unicodecsv fiindca csv normal imi da eroare la scrierea datelor ca sunt litere de astea si imi da eroare ca nu poate citi ascii in pozitia x, ceva de genul "can't decode ascii x08x\67...". Si am stat o zi intreaga si altfel nu am reusit sa rezolv problema decat folosind unicodecsv. Multumesc mult de tot !
  13. @gigiRoman Multumesc! Am sa incerc. Eu ma gandeam ca poate este vreo comada pentru SQLite ca ar fi mai usor sa fac in felul urmator: Iau fiecare fisier json si in transform in tabel din baza de date SQLite. Apoi, cu o comanda, tot cu python, cauta fiecare persoana in parte in toate tabelele si apoi daca gaseste valori sa le ia iar daca nu sa bage "NAN". Cum a terminat cu un tabel, cum sa-i dea delete sau, daca nu, dupa ce le-a verificat pe toate sa le dea delete si sa pastreze tabelul original nou creat pe baza tuturor tabelelor. Nu este o asa comanda ? (Mi-ar fi mai simplu.) (Cam aceeasi problema o am si eu ca si cel care a intrebat acolo adica nu le pot incarca pe toate in memorie ca nu am 60Gb RAM.) Multumesc mult pentru ajutor ! @aelius Sunt foarte sigur ca sunt json fiindca eu le-am creat cu ajutorul unui script facut de mine in python, pe baza a niste date luate de pe niste situri. Am facut si proba, cu fisere json mai mici (de test, generate cu niste date la intamplare, mai putine), merge sa parsez, sa fac ce vreau, doar ca astea sunt uriase, fiecare are cate 50-52.000 de randuri si cate 15-30 de coloane.
×
×
  • Create New...