Szkolenia Python Academy

Cel szkolenia dlearning

Potrzeba skomplikowanych i wydajnych obliczeń jest dużo starsza niż przemysł komputerowy. Dzisiaj oprogramowanie jest codziennym rozwiązaniem problemów obliczeniowych - musi być ciągle od nowa projektowane lub adaptowane w niekończącej się ilości miejsc, żeby osiągnąć cele użytkowników i przeprowadzić wydajne i poprawne obliczenia. Nic tak nie może zaspokoić tych wymagań, jak język programowania, który jest łatwy do nauczenia się przez użytkowników i umożliwia im aktywne realizowanie rozwiązań swoich problemów.

Python jest właśnie tym językiem - jest łatwy do nauki, do użycia i do czytania. Składnia języka umożliwia relatywnie proste pisanie łatwego w utrzymaniu kodu, jak również użycie go jako swoistej 'formy komunikacji' z innymi ludźmi. Co więcej, jest łatwy do optymalizacji i specjalizacji kodu, celem użycia go dla wymagających, ograniczonych zasobowo obliczeń. Będzie to głównym przedmiotem tego kursu

Plan szkolenia Rozwiń listę

  1. Optymalizacja programów w Pythonie
    • Wprowadzenie do optymalizacji.
    • Strategie optymalizacyjne - Benchmarking z Pystone, profilowanie CPU z cProfile, pomiar zużycia pamięci z Guppy_PE Framework. Uczestnicy są zachęcani do przyniesienia swoich własnych programów celem profilowania ich na kursie.
    • Algorytmy i anty-wzorce projektowe - przykłady algorytmów, które działają wyjątkowo wolno lub szybko w Pythonie.
    • Odpowiednie struktury danych - porównanie wbudowanych struktur danych: list, zbiorów, podwójnie zakończonych kolejek, standardowych słowników.
    • Caching - deterministyczne i niedeterministyczne spojrzenie na caching i proces tworzenia dekoratorów.
    • Przykład - znajdziemy numerycznie i obliczeniowo wymagający problem i zaimplementujemy go w czystym Pythonie. Później popatrzymy na możliwości algorytmicznej poprawy szybkości obliczeń.
    • Testowanie prędkości - znajdowanie rozwiązań do prawidłowego pomiaru czasu wykonania programu.
    • Psyco - 'just-in-time-complier' (JIT), pozwalający na tłumaczenie części kodu bajtowego na kod maszynowy. Przykłady celem pokazania możliwości użycia Psyco.
    • Obliczenia numeryczne z NumPy - podstawy użycia biblioteki.
    • Używanie wielu jednostek obliczeniowych z PyProcessing/Multiprocessing.
    • Kombinacja strategii optymalizacyjnych.
    • Przegląd rozszerzeń do Pythona z innych języków.
  2. Rozszerzenie Pythona z innych języków
    • Wprowadzenie do przykładu, który będzie użyty w dalszej części tego modułu.
    • Użycie C-API Pythona - standardowy Python jest zaimplementowany w C i oferuje solidne API do pisania rozszerzeń.
    • Użycie plików DLL z ctypes - dostęp do bibliotek DLL lub bibliotek współdzielonych z poziomu Pythona.
    • Rozszerzenia Pythona z Pyrex/Cython.
    • Automatyczna generacja rozszerzeń ze SWIG - "Simplified Wrapper and Interface Generator", pozwalający tworzyć biblioteki C/C++ z 13 języków programowania - jednym z nich jest Python. Przykłady zarówno w C, jak i w C++.
    • Jython - podstawy implementacji Pythona w Javie. Przykłady użycia zarówno już istniejących klas Javy, jak i napisanych własnoręcznie.
    • IronPython - implementacja Pythona w .NET, pozwalająca na dostęp do wszystkich funkcjonalności .NET i stawiająca IronPythona zaraz obok C# i VisualBasica, jako pełnoprawny język platformy .NET.
    • Użycie subrutyn FORTRANa w Pythonie - przykłady użycia F2PY do połączenia FORTRAN77, FORTRAN90/95 programów z Pythonem. Projektowanie interfejsów zorientowanych obiektowo do tych bibliotek.
  3. Szybki kod z kompilatorem Cython
    • Używanie pyximport do szybkiego budowania/aktualizowania modułów rozszerzeń.
    • Użycie cython.inline() do kompilacji kodu w trakcie wykonania programu.
    • Budowanie rozszerzeń z distutils.
    • Szybki dostęp do typów wbudowanych w Pythonie.
    • Szybkie iterowanie po typach Pythonowych i C.
    • Przetwarzanie łańcuchów napisów.
    • Szybka arytmetyka.
    • Inkrementacyjne optymalizowanie kodu Cythona.
    • Wielowątkowość poza GIL(Global Interpreter Lock).
    • Wywołania zewnętrznych bibliotek C.
    • Pisanie 'opakowań' API Pythona.
    • Wywołania funkcji z C przez moduł rozszerzeń.
  4. Numeryczne obliczenia z NumPy
    • Standardowe obliczenia algebry liniowej i operacje na tablicach.
    • Konstrukcja macierzy i ich właściwości w przykładach.
    • Porównanie prędkości pomiędzy dynamicznie określanymi typami danych Pythona i definiowanymi explicite tablicami NumPy.
    • Odniesienie do zależności pomiędzy typami danych w NumPy i C.
    • Cięcie i rzutowanie macierzy - czytanie i pisanie do niezależnych części tablic, zastosowanie rzutowania do operacji na macierzach o różnych wymiarach.
    • Funkcje uniwersalne - wykonywanie wielu operacji na całych macierzach, niezależnie od ich wymiaru, przykłady użycia.
    • Algebra numeryczna.
    • Praca z brakującymi wartościami - maskowane i NA-maskowane macierze, użycie do obliczeń na tablicach z brakującymi lub nieprawidłowymi danymi.
    • Dostosowywanie obsługi błędów - NumPy oferuje wysokopoziomowe podejście do obsługi błędów bez strat na wydajności działania.
    • Wsparcie testowania - NumPy oferuje funkcjonalności pomagające w pisaniu testów - kurs pokrywa podstawy korzystania z nich.
  5. Szybkie przetwarzanie NumPy z Cythonem
    • Użycie interfejsu buforowania Pythona z Cythonem.
    • Bezpośredni dostęp do buforów danych innych rozszerzeń Pythona.
    • Odzyskiwanie metadanych o warstwie buforowej.
    • Ustawianie wydajnych widoków pamięci na zewnętrznych buforach.
    • Implementacja szybkich pętli Cythona nad macierzami NumPy.
    • Iteracja nad buforami wyeksportowanymi z NumPy
    • Implementacja prostego algorytmy przetwarzania obrazów
    • Użycie "typów skondensowanych" do implementacji algorytmu i wydajnego przeprowadzenia jego wykonania z użyciem różnych typów danych z C.
    • Użycie równolegle wykonujących się pętli celem skorzystania z przetwarzania wieloprocesorowego.
    • Budowanie modułów z OpenMP.
    • Równoległe przetwarzanie danych.
    • Przyspieszenie działania pętli używając wątków OpenMP.
