Python3 Packages to install before starting to code on deep learning using Tensorflow

Python3 Packages to install before starting to code on deep learning using Tensorflow

To start working with deep learning or designing CNN architecture or even if you want to use any pre-trained model, you need some of the basic python packages to get it started.

Here are some of the most required tools, that you need to install as a basic requirement for tensorflow or keras.

 

pip install numpy scipy matplotlib scikit-image scikit-learn ipython pillow matplotlib
Collecting numpy
  Downloading https://files.pythonhosted.org/packages/51/70/7096a735b27359dbc0c380b23b9c9bd05fea62233f95849c43a6b02c5f40/numpy-1.15.4-cp36-none-win_amd64.whl (13.5MB)
    100% |████████████████████████████████| 13.5MB 1.8MB/s
Collecting scipy
  Downloading https://files.pythonhosted.org/packages/62/e2/364f0bcc641aeff79d743c732769d5dc31a1e78c27699229431412c4b425/scipy-1.1.0-cp36-none-win_amd64.whl (31.1MB)
    100% |████████████████████████████████| 31.1MB 817kB/s
Collecting matplotlib
  Downloading https://files.pythonhosted.org/packages/b1/56/569c83515c10146fd0aa09e086816b12e301d0811048e3354a6e9b77ba9a/matplotlib-3.0.2-cp36-cp36m-win_amd64.whl (8.9MB)
    100% |████████████████████████████████| 8.9MB 1.1MB/s
Collecting scikit-image
  Downloading https://files.pythonhosted.org/packages/10/f4/d4d24d70c373ccc95089c36b83ab3e6c8f62f7a9a2c6fdc91df8db8d7cfe/scikit_image-0.14.1-cp36-none-win_amd64.whl (24.6MB)
    100% |████████████████████████████████| 24.6MB 991kB/s
Collecting scikit-learn
  Downloading https://files.pythonhosted.org/packages/b2/9d/3e18b1191331d9a4674926fb4625c17de1aae29d371696f38a5e05238e99/scikit_learn-0.20.1-cp36-cp36m-win_amd64.whl (4.8MB)
    100% |████████████████████████████████| 4.8MB 729kB/s
Collecting ipython
  Downloading https://files.pythonhosted.org/packages/f0/b4/a9ea018c73a84ee6280b2e94a1a6af8d63e45903eac2da0640fa63bca4db/ipython-7.2.0-py3-none-any.whl (765kB)
    100% |████████████████████████████████| 768kB 9.3MB/s
Collecting pillow
  Downloading https://files.pythonhosted.org/packages/bd/39/c76eaf781343162bdb1cf4854cb3bd5947a87ee44363e5acd6c48d69c4a1/Pillow-5.3.0-cp36-cp36m-win_amd64.whl (1.6MB)
    100% |████████████████████████████████| 1.6MB 3.0MB/s
Collecting pyparsing!=2.0.4,!=2.1.2,!=2.1.6,>=2.0.1 (from matplotlib)
  Downloading https://files.pythonhosted.org/packages/71/e8/6777f6624681c8b9701a8a0a5654f3eb56919a01a78e12bf3c73f5a3c714/pyparsing-2.3.0-py2.py3-none-any.whl (59kB)
    100% |████████████████████████████████| 61kB 6.1MB/s
Collecting python-dateutil>=2.1 (from matplotlib)
  Downloading https://files.pythonhosted.org/packages/74/68/d87d9b36af36f44254a8d512cbfc48369103a3b9e474be9bdfe536abfc45/python_dateutil-2.7.5-py2.py3-none-any.whl (225kB)
    100% |████████████████████████████████| 235kB 534kB/s
Collecting kiwisolver>=1.0.1 (from matplotlib)
  Downloading https://files.pythonhosted.org/packages/44/72/16630c3392eba03788ad87949390516bbc488e8e118047a3b824631d21a6/kiwisolver-1.0.1-cp36-none-win_amd64.whl (57kB)
    100% |████████████████████████████████| 61kB 6.1MB/s
Collecting cycler>=0.10 (from matplotlib)
  Downloading https://files.pythonhosted.org/packages/f7/d2/e07d3ebb2bd7af696440ce7e754c59dd546ffe1bbe732c8ab68b9c834e61/cycler-0.10.0-py2.py3-none-any.whl
