Metadata-Version: 2.1
Name: nndesigndemos
Version: 1.1.1
Summary: Demos for the Neural Network Design & Deep Learning books
Home-page: https://hagan.okstate.edu/nnd.html
Author: Amir Jafari, Martin Hagan, Pedro Uría, Xiao Qi
Author-email: nndesign.demo@gmail.com
License: MIT
Classifier: Development Status :: 4 - Beta
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3.8
Classifier: Operating System :: MacOS
Classifier: Operating System :: Microsoft :: Windows
Classifier: Operating System :: POSIX :: Linux
Classifier: Topic :: Education
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
Classifier: Topic :: Scientific/Engineering :: Mathematics
Classifier: Intended Audience :: Education
Classifier: Intended Audience :: Science/Research
Classifier: Natural Language :: English
Requires-Python: >=3.8
Description-Content-Type: text/markdown
Requires-Dist: PyQt6
Requires-Dist: numpy
Requires-Dist: scipy
Requires-Dist: matplotlib

# nndesigndemos

This is a set of demonstrations paired with the [Neural Network Design](https://hagan.okstate.edu/nnd.html) 
& Neural Network Design: Deep Learning books written in Python.

## Installation

nndesigndemos is supported on macOS, Linux and Windows. It uses PyQt6, so your OS version needs to be compatible with it.
 If you get an installation error, this is most likely the reason.

* For **Linux** platform, if you meet the following or similar problems when you install the nndesigndemos or run the code after installing it:
 
     ```
     qt.qpa.plugin: Could not load the Qt platform plugin "xcb" in "" even though it was found.
     This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem.
     
     Available platform plugins are: eglfs, offscreen, wayland, wayland-egl, linuxfb, minimal, xcb, minimalegl, vkkhrdisplay, vnc.
     
     Aborted (core dumped)
     ```

    you need to install a plugin first using command line:

   ```
   sudo apt-get install -y libxcb-cursor-dev
   ```

### Installing via pip

The quick way is simply to install via `pip install nndesigndemos`, which works in most cases.

The recommended way is to create a virtual environment to avoid dependency issues. Here is an easy way to do so:

```
python3 -m venv env
source env/bin/activate  # macOS/Linux
env\Scripts\activate.bat  # Windows
pip install nndesigndemos
```

To deactivate the virtual environment, just type `deactivate`.

## Usage

All the demos start from the same main menu, which can be accessed by entering the Python Shell and running

```
from nndesigndemos import nndtoc
nndtoc()
```

After doing so, a window will pop up, and you will be able to navigate the demos listed by book and then by chapter.

There are some demos that have sound, so if you want to mute them just run `nndtoc(play_sound=False)` instead.

The original software for these demos runs on MATLAB, so for every section of the 
[Neural Network Design](https://hagan.okstate.edu/NNDesign.pdf) book where you see the MATLAB logo, 
there will be a corresponding Python demo in this package. The second book is in progress.

If you are using multiple monitors and switching between them, you may need to restart your computer to avoid scaling issues.

## Dependencies

These are the packages needed to run all the demos. These specific versions are known to work, but this does not mean 
older or newer versions will cause any issues.

- Python 3.8+
- PyQt6 6.5.2
- NumPy 1.25.2
- SciPy 1.11.1
- Matplotlib 3.7.2

## License

nndesigndemos is available under MIT license.
