Wpis z mikrobloga

@rzezbi: ogólnie back-endy SI zazwyczaj i tak są napisane w C i C++, więc języki wyższego poziomu mają zazwyczaj tylko bindingi, bo się tylko nadają do klejenia (kształtowania przepływu danych oraz konfigurowania komponentów/modułów/bibliotek/kerneli).
@rzezbi: oraz bindingi do języka Java: https://www.tensorflow.org/install/lang_java

Niskopoziomowo, to każda aplikacja wykonywująca się na danym procesorze wykonuje się w postaci kodu maszynowego, więc robić bindingi międzyjęzykowe nie jest niczym niezwykłym.

Język programowania należy zawsze dobierać względem problemu. Np. do pracy z XML na pewno wybrałbym tylko spośród Java i C#.
@rzezbi: sieci neuronowe to dość prymitywne mechanizmy, opierające się na obliczeniach macierzowych. Te są wydajne i szybkie, jak masz możliwość wykorzystania arytmetyki wskaźników. Języki wyższego poziomu od Cpp zwykle nie mają ku temu możliwości lub jest to mocno kulawe. Dlatego robi się binding do niskopoziomowych implementacji. To w czym się przygotowuje dane i flow, to już tak zwane wszystko jedno.
@globalbus: czyli gdybym chciał się uczyć sztucznej inteligencji tzn. chciałbym pracować w tym jako developer, a jedynie znam trochę javę i pythona a C++ nie cierpię ani w ogóle nisko poziomowych języków to czy jest sens iść w tym kierunku?
@tptak: a na co z grubsza można ich podzielić? wiem, że trzeba przygotować dane, obrobić je, oczyścić czy coś, jest ktoś kto tworzy model (to chyba te mózgi z doktoratami) i jak sobie to wyobrażam jest develoepr który implementuje to jakoś. Pewnie jest zupełnie inaczej :) Możesz powiedzieć coś z doświadczenia?
czyli gdybym chciał się uczyć sztucznej inteligencji tzn. chciałbym pracować w tym jako developer, a jedynie znam trochę javę i pythona a C++ nie cierpię ani w ogóle nisko poziomowych języków to czy jest sens iść w tym kierunku?


@rzezbi: Sprawdź co jest w ofertach pracy jeśli Twój cel to praca w tej dziedzinie. Możesz dobrze ogarniać temat a ktoś będzie krzywo patrzył bo nie znasz frameworka który akurat jest wykorzystywany.
@rzezbi: W zdecydowanej większości zastosowań króluje Python. Spodziewam się, że w Javie co najwyżej będzie uruchomiony model na produkcji - gdzieś, gdzie już jest Java i takie jest wymagania. Natomiast nie słyszałem jeszcze, żeby ktoś prototypował w Javie.
@rzezbi: Na rynku Python przeważa do zastosowań analitycznych oraz uczenia maszynowego. R również przydaje się głównie w analityce, szczególnie w farmaceutyce. Można go też użyć do uczenia maszynowego, natomiast nie spotkałem jeszcze zespołu, który by go preferował ponad Pythona.

W przyszłości Java może mieć większe znaczenie, gdyż miesiąc temu Oracle wydało Tribuo, bibliotekę do machine learningu w Javie.

Ogólnie znajomość Javy głównie plusuje w projektowaniu pipelineów Big Data, chociażby przy