Skip to main content

Deep Learning for Simple Folk. Built on Keras

Project description

The on-ramp to Deep Learning

Built in Python 3 on Keras 2.

CircleCI codecov Documentation Status PyPI version

Read the documentation at conx.readthedocs.io

Ask questions on the mailing list: conx-users

Implements Deep Learning neural network algorithms using a simple interface with easy visualizations and useful analytical. Built on top of Keras, which can use either TensorFlow, Theano, or CNTK.

The network is specified to the constructor by providing sizes. For example, Network(“XOR”, 2, 5, 1) specifies a network named “XOR” with a 2-node input layer, 5-unit hidden layer, and a 1-unit output layer.

Example

Computing XOR via a target function:

from conx import Network, SGD

dataset = [[[0, 0], [0]],
           [[0, 1], [1]],
           [[1, 0], [1]],
           [[1, 1], [0]]]

net = Network("XOR", 2, 5, 1, activation="sigmoid")
net.set_dataset(dataset)
net.compile(error='mean_squared_error',
            optimizer=SGD(lr=0.3, momentum=0.9))
net.train(2000, report_rate=10, accuracy=1)
net.test()

Creates dynamic, rendered visualizations like this:

Install

conx requires Python3, Keras version 2.0.8 or greater, and some other Python modules that are installed automatically with pip.

Note: you may need to use pip3, or admin privileges (eg, sudo), or a user environment.

pip install conx -U

You will need to decide whether to use Theano, TensorFlow, or CNTK. Pick one. See docs.microsoft.com for installing CNTK on Windows or Linux. All platforms can also install either of the others using pip:

pip install theano

or

pip install tensorflow

On MacOS, you may also need to render the SVG visualizations:

brew install cairo

To make MP4 movies, you will need the ffmpeg executable installed and available on your default path.

On MacOS, you could use:

brew install ffmpeg

On Windows:

See, for example, https://github.com/adaptlearning/adapt_authoring/wiki/Installing-FFmpeg

On Linux:

sudo apt install ffmpeg
# or perhaps:
sudo yum install ffmpeg

Use with Jupyter Notebooks

To use the Network.dashboard() and camera functions, you will need to install and enable ipywidgets:

With pip:

pip install ipywidgets
jupyter nbextension enable --py widgetsnbextension

With conda

conda install -c conda-forge ipywidgets

Installing ipywidgets with conda will also enable the extension for you.

Changing Keras Backends

To use a Keras backend other than TensorFlow, edit (or create) ~/.keras/kerson.json, like:

{
    "backend": "theano",
    "image_data_format": "channels_last",
    "epsilon": 1e-07,
    "floatx": "float32"
}

Examples

See the notebooks folder and the documentation for additional examples.

Differences with Keras

  1. Conx does not allow targets to be a single value. Keras will automatically turn single values into a onehot encoded vectors. In conx, you should just convert such “labels” into their encodings before training.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

conx-3.5.8.tar.gz (66.7 kB view details)

Uploaded Source

Built Distribution

conx-3.5.8-py2.py3-none-any.whl (73.0 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file conx-3.5.8.tar.gz.

File metadata

  • Download URL: conx-3.5.8.tar.gz
  • Upload date:
  • Size: 66.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for conx-3.5.8.tar.gz
Algorithm Hash digest
SHA256 8c9ec2514edd0caa646d12734f01485418bfbba7d27fd9712bbb12656ea735a4
MD5 09c8c4c1f2ef939f78ed0eb55d55a215
BLAKE2b-256 ebfbf61e9d8d5152349d796efcd068744104e02f5dd8e5be3396fdc216ca975f

See more details on using hashes here.

File details

Details for the file conx-3.5.8-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for conx-3.5.8-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 cf0689dd0df00cb5672c544daaaf76ff09b9d5e6c3b2041de42bb18dca6a4734
MD5 6afdf734e7b879b036f5741bb979fa84
BLAKE2b-256 dd63bb0dcddeb114f377d980fcbcccc3438f47ad2a21d94c5a32f832fbfb9309

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page