Facebook - konwersja
Darmowy fragment

  • nowość

Uczenie maszynowe z użyciem Scikit-Learn i PyTorch. Koncepcje, narzędzia i techniki umożliwiające konstruowanie inteligentnych systemów - ebook

Wydawnictwo:
Tłumacz:
Format:
PDF
Data wydania:
22 lipca 2026
199,00
19900 pkt
punktów Virtualo

Uczenie maszynowe z użyciem Scikit-Learn i PyTorch. Koncepcje, narzędzia i techniki umożliwiające konstruowanie inteligentnych systemów - ebook

Uczenie maszynowe i sztuczna inteligencja to dziś najgorętsze tematy w branży IT. Od ChatGPT po autonomiczne pojazdy technologie AI przekształcają każdą dziedzinę przemysłu. Popyt na specjalistów ML rośnie wykładniczo, a umiejętność budowania i wdrażania modeli uczenia maszynowego stała się poszukiwaną na rynku kompetencją potencjalnych pracowników. Ta książka to kompleksowy przewodnik po świecie uczenia maszynowego z wykorzystaniem najpopularniejszych narzędzi: Scikit-Learn do klasycznych algorytmów ML i PyTorch wiodącej biblioteki do uczenia głębokiego.

Książka prowadzi czytelnika od podstaw uczenia maszynowego do zaawansowanych technik uczenia głębokiego. Część pierwsza obejmuje fundamenty ML: przygotowanie danych, wybór i trenowanie modeli, algorytmy klasyfikacji i regresji, drzewa decyzyjne, lasy losowe, techniki redukcji wymiarowości. Druga jest poświęcona sieciom neuronowym i uczeniu głębokiemu w PyTorch: od podstawowych perceptronów, przez sieci splotowe do widzenia komputerowego, sieci rekurencyjne do przetwarzania sekwencji, aż po transformatory architekturę stojącą za współczesnymi asystentami AI. Każdy rozdział zawiera praktyczne przykłady w postaci notatników Jupyter, gotowe do uruchomienia w Google Colab.

W książce:

  • Kompletny projekt ML
  • Klasyczne algorytmy
  • Sieci neuronowe w PyTorch
  • CNN do widzenia komputerowego i wykrywania obiektów
  • Transformatory do NLP
  • Uczenie przez wzmacnianie i generatywne modele AI
  • Transfer learning, kwantyzacja, przyspieszanie modeli

Od podstaw do transformatorów praktyczny przewodnik po ML i AI

Książka ta wychowała nowe pokolenie praktyków uczenia maszynowego. Została znakomicie zaktualizowana, aby uwzględnić PyTorch, i ponownie staje się najważniejszym praktycznym przewodnikiem w tej dziedzinie.

Tarun Narayanan, inżynier uczenia maszynowego w Amazon AGI

Geron trafia w sedno: praktyczne implementacje w Scikit-Learn i PyTorch, które uczą koncepcji, równoważone teorią, która wyjaśnia, zamiast przytłaczać.

Ulf Bissbort, dyrektor do spraw technicznych i współzałożyciel ZefHub

Książka ta jest prawdziwą biblią dla początkujących w dziedzinie uczenia maszynowego.

Haesun Park, laureatka programu Microsoft AI MVP

Spis treści

Przedmowa