Collecting PyWavelets>=0.4.0 (from scikit-image)
  Downloading https://files.pythonhosted.org/packages/9e/81/ad9b838b3bfe4baa3cce9cb36bf576069404b3c6486335d67bc1d8fd848f/PyWavelets-1.0.1-cp36-none-win_amd64.whl (4.2MB)
    100% |████████████████████████████████| 4.2MB 3.1MB/s
Collecting cloudpickle>=0.2.1 (from scikit-image)
  Downloading https://files.pythonhosted.org/packages/fc/87/7b7ef3038b4783911e3fdecb5c566e3a817ce3e890e164fc174c088edb1e/cloudpickle-0.6.1-py2.py3-none-any.whl
Collecting dask[array]>=0.9.0 (from scikit-image)
  Downloading https://files.pythonhosted.org/packages/b4/e5/6407c2349622699eab0881e6bc6e978b8da67872a105e5e20b72ff190c65/dask-1.0.0-py2.py3-none-any.whl (685kB)
    100% |████████████████████████████████| 686kB 521kB/s
Collecting six>=1.10.0 (from scikit-image)
  Using cached https://files.pythonhosted.org/packages/67/4b/141a581104b1f6397bfa78ac9d43d8ad29a7ca43ea90a2d863fe3056e86a/six-1.11.0-py2.py3-none-any.whl
Collecting networkx>=1.8 (from scikit-image)
  Downloading https://files.pythonhosted.org/packages/f3/f4/7e20ef40b118478191cec0b58c3192f822cace858c19505c7670961b76b2/networkx-2.2.zip (1.7MB)
    100% |████████████████████████████████| 1.7MB 3.1MB/s
Collecting traitlets>=4.2 (from ipython)
  Downloading https://files.pythonhosted.org/packages/93/d6/abcb22de61d78e2fc3959c964628a5771e47e7cc60d53e9342e21ed6cc9a/traitlets-4.3.2-py2.py3-none-any.whl (74kB)
    100% |████████████████████████████████| 81kB 6.3MB/s
Collecting backcall (from ipython)
  Downloading https://files.pythonhosted.org/packages/84/71/c8ca4f5bb1e08401b916c68003acf0a0655df935d74d93bf3f3364b310e0/backcall-0.1.0.tar.gz
Collecting colorama; sys_platform == "win32" (from ipython)
  Downloading https://files.pythonhosted.org/packages/4f/a6/728666f39bfff1719fc94c481890b2106837da9318031f71a8424b662e12/colorama-0.4.1-py2.py3-none-any.whl
Collecting pickleshare (from ipython)
  Downloading https://files.pythonhosted.org/packages/9a/41/220f49aaea88bc6fa6cba8d05ecf24676326156c23b991e80b3f2fc24c77/pickleshare-0.7.5-py2.py3-none-any.whl
Collecting jedi>=0.10 (from ipython)
  Downloading https://files.pythonhosted.org/packages/7a/1a/9bd24a185873b998611c2d8d4fb15cd5e8a879ead36355df7ee53e9111bf/jedi-0.13.1-py2.py3-none-any.whl (177kB)
    100% |████████████████████████████████| 184kB 292kB/s
Collecting pygments (from ipython)
  Downloading https://files.pythonhosted.org/packages/fc/41/4f900a7852e25bb9350b4e3ee8c4aba0ee32abefd401456962b25f954823/Pygments-2.3.0-py2.py3-none-any.whl (845kB)
    100% |████████████████████████████████| 849kB 540kB/s
Collecting decorator (from ipython)
  Downloading https://files.pythonhosted.org/packages/bc/bb/a24838832ba35baf52f32ab1a49b906b5f82fb7c76b2f6a7e35e140bac30/decorator-4.3.0-py2.py3-none-any.whl
Requirement already satisfied: setuptools>=18.5 in c:\users\azamra~1\envs\py3\lib\site-packages (from ipython) (40.6.2)
Collecting prompt-toolkit<2.1.0,>=2.0.0 (from ipython)
  Downloading https://files.pythonhosted.org/packages/d1/e6/adb3be5576f5d27c6faa33f1e9fea8fe5dbd9351db12148de948507e352c/prompt_toolkit-2.0.7-py3-none-any.whl (338kB)
    100% |████████████████████████████████| 348kB 603kB/s
