Jump to content

SUBIECTE NOI
« 1 / 5 »
RSS
Noul format Jpegli iși propu...

Dade, dade

Parola la lock screen

Deparazitare externa pisici fara ...
 Seriale turcesti/coreene online H...

Merita un Termostat Smart pentru ...

Sfat achizitie MTB Devron Riddle

Problema mare cu parintii= nervi ...
 switch microtik

Permis categoria B la 17 ani

Sfaturi pentru pregatirea de eval...

Crapaturi placa
 cum imi accesez dosarul electroni...

Momentul Aprilie 1964

Sursa noua - zgomot ?

A fost lansat Ubuntu 24.04 LTS
 

Ce limbaje trebuie să înveți pentru AI?

- - - - -
  • Please log in to reply
30 replies to this topic

#1
bogdan_world

bogdan_world

    Active Member

  • Grup: Members
  • Posts: 1,118
  • Înscris: 18.02.2002
Salut. Ce limbaje trebuie să înveți pentru programare inteligentă artificială? Puteti oferi o bibliografie sau siteuri? Mentionez ca trebuie invatat de la 0. Mulțumesc

#2
sftpdt

sftpdt

    Senior Member

  • Grup: Senior Members
  • Posts: 3,665
  • Înscris: 29.08.2013
Mai important e cum proiectezi algoritmii. Limbajul e ultima problema.

#3
dexterash

dexterash

    --something---

  • Grup: Senior Members
  • Posts: 22,912
  • Înscris: 19.08.2004

 bogdan_world, on 23 iunie 2018 - 07:54, said:

Ce limbaje trebuie să înveți pentru programare inteligentă artificială?
C++
Python
PHP
VB
C#
JAVA
BASIC
LUA
PostScript
Erlang
F#


Si mai sunt vreo cateva (multe) pe care le-am uitat. De ce intrebi?

#4
mihaicozac

mihaicozac

    Guru Member

  • Grup: Senior Members
  • Posts: 15,596
  • Înscris: 05.12.2005

 dexterash, on 23 iunie 2018 - 08:04, said:

C++
Python
PHP
VB
C#
JAVA
BASIC
LUA
PostScript
Erlang
F#


Si mai sunt vreo cateva (multe) pe care le-am uitat. De ce intrebi?
COBOL şi Fortran, limbaje uitate....

Edited by mihaicozac, 23 June 2018 - 08:22.


#5
OriginalCopy

OriginalCopy

    I'm harmful, fear me please! :))

  • Grup: Senior Members
  • Posts: 27,268
  • Înscris: 10.08.2006
As începe cu limbajele focusate pe partea mai matematică.

1. De obicei vei vedea R, dar te poti lovi si de octave sau matlab prin unele research papers.

2. Apoi, mai aproape de industrie, dar mai putin indicat pentru studiul initial sunt python și Julia.

3. Și in ultima instanta e bine sa adaugi C, C++ si Java, ca sa nu ratezi unele proiecte doar pentru ca nu stii limbajul.

Urmează 1,2, 3 in ordine daca țintești sus. Sari psste 1 si peste fundația matematica daca vrei sa fii un code monkey al ML-ului.


Acestea fiind spuse, partea provocatoare e matematica din spate, nu limbajul.

#6
MarianG

MarianG

    be that as it may

  • Grup: Moderators
  • Posts: 31,443
  • Înscris: 10.08.2005
Pentru cei care mai raspund la misto sau off-topic, va rog din tot sulfetul cititi in semnatura.

#7
dexterash

dexterash

    --something---

  • Grup: Senior Members
  • Posts: 22,912
  • Înscris: 19.08.2004

 OriginalCopy, on 23 iunie 2018 - 08:26, said:

As începe cu limbajele focusate pe partea mai matematică.
Focalizate, zici?

 OriginalCopy, on 23 iunie 2018 - 08:26, said:

Acestea fiind spuse, partea provocatoare e matematica din spate, nu limbajul.
Da' ceva limbaj simplu de tipul "learn", "test", "predict" nu aveti, domle? Pai de ce nu?! Ce, eu fac ML ca sa invat matematica?!

 mihaicozac, on 23 iunie 2018 - 08:21, said:

COBOL şi Fortran, limbaje uitate....
Ah, da, si o cladire de elemente computationale care sa se ocupe cu calculele! Posted Image

Edited by MarianG, 23 June 2018 - 09:35.
trecem peste


#8
parabellum

parabellum

    Senior Member

  • Grup: Senior Members
  • Posts: 2,453
  • Înscris: 06.01.2010

