# Znacznie łatwiej zainstalować moduł TensorFlow za pomocą Anacondy, zwłaszcza
# na systemie Windows lub podczas korzystania z procesora graficznego. Instrukcję
# instalacji znajdziesz w pliku INSTALL.md

##### Podstawowe pakiety naukowe
jupyterlab~=3.4.6
matplotlib~=3.5.3
numpy~=1.23.3
pandas~=1.4.4
scipy~=1.9.1


##### Pakiety uczenia maszynowego
scikit-learn~=1.1.2

# Dodatkowo: biblioteka XGBoost jest używana jedynie w rozdziale 7.
xgboost~=1.6.2


# Dodatkowo: biblioteka  transformers jest używana jedynie w rozdziale 16.
transformers~=4.21.3

##### Pakiety związane z modułem TensorFlow

# Jeżeli masz kartę graficzną zgodną z modułem TF i chcesz włączyć jej obsługę, to
# zastąp bibliotekę tensorflow-serving-api biblioteką tensorflow-serving-api-gpu.
# Twoja karta graficzna musi zawierać funkcję CUDA Compute Capability 3.5 lub nowszą, a do
# tego musisz zainstalować biblioteki CUDA, cuDNN itd.: szczegóły znajdziesz na stronie tensorflow.org.

tensorflow==2.10.0
# Dodatkowo: biblioteka TF Serving API jest wymagana jedynie w rozdziale 18.
tensorflow-serving-api~=2.10.0  # lub tensorflow-serving-api-gpu, jeśli gpu

tensorboard~=2.10.0
tensorboard-plugin-profile~=2.8.0
tensorflow-datasets~=4.6.0
tensorflow-hub~=0.12.0

# Używana w rozdziałach 10. i 19. do strojenia hiperparametrów
keras-tuner~=1.1.3

# Dodatkowo: używana w rozdziałach 11. i 16. (AdamW i seq2seq)
tensorflow-addons~=0.17.1

##### Biblioteka uczenia przez wzmacnianie (rozdział 18.)

# Istnieje tu kilka zależności, które trzeba zainstalować w pierwszej kolejności. Zajrzyj pod adres:
# https://github.com/openai/gym#installing-everything
gym[Box2D,atari,accept-rom-license]~=0.26.1

# OSTRZEŻENIE: w systemie Windows instalacja biblioteki Box2D w ten sposób wymaga:
# * Swig: http://www.swig.org/download.html
# * Microsoft C++ Build Tools:
#   https://visualstudio.microsoft.com/visual-cpp-build-tools/
# Znacznie łatwiej skorzystać z Anacondy. 

##### Przetwarzanie obrazu
Pillow~=9.2.0
graphviz~=0.20.1

##### Google Cloud Platform - wykorzystywana jedynie w rozdziale 19.
google-cloud-aiplatform~=1.17.0
google-cloud-storage~=2.5.0

##### Dodatkowe narzędzia

# Wydajne realizowanie zadań (korzystanie z pamięci podręcznej, zrównoleglanie, utrwalanie)
joblib~=1.1.0

# Łatwe przesyłanie zapytań http
requests~=2.28.1

# Dobre narzędzie do ukazywania różnic w notatnikach Jupyter.
nbdime~=3.1.1

# Może się przydać w przypadku skomplikowanych klauzul "where" w bibliotece Pandas (zob. samouczek Pandas).
numexpr~=2.8.3

# Dodatkowo: poniższe biblioteki mogą przydać się w rozdziale 3., w ćwiczeniu 4.
nltk~=3.7
urlextract~=1.6.0

# Dodatkowo: biblioteka tqdm wyświetla ładne paski postępu, a ipywidgets umożliwia korzystanie z biblioteki tqdm w notatnikach.
tqdm~=4.64.1
ipywidgets~=8.0.2

# Dodatkowo: pydot jest wykorzystywana jedynie w rozdziale 10. w funkcji tf.keras.utils.plot_model()
pydot~=1.4.2

# Dodatkowo: statsmodels jest wykorzystywana jedynie w rozdziale 15. w analizie szeregów czasowych
statsmodels~=0.13.2