Część I. Podstawy uczenia maszynowego

  • 1. Krajobraz uczenia maszynowego
    • Czym jest uczenie maszynowe?
    • Dlaczego warto korzystać z uczenia maszynowego?
    • Przykładowe zastosowania
    • Rodzaje systemów uczenia maszynowego
      • Nadzorowanie uczenia
      • Uczenie wsadowe i uczenie przyrostowe
      • Uczenie z przykładów i uczenie z modelu
    • Główne problemy uczenia maszynowego
      • Niedobór danych uczących
      • Niereprezentatywne dane uczące
      • Dane kiepskiej jakości
      • Nieistotne cechy
      • Przetrenowanie danych uczących
      • Niedotrenowanie danych uczących
      • Problemy z wdrażaniem
      • Krok wstecz
    • Testowanie i ocenianie
      • Strojenie hiperparametrów i dobór modelu
      • Niezgodność danych
    • Ćwiczenia
  • 2. Nasz pierwszy projekt uczenia maszynowego
    • Praca z rzeczywistymi danymi
    • Przeanalizuj całokształt projektu
      • Określ zakres problemu
      • Wybierz wskaźnik wydajności
      • Sprawdź założenia
    • Zdobądź dane
      • Uruchom przykładowy kod w serwisie Google Colab
      • Zapisz zmiany w kodzie i w danych
      • Zalety i wady interaktywności
      • Kod w książce a kod w notatnikach Jupyter
      • Pobierz dane
      • Rzut oka na strukturę danych
      • Stwórz zbiór testowy
    • Odkrywaj i wizualizuj dane, aby zdobywać nowe informacje
      • Zwizualizuj dane geograficzne
      • Poszukaj korelacji
      • Eksperymentuj z kombinacjami atrybutów
    • Przygotuj dane pod algorytmy uczenia maszynowego
      • Oczyść dane
      • Obsługa tekstu i atrybutów kategorialnych
      • Skalowanie i przekształcanie cech
      • Niestandardowe transformatory
      • Potoki transformujące
    • Wybierz i wytrenuj model
      • Trenuj i oceń model za pomocą zbioru uczącego
      • Dokładniejsze ocenianie za pomocą sprawdzianu krzyżowego
    • Wyreguluj swój model
      • Metoda przeszukiwania siatki
      • Metoda losowego przeszukiwania
      • Metody zespołowe
      • Analizowanie najlepszych modeli i ich błędów
      • Oceń system za pomocą zbioru testowego
    • Uruchom, monitoruj i utrzymuj swój system
    • Teraz Twoja kolej!
    • Ćwiczenia
  • 3. Klasyfikacja
    • Zbiór danych MNIST
    • Uczenie klasyfikatora binarnego
    • Miary wydajności
      • Pomiar dokładności za pomocą sprawdzianu krzyżowego
      • Macierz pomyłek
      • Precyzja i pełność
      • Kompromis pomiędzy precyzją a pełnością
      • Wykres krzywej ROC
    • Klasyfikacja wieloklasowa
    • Analiza błędów
    • Klasyfikacja wieloetykietowa
    • Klasyfikacja wielowyjściowa
    • Ćwiczenia
  • 4. Uczenie modeli
    • Regresja liniowa
      • Równanie normalne
      • Złożoność obliczeniowa
    • Gradient prosty
      • Wsadowy gradient prosty
      • Stochastyczny spadek wzdłuż gradientu
      • Schodzenie po gradiencie z minigrupami
    • Regresja wielomianowa
    • Krzywe uczenia
    • Regularyzowane modele liniowe
      • Regresja grzbietowa
      • Regresja metodą LASSO
      • Regresja metodą elastycznej siatki
      • Wczesne zatrzymywanie
    • Regresja logistyczna
      • Szacowanie prawdopodobieństwa
      • Uczenie i funkcja kosztu
      • Granice decyzyjne
      • Regresja softmax
    • Ćwiczenia
  • 5. Drzewa decyzyjne
    • Uczenie i wizualizowanie drzewa decyzyjnego
    • Wyliczanie prognoz
    • Szacowanie prawdopodobieństw przynależności do klas
    • Algorytm uczący CART
    • Złożoność obliczeniowa
    • Wskaźnik Giniego czy entropia?
    • Hiperparametry regularyzacyjne
    • Regresja
    • Wrażliwość na orientację osi
    • Drzewa decyzyjne mają znaczną wariancję
    • Ćwiczenia
  • 6. Uczenie zespołowe i losowe lasy
    • Klasyfikatory głosujące
    • Agregacja i wklejanie
      • Agregacja i wklejanie w module Scikit-Learn
      • Ocena OOB
      • Rejony losowe i podprzestrzenie losowe
    • Losowe lasy
      • Zespół Extra-Trees
      • Istotność cech
    • Wzmacnianie
      • AdaBoost
      • Wzmacnianie gradientowe
      • Wzmacnianie gradientu na podstawie histogramu
    • Kontaminacja
    • Ćwiczenia
  • 7. Redukcja wymiarowości
    • Klątwa wymiarowości
    • Główne strategie redukcji wymiarowości
      • Rzutowanie
      • Uczenie rozmaitościowe
    • Analiza PCA
      • Zachowanie wariancji
      • Główne składowe
      • Rzutowanie na d wymiarów
      • Implementacja w module Scikit-Learn
      • Współczynnik wariancji wyjaśnionej
      • Wybór właściwej liczby wymiarów
      • Algorytm PCA w zastosowaniach kompresji
      • Losowa analiza PCA
      • Przyrostowa analiza PCA
    • Rzutowanie losowe
    • Algorytm LLE
    • Inne techniki redukowania wymiarowości
    • Ćwiczenia
  • 8. Techniki uczenia nienadzorowanego
    • Analiza skupień: algorytm centroidów i DBSCAN
      • Algorytm centroidów
      • Granice algorytmu centroidów
      • Analiza skupień w segmentacji obrazu
      • Analiza skupień w uczeniu półnadzorowanym
      • Algorytm DBSCAN
      • Inne algorytmy analizy skupień
    • Mieszaniny gaussowskie
      • Wykrywanie anomalii za pomocą mieszanin gaussowskich
      • Wyznaczanie liczby skupień
      • Bayesowskie modele mieszane
      • Inne algorytmy służące do wykrywania anomalii i nowości
    • Ćwiczenia