Collecting toolz>=0.7.3; extra == "array" (from dask[array]>=0.9.0->scikit-image)
  Downloading https://files.pythonhosted.org/packages/14/d0/a73c15bbeda3d2e7b381a36afb0d9cd770a9f4adc5d1532691013ba881db/toolz-0.9.0.tar.gz (45kB)
    100% |████████████████████████████████| 51kB 5.7MB/s
Collecting ipython-genutils (from traitlets>=4.2->ipython)
  Downloading https://files.pythonhosted.org/packages/fa/bc/9bd3b5c2b4774d5f33b2d544f1460be9df7df2fe42f352135381c347c69a/ipython_genutils-0.2.0-py2.py3-none-any.whl
Collecting parso>=0.3.0 (from jedi>=0.10->ipython)
  Downloading https://files.pythonhosted.org/packages/09/51/9c48a46334be50c13d25a3afe55fa05c445699304c5ad32619de953a2305/parso-0.3.1-py2.py3-none-any.whl (88kB)
    100% |████████████████████████████████| 92kB 120kB/s
Collecting wcwidth (from prompt-toolkit<2.1.0,>=2.0.0->ipython)
  Downloading https://files.pythonhosted.org/packages/7e/9f/526a6947247599b084ee5232e4f9190a38f398d7300d866af3ab571a5bfe/wcwidth-0.1.7-py2.py3-none-any.whl
Building wheels for collected packages: networkx, backcall, toolz
  Running setup.py bdist_wheel for networkx ... done
  Stored in directory: C:\Users\Azam Rafique\AppData\Local\pip\Cache\wheels\68\f8\29\b53346a112a07d30a5a84d53f19aeadaa1a474897c0423af91
  Running setup.py bdist_wheel for backcall ... done
  Stored in directory: C:\Users\Azam Rafique\AppData\Local\pip\Cache\wheels\98\b0\dd\29e28ff615af3dda4c67cab719dd51357597eabff926976b45
  Running setup.py bdist_wheel for toolz ... done
  Stored in directory: C:\Users\Azam Rafique\AppData\Local\pip\Cache\wheels\f4\0c\f6\ce6b2d1aa459ee97cc3c0f82236302bd62d89c86c700219463
Successfully built networkx backcall toolz
Installing collected packages: numpy, scipy, pyparsing, six, python-dateutil, kiwisolver, cycler, matplotlib, PyWavelets, cloudpickle, pillow, toolz, dask, decorator, networkx, scikit-image, scikit-learn, ipython-genutils, traitlets, backcall, colorama, pickleshare, parso, jedi, pygments, wcwidth, prompt-toolkit, ipython
Successfully installed PyWavelets-1.0.1 backcall-0.1.0 cloudpickle-0.6.1 colorama-0.4.1 cycler-0.10.0 dask-1.0.0 decorator-4.3.0 ipython-7.2.0 ipython-genutils-0.2.0 jedi-0.13.1 kiwisolver-1.0.1 matplotlib-3.0.2 networkx-2.2 numpy-1.15.4 parso-0.3.1 pickleshare-0.7.5 pillow-5.3.0 prompt-toolkit-2.0.7 pygments-2.3.0 pyparsing-2.3.0 python-dateutil-2.7.5 scikit-image-0.14.1 scikit-learn-0.20.1 scipy-1.1.0 six-1.11.0 toolz-0.9.0 traitlets-4.3.2 wcwidth-0.1.7
pip install pandas
Collecting pandas
  Downloading https://files.pythonhosted.org/packages/0e/67/def5bfaf4d3324fdb89048889ec523c0903c5efab1a64c8dbe0ac8eec13c/pandas-0.23.4-cp36-cp36m-win_amd64.whl (7.7MB)
    100% |████████████████████████████████| 7.7MB 239kB/s
Requirement already satisfied: numpy>=1.9.0 in c:\users\azamra~1\envs\py3\lib\site-packages (from pandas) (1.15.4)
Requirement already satisfied: python-dateutil>=2.5.0 in c:\users\azamra~1\envs\py3\lib\site-packages (from pandas) (2.7.5)
Collecting pytz>=2011k (from pandas)
  Downloading https://files.pythonhosted.org/packages/f8/0e/2365ddc010afb3d79147f1dd544e5ee24bf4ece58ab99b16fbb465ce6dc0/pytz-2018.7-py2.py3-none-any.whl (506kB)
    100% |████████████████████████████████| 512kB 466kB/s
