Wpis z mikrobloga

Hej wykopki mam pytanie związane z przerabianiem kilkuletnich książek o tematyce uczenia maszynowego.
Na codzień jestem backendowcem (głównie ekosystem jvm) który wpadł do projektu gdzie gros czasu poświęca się na pythona i integrację z modelami ml stąd chciałem nieco więcej liznąć tematu.

Kupiłem ebooka na helionie:
https://helion.pl/ksiazki/uczenie-maszynowe-w-pythonie-leksykon-kieszonkowy-matt-harrison,umpylk.htm#section6_shift

i do niego załączone są źródła w postaci plików ipynb:
https://helion.pl/pobierz-przyklady/umpylk
Znalazłem też githuba autora:
https://github.com/mattharrison/ml_pocket_reference

W książce autor wymienia biblioteki i ich wersje na jakich pracuje choć mam wrażenie, że nie wszystkie. Nie jest również wskazana wersja pythona (drogą dedukcji doszedłem, że to prawdopodobnie 3.7) i próbowałem zsetupować sobie środowisko aby odpalić kod w tych notebookach.

Korzystam z maca na procku M2 pro toteż okazało się, że nie ma nawet pythona 3.7 + pewnie tych starych bibliotek więc na pececei na wirtualce postawiłem ubuntu i tam konfiguruje interpreter pythona 3.7 (przez conde).

I tu zaczyna się zagwozdka: do źródeł nie ma dodanego żadnego pliku definiującego potrzebne biblioteki i ich wersje to też po kolei próbowałem sobie instalować te wymienione w książce w tych wersjach c otrzeba ale co rusz trafiałem albo na info, że libka w danej wersji wymaga pythona 2.7 albo że jakieś inne zależności są niespełnione np:

(testowe2) maczugaherkulesa@myhostname:~$ pip install sklearn==0.21.1
ERROR: Could not find a version that satisfies the requirement sklearn==0.21.1 (from versions: 0.0, 0.0.post1, 0.0.post2, 0.0.post4, 0.0.post5, 0.0.post7, 0.0.post9, 0.0.post10, 0.0.post11, 0.0.post12)
ERROR: No matching distribution found for sklearn==0.21.1

I zastanawiam się czy ja źle do tego wszystkiego podchodzę czy po prostu gdy tego typu książki bazują na starym kodzie (ten ma koło 6 lat) to naturalne jest, że jest problem z odpaleniem tego i z marszu powinienem poszukać nowszych publikacji??

#programowanie #datascience #uczeniemaszynowe #ai #python
  • 8
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@iforgotmypass_: Tak mam arm'a ale nie w tym upatruję problem bo środowisko skonfigurowane na ubuntu (x8664) można podpiąc via ssh do PyCharma (chociaż coś średnio to działało).

Bardziej się zastanawiam czy, nawet mając pythona na x86
64,
- jest sens się meczyć z tym piekłem zależności w kilkuletnim kodzie
- ja coś robię źle że próbuję ręcznie każdą paczkę z osobna zainstalować (wszystko na raz)

Przywykłem do jvm'owych projektów
  • Odpowiedz
I zastanawiam się czy ja źle do tego wszystkiego podchodzę czy po prostu gdy tego typu książki bazują na starym kodzie (ten ma koło 6 lat) to naturalne jest, że jest problem z odpaleniem tego i z marszu powinienem poszukać nowszych publikacji??


@Generyczny_nick: Po prostu zainstaluj nowszą wersję (1.6.1). A po drugie...to jakie kurła sklearn, jak komenda do instalacji jest

pip install scikit-learn
Każdy wie, że scikit-learn nie jest rozpoznawany jako identyfikator
  • Odpowiedz
@motoinzyniere: tu nie chodzi o tę jedną konkretną libkę tylko całokształt.
Już próbowałem wszystk oograć na najnowszych wersjach paczek to się okazywało, że kod dołączony do książki nie odpala się bo się syntax w międzyczasie zmienił stąd ten post.

Serio gdyby te libki były tak kompatybilne wstecz to by nie było problemu ale z tego co widziałem to nie są ;)
  • Odpowiedz
Yep, z pythonem i libkami do ML tak już jest.
Nie ma szans, abyś był w stanie odtworzyc poprawnie libki sprzed 6 lat, to jest droga przez mękę. Bez edycji kodu sie nie da odpalać startch skryptów w pythonie z ML.
Moja metodologia jest taka - instalujesz najnowsze wersje bibliotek, a potem na podstawie błędów pytasz się chata gpt albo googlujesz jak poprawic kod. I tak w kółko aż zadziała. Jak nie
  • Odpowiedz
@Generyczny_nick: Ostatnio zacząłem używać uv zamiast pip do instalowania bibliotek i jest zauważalna poprawa.
Do pythona nie potrzebujesz wirtualnej maszyny całej. Są wirtualne środowiska w których jest konkretny interpreter w wersji, którą chcesz i po aktywacji środowiska paczki są instalowane do tego folderu.
  • Odpowiedz