Część II. Sieci neuronowe i uczenie głębokie

  • 9. Wprowadzenie do sztucznych sieci neuronowych
    • Od biologicznych do sztucznych neuronów
      • Neurony biologiczne
      • Operacje logiczne przy użyciu neuronów
      • Perceptron
      • Perceptron wielowarstwowy i propagacja wsteczna
    • Budowanie i trenowanie perceptronów wielowarstwowych przy użyciu Scikit-Learn
      • Regresyjne perceptrony wielowarstwowe
      • Klasyfikacyjne perceptrony wielowarstwowe
    • Wytyczne dotyczące dostrajania hiperparametrów
      • Liczba warstw ukrytych
      • Liczba neuronów w poszczególnych warstwach ukrytych
      • Współczynnik uczenia
      • Rozmiar grupy danych
      • Pozostałe hiperparametry
    • Ćwiczenia
  • 10. Budowanie sieci neuronowych w bibliotece PyTorch
    • Podstawy biblioteki PyTorch
      • Tensory PyTorch
      • Przyspieszenie sprzętowe
      • Różniczkowanie automatyczne
    • Implementacja regresji liniowej
      • Regresja liniowa z wykorzystaniem tensorów i różniczkowania automatycznego
      • Regresja liniowa z wykorzystaniem wysokopoziomowego API PyTorch
    • Implementacja regresyjnego perceptronu wielowarstwowego
    • Implementacja schodzenia po gradiencie z minigrupami z wykorzystaniem obiektów klasy DataLoader
    • Ocena modelu
    • Budowanie modeli niesekwencyjnych przy użyciu niestandardowych modułów
      • Budowanie modeli wielowejściowych
      • Budowanie modeli wielowyjściowych
    • Tworzenie klasyfikatora obrazów z wykorzystaniem biblioteki PyTorch
      • Wczytywanie zestawu danych za pomocą biblioteki TorchVision
      • Budowanie klasyfikatora
    • Strojenie hiperparametrów sieci neuronowych za pomocą biblioteki Optuna
    • Zapisywanie i wczytywanie modeli PyTorch
    • Kompilacja i optymalizacja modelu PyTorch
    • Ćwiczenia
  • 11. Uczenie głębokich sieci neuronowych
    • Problemy zanikających/eksplodujących gradientów
      • Inicjalizacje wag Glorota i He
      • Lepsze funkcje aktywacji
      • Normalizacja wsadowa
      • Normalizacja warstwowa
      • Obcinanie gradientu
    • Wielokrotne stosowanie gotowych warstw
      • Uczenie transferowe w bibliotece PyTorch
      • Nienadzorowane uczenie wstępne
      • Uczenie wstępne za pomocą dodatkowego zadania
    • Szybsze optymalizatory
      • Optymalizacja momentum
      • Przyspieszony spadek wzdłuż gradientu (algorytm Nesterova)
      • AdaGrad
      • RMSProp
      • Optymalizator Adam
      • AdaMax
      • NAdam
      • AdamW
    • Harmonogramowanie współczynnika uczenia
      • Harmonogramowanie wykładnicze
      • Wyżarzanie kosinusowe
      • Harmonogramowanie wydajnościowe
      • Rozgrzewanie współczynnika uczenia
      • Wyżarzanie kosinusowe z ciepłymi restartami
      • Harmonogramowanie 1cycle
    • Regularyzacja jako sposób zapobiegania przetrenowaniu
      • Regularyzacja l1 i l2
      • Porzucanie
      • Regularyzacja typu Monte Carlo
      • Regularyzacja typu max-norm
    • Praktyczne wskazówki
    • Ćwiczenia
  • 12. Głębokie widzenie komputerowe za pomocą splotowych sieci neuronowych
    • Struktura kory wzrokowej
    • Warstwy splotowe
      • Filtry
      • Stosy map cech
      • Implementacja warstw splotowych w bibliotece PyTorch
    • Warstwa łącząca
    • Implementacja warstw łączących w bibliotece PyTorch
    • Architektury splotowych sieci neuronowych
      • LeNet-5
      • AlexNet
      • GoogLeNet
      • ResNet
      • Xception
      • SENet
      • Inne interesujące struktury
      • Wybór właściwej struktury CNN
      • Wymagania dotyczące pamięci GPU: wnioskowanie a uczenie
      • Odwracalne sieci rezydualne (RevNet)
    • Implementacja sieci ResNet-34 za pomocą biblioteki PyTorch
    • Korzystanie z gotowych modeli w bibliotece TorchVision
    • Gotowe modele w uczeniu transferowym
    • Klasyfikowanie i lokalizowanie
    • Wykrywanie obiektów
      • W pełni połączone sieci splotowe
      • Sieć YOLO
    • Śledzenie obiektów
    • Segmentacja semantyczna
    • Ćwiczenia
  • 13. Przetwarzanie sekwencji za pomocą sieci rekurencyjnych i splotowych
    • Neurony i warstwy rekurencyjne
      • Komórki pamięci
      • Sekwencje wejść i wyjść
    • Uczenie sieci rekurencyjnych
    • Prognozowanie szeregów czasowych
      • Rodzina modeli ARMA
      • Przygotowywanie danych dla modeli uczenia maszynowego
      • Prognozowanie za pomocą modelu liniowego
      • Prognozowanie za pomocą prostej sieci rekurencyjnej
      • Prognozowanie za pomocą głębokich sieci rekurencyjnych
      • Prognozowanie wielowymiarowych szeregów czasowych
      • Prognozowanie kilka taktów w przód
      • Prognozowanie za pomocą modelu sekwencyjnego
    • Obsługa długich sekwencji
      • Zwalczanie problemu niestabilnych gradientów
      • Zwalczanie problemu pamięci krótkotrwałej
    • Ćwiczenia
  • 14. Przetwarzanie języka naturalnego z wykorzystaniem sieci RNN i mechanizmu uwagi
    • Generowanie tekstu w szekspirowskim stylu przy użyciu znakowej sieci rekurencyjnej
      • Tworzenie zestawu danych treningowych
      • Osadzenia
      • Budowanie i trenowanie modelu Char-RNN
      • Generowanie sztucznego tekstu szekspirowskiego
    • Analiza opinii z wykorzystaniem bibliotek Hugging Face
      • Tokenizacja przy użyciu biblioteki Tokenizers z Hugging Face
      • Wielokrotne korzystanie ze wstępnie wytrenowanych tokenizatorów
      • Budowanie i trenowanie modelu analizy opinii
      • Dwukierunkowe sieci rekurencyjne
      • Wielokrotne stosowanie wstępnie wytrenowanych osadzeń i modeli językowych
      • Klasy specyficzne dla zadań
      • API Trainer
      • Potoki Hugging Face
    • Sieć koder-dekoder w zadaniach neuronowego tłumaczenia maszynowego
    • Przeszukiwanie wiązkowe
    • Mechanizmy uwagi
    • Ćwiczenia
  • 15. Transformatory w przetwarzaniu języka naturalnego i czatbotach
    • Uwaga to wszystko, czego potrzebujesz: oryginalna architektura transformatora
      • Kodowanie pozycyjne
      • Uwaga wieloblokowa
      • Budowanie pozostałej części transformatora
    • Budowanie transformatora tłumaczącego tekst z języka angielskiego na hiszpański
    • Transformatory zawierające tylko koder w zadaniach rozumienia języka naturalnego
      • Architektura modelu BERT
      • Wstępne trenowanie modelu BERT
      • Strojenie modelu BERT
      • Inne modele oparte wyłącznie na koderze
    • Transformatory zawierające wyłącznie dekoder
      • Architektura GPT-1 i generatywne trenowanie wstępne
      • Architektura GPT-2 i uczenie zeroprzykładowe
      • Architektura GPT-3, uczenie w kontekście, uczenie jednoprzykładowe i uczenie kilkuprzykładowe
      • Generowanie tekstu za pomocą modelu GPT-2
      • Wykorzystanie modelu GPT-2 do odpowiadania na pytania
      • Pobieranie i uruchamianie jeszcze większego modelu: Mistral-7B
    • Przekształcanie dużego modelu językowego w czatbota
      • Dostrajanie modelu do prowadzenia rozmów i wykonywania poleceń przy użyciu technik SFT i RLHF
      • Bezpośrednia Optymalizacja Preferencji (DPO)
      • Dostrajanie modelu przy użyciu biblioteki TRL
      • Od modelu czatbota do pełnego systemu czatbota
      • Protokół kontekstu modelu
      • Biblioteki i narzędzia
    • Modele typu koder-dekoder
    • Ćwiczenia
  • 16. Transformatory wizyjne i wielomodalne
    • Transformatory wizyjne
      • Sieci rekurencyjne z uwagą wizualną
      • DETR: hybrydowe połączenie sieci splotowej i transformatora do wykrywania obiektów
      • Oryginalny transformator wizyjny
      • Transformator obrazów wydajny pod względem wykorzystania danych (DeiT)
      • Piramidowy transformator wizyjny do zadań gęstej predykcji
      • Transformator Swin: szybki i wszechstronny transformator wizyjny
      • DINO: samonadzorowane uczenie się reprezentacji wizualnych
      • Inne ważne modele i techniki wizyjne
    • Transformatory wielomodalne
      • VideoBERT: wariant modelu BERT dla tekstu i wideo
      • ViLBERT: dwustrumieniowy transformator do tekstu i obrazu
      • CLIP: podwójny koder tekstu i obrazu trenowany za pomocą kontrastowego uczenia wstępnego
      • DALL·E: generowanie obrazów na podstawie poleceń tekstowych
      • Perceiver: łączenie modalności o dużej rozdzielczości z przestrzeniami ukrytymi
      • Perceiver IO: elastyczny mechanizm wyjściowy dla Perceivera
      • Flamingo: otwarty dialog wizualny
      • BLIP i BLIP-2
    • Inne modele wielomodalne
    • Ćwiczenia
  • 17. Przyspieszanie transformatorów
    • Szybsze dekodowanie podczas wnioskowania
      • Buforowanie par klucz-wartość
      • Dekodowanie spekulatywne
      • Główne podejścia zrównoleglania dekodowania
    • Przyspieszanie wieloblokowej uwagi
      • Mechanizm rzadkiej uwagi
      • Mechanizm przybliżonej uwagi
      • Współdzielenie rzutowań między głowicami uwagi
      • FlashAttention: szybka i dokładna implementacja mechanizmu uwagi
    • Skalowanie z wykorzystaniem mieszaniny ekspertów
      • Warstwa mieszaniny ekspertów
      • Zalety mieszaniny ekspertów
      • Wyzwania związane z modelami MoE
    • Szybsze uczenie
      • Dostrajanie modeli efektywne parametrycznie (PEFT)
      • Tworzenie punktów kontrolnych funkcji aktywacji
      • Pakowanie sekwencji i grupowanie ich według długości
      • Akumulacja gradientów
      • Przyspieszanie trenowania z wykorzystaniem przetwarzania równoległego
    • Ćwiczenia
  • 18. Autokodery, generatywne sieci przeciwstawne i modele dyfuzyjne
    • Efektywne reprezentacje danych
    • Analiza PCA za pomocą niedopełnionego autokodera liniowego
    • Autokodery stosowe
      • Implementacja autokodera stosowego za pomocą biblioteki PyTorch
      • Wizualizowanie rekonstrukcji
      • Wykrywanie anomalii przy użyciu autokoderów
      • Wizualizowanie zestawu danych Fashion MNIST
      • Nienadzorowane uczenie wstępne za pomocą autokoderów stosowych
      • Wiązanie wag
      • Uczenie autokoderów pojedynczo
    • Autokodery splotowe
    • Autokodery odszumiające
    • Autokodery rzadkie
    • Autokodery wariacyjne
    • Generowanie obrazów Fashion MNIST
      • Dyskretne autokodery wariacyjne
    • Generatywne sieci przeciwstawne
      • Problemy związane z uczeniem sieci GAN
    • Modele dyfuzyjne
    • Ćwiczenia
  • 19. Uczenie przez wzmacnianie
    • Czym jest uczenie przez wzmacnianie?
    • Gradienty strategii
      • Wprowadzenie do biblioteki Gymnasium
      • Sieci neuronowe jako strategie
      • Ocenianie czynności: problem przypisania zasługi
      • Rozwiązywanie środowiska CartPole za pomocą gradientów strategii
    • Metody oparte na wartościach
      • Procesy decyzyjne Markowa
      • Uczenie metodą różnic czasowych
      • Q-uczenie
      • Strategie poszukiwania
      • Przybliżający algorytm Q-uczenia i Q-uczenie głębokie
      • Implementacja modelu Q-uczenia głębokiego
      • Usprawnienia sieci DQN
    • Algorytmy typu aktor-krytyk
    • Opanowanie gry Atari Breakout przy użyciu implementacji PPO z biblioteki Stable-Baselines3
    • Przegląd popularnych algorytmów RN
    • Ćwiczenia
    • Dziękuję!
  • A. Różniczkowanie automatyczne
    • Różniczkowanie ręczne
    • Metoda różnic skończonych
    • Różniczkowanie automatyczne
    • Odwrotne różniczkowanie automatyczne
  • B. Mieszana precyzja i kwantyzacja
    • Popularne reprezentacje liczb
    • Modele o zredukowanej precyzji
    • Trening z mieszaną precyzją
    • Kwantyzacja
      • Kwantyzacja liniowa
      • Kwantyzacja potreningowa przy użyciu torch.ao.quantization
      • Trening z uwzględnieniem kwantyzacji (QAT)
      • Kwantyzacja dużych modeli językowych przy użyciu biblioteki bitsandbytes
    • Korzystanie ze wstępnie skwantyzowanych modeli
  • C. Maszyny wektorów nośnych
    • Liniowa klasyfikacja SVM
      • Klasyfikacja miękkiego marginesu
    • Nieliniowa klasyfikacja SVM
      • Jądro wielomianowe
      • Cechy podobieństwa
      • Gaussowskie jądro RBF
      • Klasy SVM i złożoność obliczeniowa
    • Regresja SVM
    • Mechanizm działania liniowych klasyfikatorów SVM
    • Problem dualny
      • Kernelizowane maszyny SVM
    • Ćwiczenia
  • D. Względne kodowanie pozycyjne
    • Względne kodowanie pozycyjne (RPE)
    • Rotacyjne osadzenia pozycyjne (RoPE)
    • Uwaga z obciążeniami liniowymi (ALiBi)
  • E. Modele przestrzeni stanów (SSM)
    • Tradycyjne modele SSM
    • Funkcje jako wektory
    • Jednostka pamięci Legendre'a (LMU)
    • Struktura HiPPO
    • Splotowa reprezentacja modeli LTI SSM
    • Efektywne modelowanie długich sekwencji za pomocą strukturalnych modeli przestrzeni stanów (S4)
    • Mamba: modelowanie sekwencji w czasie liniowym z wykorzystaniem selektywnych przestrzeni stanów
      • Korzystanie z modelu Mamba
  • F. Inne popularne architektury sieci neuronowych
    • Sieci Hopfielda
    • Maszyny Boltzmanna
    • Ograniczone maszyny Boltzmanna
    • Głębokie sieci przekonań
    • Mapy samoorganizujące
Kategoria: Programowanie
Zabezpieczenie: Watermark
Watermark
Watermarkowanie polega na znakowaniu plików wewnątrz treści, dzięki czemu możliwe jest rozpoznanie unikatowej licencji transakcyjnej Użytkownika. E-książki zabezpieczone watermarkiem można odczytywać na wszystkich urządzeniach odtwarzających wybrany format (czytniki, tablety, smartfony). Nie ma również ograniczeń liczby licencji oraz istnieje możliwość swobodnego przenoszenia plików między urządzeniami. Pliki z watermarkiem są kompatybilne z popularnymi programami do odczytywania ebooków, jak np. Calibre oraz aplikacjami na urządzenia mobilne na takie platformy jak iOS oraz Android.
ISBN: 978-83-289-9939-8
Rozmiar pliku: 77 MB

BESTSELLERY

Menu

Zamknij