Requirement already satisfied: six>=1.5 in c:\users\azamra~1\envs\py3\lib\site-packages (from python-dateutil>=2.5.0->pandas) (1.11.0)
Installing collected packages: pytz, pandas
Successfully installed pandas-0.23.4 pytz-2018.7
pip install h5py seaborn opencv-python opencv-contrib-python pydot
Collecting h5py
  Downloading https://files.pythonhosted.org/packages/12/6c/00c38c5ce9322f1cc421d93217c44739646a106c61859622eccc297a5c05/h5py-2.8.0-cp36-cp36m-win_amd64.whl (2.3MB)
    100% |████████████████████████████████| 2.3MB 6.2MB/s
Collecting seaborn
  Downloading https://files.pythonhosted.org/packages/a8/76/220ba4420459d9c4c9c9587c6ce607bf56c25b3d3d2de62056efe482dadc/seaborn-0.9.0-py3-none-any.whl (208kB)
    100% |████████████████████████████████| 215kB 263kB/s
Collecting opencv-python
  Downloading https://files.pythonhosted.org/packages/1e/98/452aa4fd20060b40bb435b6e9e2cf54db249ebb4c1f74162cc088269ac9c/opencv_python-3.4.4.19-cp36-cp36m-win_amd64.whl (38.3MB)
    100% |████████████████████████████████| 38.3MB 413kB/s
Collecting opencv-contrib-python
  Downloading https://files.pythonhosted.org/packages/a7/f3/5bbdaa05dfea18d32d5af00b6d25bed8d81a0c2eaa278a41052be689b1ba/opencv_contrib_python-3.4.4.19-cp36-cp36m-win_amd64.whl (44.1MB)
    100% |████████████████████████████████| 44.1MB 341kB/s
Collecting pydot
  Downloading https://files.pythonhosted.org/packages/53/11/9db5c788f5ad05438b7c2a07fd7edd9820b7f3d95bb0690a16f7bf426204/pydot-1.4.0-py2.py3-none-any.whl
Requirement already satisfied: six in c:\users\azamra~1\envs\py3\lib\site-packages (from h5py) (1.11.0)
Requirement already satisfied: numpy>=1.7 in c:\users\azamra~1\envs\py3\lib\site-packages (from h5py) (1.15.4)
Requirement already satisfied: pandas>=0.15.2 in c:\users\azamra~1\envs\py3\lib\site-packages (from seaborn) (0.23.4)
Requirement already satisfied: scipy>=0.14.0 in c:\users\azamra~1\envs\py3\lib\site-packages (from seaborn) (1.1.0)
Requirement already satisfied: matplotlib>=1.4.3 in c:\users\azamra~1\envs\py3\lib\site-packages (from seaborn) (3.0.2)
Requirement already satisfied: pyparsing>=2.1.4 in c:\users\azamra~1\envs\py3\lib\site-packages (from pydot) (2.3.0)
Requirement already satisfied: python-dateutil>=2.5.0 in c:\users\azamra~1\envs\py3\lib\site-packages (from pandas>=0.15.2->seaborn) (2.7.5)
Requirement already satisfied: pytz>=2011k in c:\users\azamra~1\envs\py3\lib\site-packages (from pandas>=0.15.2->seaborn) (2018.7)
Requirement already satisfied: cycler>=0.10 in c:\users\azamra~1\envs\py3\lib\site-packages (from matplotlib>=1.4.3->seaborn) (0.10.0)
Requirement already satisfied: kiwisolver>=1.0.1 in c:\users\azamra~1\envs\py3\lib\site-packages (from matplotlib>=1.4.3->seaborn) (1.0.1)
Requirement already satisfied: setuptools in c:\users\azamra~1\envs\py3\lib\site-packages (from kiwisolver>=1.0.1->matplotlib>=1.4.3->seaborn) (40.6.2)
Installing collected packages: h5py, seaborn, opencv-python, opencv-contrib-python, pydot
Successfully installed h5py-2.8.0 opencv-contrib-python-3.4.4.19 opencv-python-3.4.4.19 pydot-1.4.0 seaborn-0.9.0

 