Pobierz konspekt szkolenia w formacie PDF

Dodatkowe informacje

Wymagania
  • Doświadczenie w programowaniu w Pythonie jest wymagane.
  • Podstawowa znajomość języka C jest przydatna - ale nie wymagana.
Poziom trudności
Czas trwania 5 dni
Certyfikat Uczestnicy otrzymują po zakończeniu szkolenia zaświadczenie o ukończeniu autoryzowanego kursu Python Academy.
Prowadzący Autoryzowany wykładowca Python Academy.

Szkolenia powiązane tematycznieRozwiń listę

Web Design i Programowanie


Prosimy o wypełnienie poniższego formularza, jeśli chcą Państwo uzyskać więcej informacji o powyższym szkoleniu.






* pola oznaczone (*) są wymagane

Informacje o przetwarzaniu danych przez Compendium – Centrum Edukacyjne Spółka z o.o.

Administratorem danych osobowych jest Compendium – Centrum Edukacyjne Spółka z o.o. z siedzibą w Krakowie, ul. Tatarska 5,30-103 Kraków, e-mail: compendium@compendium.pl

W sprawach związanych z Pani/a danymi można kontaktować się z powołanym Inspektorem Ochrony Danych, e-mail iod@compendium.pl, lub pisząc na adres korespondencyjny Compendium – Centrum Edukacyjne Spółka z o.o. ul. Tatarska 5, 30-103 Kraków