Quote

Fortran, limbaje uitate
Deloc. Fortran un limbaj folosit si astazi. Doar ca nu la facut de pagini web, ci in programarea stiintifica, de exemplu. Exemplu concret: https://github.com/QEF/q-e
De fapt, multe dintre librariile folosite in AI sunt implementate in Fortran. Fortranul nu e ce isi amintesc vag cei ce au auzit candva de el, e un limbaj modern cu suport pentru programarea obiectuala si concurenta. Poate fi ajuns la performanta de C++ cu 'smecherii' cu template-uri. Dar inca domina cand e vorba de performanta.

Acum, raspuns direct la intrebarea originala:

Ai nevoie de vreo doua limbaje:

Unul pentru implementarea rapida a unor prototipuri/incercarea a tot felul de algoritmi in tot felul de moduri pe tot felul de date. Un limbaj interpretat, care sa nu-ti dea prea multe batai de cap.
Se recomanda python, R, matlab (variante free: Octave, SciLab). Eventual Mathematica.

Unul pentru chestii mai serioase, cand implementezi tu algoritmi ce necesita performanta mare, si sunt rulati in mod repetat... de obicei C++.

Merita subliniat ceva ce deja s-a scris aici:

Quote

Mai important e cum proiectezi algoritmii. Limbajul e ultima problema.


#9
OriginalCopy

OriginalCopy

    I'm harmful, fear me please! :))

  • Grup: Senior Members
  • Posts: 27,268
  • Înscris: 10.08.2006
Fortran pe care l-am vazut in machine learning era in timpul copilării unor pachete python. Nu vad unde ar fi loc de lucrul explicit cu fortran, dar poate ai dreptate.

#10
parabellum

parabellum

    Senior Member

  • Grup: Senior Members
  • Posts: 2,453
  • Înscris: 06.01.2010
Nu am scris nicaieri 'explicit'. E pentru cei care implementeaza algoritmii folositi, nu pentru cei care doar ii folosesc.

#11
dani.user

dani.user

    Guru Member

  • Grup: Senior Members
  • Posts: 30,238
  • Înscris: 24.02.2007

 parabellum, on 23 iunie 2018 - 09:33, said:

Dar inca domina cand e vorba de performanta.

Prin ce reuseste inca sa domine date fiind evolutiile compilatoarelor C/C++ in decursul a zeci de ani?

#12
parabellum

parabellum

    Senior Member

  • Grup: Senior Members
  • Posts: 2,453
  • Înscris: 06.01.2010
Au evoluat si alea Fortran. 'Evolutia' nu e un argument. Si Java a evoluat, ghici pe unde e fata de Fortran? :)

#13
dani.user

dani.user

    Guru Member

  • Grup: Senior Members
  • Posts: 30,238
  • Înscris: 24.02.2007
Java joaca in alta liga, n-are aceleasi pretentii. Ma astept ca in cazul compilatoarelor C/C++ sa se fi bagat mai multi bani dealungul anilor (comparativ cu Fortran).

Una din diferenta parca era cauzata de aliasing si a fost rezolvata prin introducerea "restrict" in C. Altele care ar mai fi?

#14
parabellum

parabellum

    Senior Member

  • Grup: Senior Members
  • Posts: 2,453
  • Înscris: 06.01.2010
Fortran are suport pentru operatii cu vectori/matrice. Din pacate comitetul C++ nu s-a obosit prea tare cu imbunatatirea orientata pe metode numerice...
Fortran are suport pentru functii pure, fara efecte laterale, asta permitand optimizari mai bune.

restrict e C99, nu e inca in standardul C++ (este insa suportat de unele compilatoare). Doar ca C are alte dezavantaje. Dupa cum ziceam, C++ poate sa ajunga la performante comparabile cu Fortran de exemplu folosind template-uri la greu. Problema e ca nu vine chiar asa de simplu ca la Fortran. Ajunge sa arunci o privire prin codul Eigen ca sa intelegi. Chiar si asa la unele teste o sa vezi ca implementari blas/lapack (Fortran) il depasesc pe vectori/matrici de dimensiuni mai maricele: http://eigen.tuxfami...title=Benchmark (mkl si goto au implementari Fortran). Sa nu uitam nici ca e vorba de benchmark indicat de cei cu Eigen, daca Intel dorea sa arate cum merge mkl comparativ cu altele, probabil benchmark-ul arata diferit :)

#15
OriginalCopy

OriginalCopy

    I'm harmful, fear me please! :))

  • Grup: Senior Members
  • Posts: 27,268
  • Înscris: 10.08.2006