pip install tensorflow
Collecting tensorflow
  Downloading https://files.pythonhosted.org/packages/05/cd/c171d2e33c0192b04560ce864c26eba83fed888fe5cd9ded661b2702f2ae/tensorflow-1.12.0-cp36-cp36m-win_amd64.whl (45.9MB)
    100% |████████████████████████████████| 45.9MB 102kB/s
Collecting grpcio>=1.8.6 (from tensorflow)
  Downloading https://files.pythonhosted.org/packages/2f/bc/671ce1e13032cfaf6d4d8901019d376f8ce7f18ee046435bf18ee5782630/grpcio-1.17.0-cp36-cp36m-win_amd64.whl (1.5MB)
    100% |████████████████████████████████| 1.5MB 173kB/s
Collecting gast>=0.2.0 (from tensorflow)
  Downloading https://files.pythonhosted.org/packages/5c/78/ff794fcae2ce8aa6323e789d1f8b3b7765f601e7702726f430e814822b96/gast-0.2.0.tar.gz
Collecting protobuf>=3.6.1 (from tensorflow)
  Downloading https://files.pythonhosted.org/packages/e8/df/d606d07cff0fc8d22abcc54006c0247002d11a7f2d218eb008d48e76851d/protobuf-3.6.1-cp36-cp36m-win_amd64.whl (1.1MB)
    100% |████████████████████████████████| 1.1MB 170kB/s
Requirement already satisfied: six>=1.10.0 in c:\users\azamra~1\envs\py3\lib\site-packages (from tensorflow) (1.11.0)
Collecting astor>=0.6.0 (from tensorflow)
  Downloading https://files.pythonhosted.org/packages/35/6b/11530768cac581a12952a2aad00e1526b89d242d0b9f59534ef6e6a1752f/astor-0.7.1-py2.py3-none-any.whl
Collecting keras-preprocessing>=1.0.5 (from tensorflow)
  Downloading https://files.pythonhosted.org/packages/fc/94/74e0fa783d3fc07e41715973435dd051ca89c550881b3454233c39c73e69/Keras_Preprocessing-1.0.5-py2.py3-none-any.whl
Requirement already satisfied: numpy>=1.13.3 in c:\users\azamra~1\envs\py3\lib\site-packages (from tensorflow) (1.15.4)
Collecting keras-applications>=1.0.6 (from tensorflow)
  Downloading https://files.pythonhosted.org/packages/3f/c4/2ff40221029f7098d58f8d7fb99b97e8100f3293f9856f0fb5834bef100b/Keras_Applications-1.0.6-py2.py3-none-any.whl (44kB)
    100% |████████████████████████████████| 51kB 205kB/s
Collecting termcolor>=1.1.0 (from tensorflow)
  Downloading https://files.pythonhosted.org/packages/8a/48/a76be51647d0eb9f10e2a4511bf3ffb8cc1e6b14e9e4fab46173aa79f981/termcolor-1.1.0.tar.gz
Collecting absl-py>=0.1.6 (from tensorflow)
  Downloading https://files.pythonhosted.org/packages/0c/63/f505d2d4c21db849cf80bad517f0065a30be6b006b0a5637f1b95584a305/absl-py-0.6.1.tar.gz (94kB)
    100% |████████████████████████████████| 102kB 74kB/s
Requirement already satisfied: wheel>=0.26 in c:\users\azamra~1\envs\py3\lib\site-packages (from tensorflow) (0.32.3)
Collecting tensorboard<1.13.0,>=1.12.0 (from tensorflow)
  Downloading https://files.pythonhosted.org/packages/e0/d0/65fe48383146199f16dbd5999ef226b87bce63ad5cd73c840cf722637969/tensorboard-1.12.0-py3-none-any.whl (3.0MB)
    100% |████████████████████████████████| 3.1MB 107kB/s
Requirement already satisfied: setuptools in c:\users\azamra~1\envs\py3\lib\site-packages (from protobuf>=3.6.1->tensorflow) (40.6.2)
Requirement already satisfied: h5py in c:\users\azamra~1\envs\py3\lib\site-packages (from keras-applications>=1.0.6->tensorflow) (2.8.0)
Collecting markdown>=2.6.8 (from tensorboard<1.13.0,>=1.12.0->tensorflow)
  Downloading https://files.pythonhosted.org/packages/7a/6b/5600647404ba15545ec37d2f7f58844d690baf2f81f3a60b862e48f29287/Markdown-3.0.1-py2.py3-none-any.whl (89kB)
    100% |████████████████████████████████| 92kB 103kB/s
