pytutorial/workflow/python_pure
David Rotermund 4e4154fe71
Update README.md
Signed-off-by: David Rotermund <54365609+davrot@users.noreply.github.com>
2023-12-07 20:59:46 +01:00
..
Image1.png Add files via upload 2023-12-07 20:14:39 +01:00
README.md Update README.md 2023-12-07 20:59:46 +01:00

Windows

We need to download a suitable Python version from https://www.python.org. In the case we want to use PyTorch check here or TensorFlow check here we need to check if the Python version is okay.

I downloded this file: https://www.python.org/ftp/python/3.11.7/python-3.11.7-amd64.exe

Image1.png

Select "Add python.exe to Path" and then press "Install Now".

We need to update pip first:

python.exe -m pip install --upgrade pip

Numba

pip install numpy

pip install numba

Package
numba Numba is an open source JIT compiler that translates a subset of Python and NumPy code into fast machine code.

Basic Packages you want to install

pip3 install numpy scipy pandas flake8 pep8-naming black matplotlib seaborn ipython jupyterlab mypy dataclasses-json dataconf ipympl pywavelets scikit-image opencv-python scikit-learn tqdm argh sympy jsmin pybind11 pybind11-stubgen pigar asciichartpy natsort ipykernel

Package
numpy The fundamental package for scientific computing with Python
scipy Fundamental algorithms for scientific computing in Python
pandas pandas is a fast, powerful, flexible and easy to use open source data analysis and manipulation tool
flake8 Your Tool For Style Guide Enforcement
pep8-naming Check your code against PEP 8 naming conventions
black The uncompromising code formatter
matplotlib Visualization with Python
seaborn seaborn: statistical data visualization
ipython IPython provides a rich architecture for interactive computing
jupyterlab JupyterLab is the latest web-based interactive development environment for notebooks, code, and data.
mypy Mypy is an optional static type checker for Python that aims to combine the benefits of dynamic (or "duck") typing and static typing.
dataclasses-json Easily serialize Data Classes to and from JSON
dataconf Simple dataclasses configuration management for Python with hocon/json/yaml/properties/env-vars/dict support
ipympl Matplotlib Jupyter Integration
pywavelets PyWavelets is open source wavelet transform software for Python.
scikit-learn Simple and efficient tools for predictive data analysis
scikit-image Image processing in Python
opencv-python Open Source Computer Vision Library
tqdm A Fast, Extensible Progress Bar for Python and CLI
argh Building a command-line interface? Found yourself uttering “argh!” while struggling with the API of argparse? Dont want to lose its power but dont need the complexity?
sympy SymPy is a Python library for symbolic mathematics.
jsmin JavaScript minifier
pybind11 Seamless operability between C++11 and Python
pybind11-stubgen For mypy
pigar A tool to generate requirements.txt for Python project, and more than that.
asciichartpy Nice-looking lightweight console ASCII line charts
natsort Simple yet flexible natural sorting in Python.
ipykernel IPython Kernel for Jupyter

PyTorch

Check here for a installation configurator.

CPU only

pip3 install torch torchvision torchaudio torchtext

NVidia GPU

pip3 install torch torchvision torchaudio torchtext --index-url https://download.pytorch.org/whl/cu121

Package
torch PyTorch is a Python package that provides two high-level features: a. Tensor computation (like NumPy) with strong GPU acceleration b. Deep neural networks built on a tape-based autograd system
torchvision The torchvision package consists of popular datasets, model architectures, and common image transformations for computer vision.
torchaudio The aim of torchaudio is to apply PyTorch to the audio domain.
torchtext Models, data loaders and abstractions for language processing, powered by PyTorch

TensorFlow

CPU only

pip install tensorflow

NVidia GPU

python3 -m pip install tensorflow[and-cuda]

Package
tensorflow TensorFlow is an open source software library for high performance numerical computation. Its flexible architecture allows easy deployment of computation across a variety of platforms (CPUs, GPUs, TPUs), and from desktops to clusters of servers to mobile and edge devices.