am lucrat la parti dintr-un proiect ml in java.

#16
WinstonMontana

WinstonMontana

    Active Member

  • Grup: Members
  • Posts: 1,913
  • Înscris: 20.02.2018

 dani.user, on 23 iunie 2018 - 10:32, said:

Java joaca in alta liga,
ba joaca in liga asta. Mai toate severle unde ruleaza joburi de ML/AI sunt servere java iar limbajul este fie java/scala
in liga asta mai joaca si R-ul, insa si aici scripturile de R pot fi rulate in containere dedicate pe serverele de ML/AI de java.
Faptul ca Java sa afla pe locul #1 in TIOBE este din cauza evolutie domeniului de ML/AI  in jurul  limbajului Java.

Nu pot sa ai ML/AI fara a avea o infrastructua de sistem distrbuit cum ar fi Big Data(Big Data este "clasa de baza" din care deriva  ML/AI-ul)
Serverle de BigData, majoritatea lor sunt pe java(vezi Apache Hadoop).

Edited by WinstonMontana, 23 June 2018 - 14:21.


#17
dani.user

dani.user

    Guru Member

  • Grup: Senior Members
  • Posts: 30,238
  • Înscris: 24.02.2007

 WinstonMontana, on 23 iunie 2018 - 14:15, said:

Serverle de BigData, majoritatea lor sunt pe java(vezi Apache Hadoop).

Realizezi ca Apache Hadoop e doar asa ... pentru incalzire?

Ia sa vedem ce zic astia de performanta cand vorbesc de o solutie concurenta https://www.quora.co...apR-and-Hadoop#

Apoi, prin "alta liga" ma refeream la optimizari ale compilatorului pentru treburi numerice.

Edited by dani.user, 23 June 2018 - 15:19.


#18
WinstonMontana

WinstonMontana

    Active Member

  • Grup: Members
  • Posts: 1,913
  • Înscris: 20.02.2018

 dani.user, on 23 iunie 2018 - 14:58, said:

Realizezi ca Apache Hadoop e doar asa ... pentru incalzire?

Ia sa vedem ce zic astia de performanta cand vorbesc de o solutie concurenta https://www.quora.co...apR-and-Hadoop#
Realizezi ca ar trebui sa testezi personal tehnologia in cauza si apoi si celelalte
In domeniul asta orice companie incearca sa-ti vanda un produs, si atunci  fiecare companie , cosmetizeaza cat de mult doreste.

Insa chiar si pentru testarea lui Apache hadoop costa si trebuie sa ai buzunar , pentru ca vorbim de BigData de la un cluster cu peste 1000 de core-uri si peste 10 TB de RAM
Ei costul incherieri un core te costa X euro/ora si asta in conditiile in care API-u de hadoop e gratis.

Ce imi oferi tu este o companie care incerca sa-si vanda produsul lor bazat TOT PE HADOOP la care adauga taxele pentru cluster.
Iar in domeniul asta oricine incearca sa-ti vanda  orice ca find unic  si cel mai bun decat toate.

Daca esti inginer software iti creezi  propriul framework in jurul lui Hadoop ( ca sa nu dai bani altor companii) si il folosesti pt proiectele tale.Cine nu are si nu stie programare, baga mana in buzunar(-ul altuia) si ala care pica de fraier plateste

Toate sunt variante de Hadoop: "vino si cumpara de la mine Hadoop++ ca sa imi iau mercedes =)) "
Nu mersi , am si eu ceva asemnator tie, iar mercedesul mi-l tin pt mine Posted Image

Edited by WinstonMontana, 23 June 2018 - 15:28.


Anunturi

Chirurgia spinală minim invazivă Chirurgia spinală minim invazivă

Chirurgia spinală minim invazivă oferă pacienților oportunitatea unui tratament eficient, permițându-le o recuperare ultra rapidă și nu în ultimul rând minimizând leziunile induse chirurgical.

Echipa noastră utilizează un spectru larg de tehnici minim invazive, din care enumerăm câteva: endoscopia cu variantele ei (transnazală, transtoracică, transmusculară, etc), microscopul operator, abordurile trans tubulare și nu în ultimul rând infiltrațiile la toate nivelurile coloanei vertebrale.

www.neurohope.ro

0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users

Forumul Softpedia foloseste "cookies" pentru a imbunatati experienta utilizatorilor Accept
Pentru detalii si optiuni legate de cookies si datele personale, consultati Politica de utilizare cookies si Politica de confidentialitate