Collecting werkzeug>=0.11.10 (from tensorboard<1.13.0,>=1.12.0->tensorflow)
  Downloading https://files.pythonhosted.org/packages/20/c4/12e3e56473e52375aa29c4764e70d1b8f3efa6682bef8d0aae04fe335243/Werkzeug-0.14.1-py2.py3-none-any.whl (322kB)
    100% |████████████████████████████████| 327kB 168kB/s
Building wheels for collected packages: gast, termcolor, absl-py
  Running setup.py bdist_wheel for gast ... done
  Stored in directory: C:\Users\Azam Rafique\AppData\Local\pip\Cache\wheels\9a\1f\0e\3cde98113222b853e98fc0a8e9924480a3e25f1b4008cedb4f
  Running setup.py bdist_wheel for termcolor ... done
  Stored in directory: C:\Users\Azam Rafique\AppData\Local\pip\Cache\wheels\7c\06\54\bc84598ba1daf8f970247f550b175aaaee85f68b4b0c5ab2c6
  Running setup.py bdist_wheel for absl-py ... done
  Stored in directory: C:\Users\Azam Rafique\AppData\Local\pip\Cache\wheels\18\ea\5e\e36e1b8739e78cd2eba0a08fdc602c2b16a4b263912af8cb64
Successfully built gast termcolor absl-py
Installing collected packages: grpcio, gast, protobuf, astor, keras-preprocessing, keras-applications, termcolor, absl-py, markdown, werkzeug, tensorboard, tensorflow
Successfully installed absl-py-0.6.1 astor-0.7.1 gast-0.2.0 grpcio-1.17.0 keras-applications-1.0.6 keras-preprocessing-1.0.5 markdown-3.0.1 protobuf-3.6.1 tensorboard-1.12.0 tensorflow-1.12.0 termcolor-1.1.0 werkzeug-0.14.1

 

pip install keras
Collecting keras
  Downloading https://files.pythonhosted.org/packages/5e/10/aa32dad071ce52b5502266b5c659451cfd6ffcbf14e6c8c4f16c0ff5aaab/Keras-2.2.4-py2.py3-none-any.whl (312kB)
    100% |████████████████████████████████| 317kB 173kB/s
Requirement already satisfied: numpy>=1.9.1 in c:\users\azamra~1\envs\py3\lib\site-packages (from keras) (1.15.4)
Requirement already satisfied: keras-applications>=1.0.6 in c:\users\azamra~1\envs\py3\lib\site-packages (from keras) (1.0.6)
Collecting pyyaml (from keras)
  Downloading https://files.pythonhosted.org/packages/4f/ca/5fad249c5032270540c24d2189b0ddf1396aac49b0bdc548162edcf14131/PyYAML-3.13-cp36-cp36m-win_amd64.whl (206kB)
    100% |████████████████████████████████| 215kB 169kB/s
Requirement already satisfied: h5py in c:\users\azamra~1\envs\py3\lib\site-packages (from keras) (2.8.0)
Requirement already satisfied: six>=1.9.0 in c:\users\azamra~1\envs\py3\lib\site-packages (from keras) (1.11.0)
Requirement already satisfied: keras-preprocessing>=1.0.5 in c:\users\azamra~1\envs\py3\lib\site-packages (from keras) (1.0.5)
Requirement already satisfied: scipy>=0.14 in c:\users\azamra~1\envs\py3\lib\site-packages (from keras) (1.1.0)
Installing collected packages: pyyaml, keras
Successfully installed keras-2.2.4 pyyaml-3.13

 

Optional Packages:

Some of the useful tools that help in many ways:

  1. PS-Util: This tool is used for memory management in python
pip install psutil
Collecting psutil
  Downloading https://files.pythonhosted.org/packages/3b/15/62d1eeb4c015e20295e0197f7de0202bd9e5bcb5529b9503932decde2505/psutil-5.4.8-cp36-cp36m-win_amd64.whl (226kB)
    100% |████████████████████████████████| 235kB 166kB/s
Installing collected packages: psutil
Successfully installed psutil-5.4.8

 

Related Links:

Leave a Reply

Your email address will not be published.