Dane będą przetwarzane w celu przesyłania informacji handlowych, marketingowych oraz przesłaniu newslettera na podstawie wyrażonej zgody.

Dane mogą być udostępniane:

- pracownikom i współpracownikom Compendium – Centrum Edukacyjne Spółka z o.o., którzy muszą mieć dostęp do danych osobowych aby realizować Pani/a zamówienie, lub usługę
- podmioty przetwarzające dane na zlecenie Compendium – Centrum Edukacyjne Spółka z o.o., np. poczta, kurier, przewoźnik profesjonalny,
- uprawnione organy państwowe w tym organy nadzorcze w zakresie ich uprawnień.

Dane będą przechowywane przez okres realizacji zamówienia i usług posprzedażowych, a jeżeli tego okresu ustalić się nie da – do czasu wyrażenia przez Panią/a sprzeciwu.

Ma Pan/i prawo dostępu do swoich danych osobowych, ich sprostowania, usunięcia lub ograniczenia przetwarzania.

Ma Pan/i prawo do wniesienia sprzeciwu wobec dalszego przetwarzania, a w przypadku wyrażenia zgody na przetwarzanie danych do jej wycofania. Skorzystanie prawa cofnięcia zgody nie ma wpływu na przetwarzanie, które miało miejsce do momentu wycofania zgody.

Ma Pan/i także prawo do przenoszenia danych.

Informujemy, że Pana/Pani dane osobowe nie będą profilowane.

Przysługuje Pani/u prawo wniesienia skargi do organu nadzorczego Prezesa Urzędu Ochrony Danych Osobowych, w przypadku przetwarzania Pana/Pani danych osobowych w sposób naruszający przepisy RODO.

CENA 6750 PLN NETTO Czy wiesz, że możesz uzyskać do 100% dofinansowania na ten kurs?   Sprawdź jak »

zamknij

Kody rabatowe

Kod rabatowy, może dotyczyć (szkolenia, producenta, terminu). Jeżeli posiadasz kod rabatowy, to wpisz go w odpowiednie pole.
(kolor zielony oznacza wpisanie prawidłowego kodu | kolor czerwony oznacza, że wpisany kod jest nieprawidłowy)

FORMA SZKOLENIA ?

zamknij

Szkolenie stacjonarne

Szkolenia stacjonarne w Compendium CE odbywają się najczęściej w naszych lokalizacjach w Krakowie i Warszawie, ale także w miejscu ustalonym przez klienta. Grupa uczestnicząca w szkoleniu spotyka się w danym miejscu o określonym czasie i wraz z trenerem aktywnie uczestniczy w laboratoriach.

Szkolenie dlearning

W szkoleniach Compendium Distance Learning możesz uczestniczyć z dowolnego miejsca na świecie. Kursanci, dzięki zaawansowanej technologii, którą dostarcza Compendium CE, stale widzą i słyszą trenera, mogą mu zadawać pytania poprzez chat i mikrofon, a także uczestniczą w ćwiczeniach i laboratoriach, które rozwiązują wraz z prowadzącym. Po więcej informacji zajrzyj na stronę dlearning.eu

MATERIAŁY SZKOLENIOWE ?

zamknij

Materiały papierowe

Materiały tradycyjne: cena zawiera standardowe materiały wydawane w postaci książek papierowych, drukowanych lub innej, w zależności od ustaleń z producentem.

Materiały ctab

Materiały ctab: cena zawiera tablet ctab oraz materiały szkoleniowe w formie elektronicznej bądź tradycyjne materiały szkoleniowe i materiały dodatkowe dostarczone w wersji elektronicznej w zależności od ustaleń z producentem (w postaci dokumentów PDF lub EPUB). Tak dostarczone materiały są przystosowane pod kątem wyświetlania ich na tablecie ctab. Po więcej informacji zajrzyj na stronę ctab.

 

WYBIERZ TERMIN SZKOLENIA

Brak ustalonych terminów dla tego szkolenia.

Zaproponuj własny termin

Najbliższe szkolenia Python Academy

Harmonogram szkoleń
Python Academy