Go to file
server 7a0b198c19 first stab at some files for pip 2020-02-22 11:16:06 -07:00
files final update for Python 2.7 version of Karoo 2019-05-18 09:50:13 -07:00
modules dont sys.exit() 2020-02-21 22:13:51 -07:00
.gitignore first stab at some files for pip 2020-02-22 11:16:06 -07:00
Karoo_GP_User_Guide.pdf Now with full Python 3.6 support! 2019-06-08 22:27:44 -07:00
LICENSE.md 2018 04/22 2018-04-22 14:00:36 -07:00
README-pip.md first stab at some files for pip 2020-02-22 11:16:06 -07:00
README.md Voila start 2020-02-21 21:42:26 -07:00
RELEASE_NOTES.txt Now with full Python 3.6 support! 2019-06-08 22:27:44 -07:00
__init__.py first stab at some files for pip 2020-02-22 11:16:06 -07:00
jupyter_karoo_gp_config.py add jupter config script 2020-02-21 21:02:54 -07:00
karoo_gp.ipynb no print so much 2020-02-21 21:32:21 -07:00
karoo_gp.py Now with full Python 3.6 support! 2019-06-08 22:27:44 -07:00
requirements.txt first stab at some files for pip 2020-02-22 11:16:06 -07:00
setup.py first stab at some files for pip 2020-02-22 11:16:06 -07:00

README.md

SpaceCruft Fork

This is a SpaceCruft fork of https://github.com/kstaats/karoo_gp

Karoo GP

Karoo GP is an evolutionary algorithm, a genetic programming application suite written in Python which supports both symbolic regression and classification data analysis. It is ready to work with your datasets, is multicore and GPU enabled by means of the powerful library TensorFlow. The packge includes a Desktop application with an intuitive user interface, and a Server application which supports fully scripted runs. Output is automatically archived. Batteries included. No programming required.

For an interesting read on scalar vs vector, and CPU vs GPU performance with Karoo GP: https://arxiv.org/abs/1708.03157

Be certain to read the User Guide!!!

Learn more at kstaats.github.io/karoo_gp/ ...

Debian Install

To install on Debian (Buster/Stable/10):

# Install Dependencies:
sudo apt install python3 python3-pip python3-venv

# Clone repo (choose this one or upstream):
# git clone https://github.com/kstaats/karoo_gp
git clone https://spacecruft.org/spacecruft/karoo_gp

# Setup
cd karoo_gp
python3 -m venv .venv
source .venv/bin/activate

# Install python dependencies
pip3 install wheel
pip3 install numpy==1.16.4 sympy==1.4 tensorflow==1.13.1 scikit-learn==0.21.2

# Run application
python3 karoo_gp.py

Tensorflow 2 Install

Using karoo_gp with Tensorflow 2 on Debian (Buster/Stable/10).

# Install Dependencies:
sudo apt install python3 python3-pip python3-venv

# Clone repo (choose this one or upstream):
# git clone https://github.com/kstaats/karoo_gp
git clone https://spacecruft.org/spacecruft/karoo_gp

# Setup
cd karoo_gp
python3 -m venv .venv
source .venv/bin/activate

pip3 install --upgrade pip
pip3 install --upgrade setuptools

# Install python dependencies
pip3 install wheel
pip3 install sklearn sympy
# This will install Tensorflow 2.1:
pip3 install tensorflow

# Run application
python3 karoo_gp.py

Jupyter

Jupyter is a cute interface to python.

Jupyter Install

To install everything for jupyter, not in virt env... Thusly:

# Install Dependencies:
sudo apt install python3 python3-pip

# Clone repo (choose this one or upstream):
git clone https://spacecruft.org/spacecruft/karoo_gp

# Setup
cd karoo_gp
git checkout jupyter

pip3 install --user --upgrade pip
pip3 install --user --upgrade setuptools

# Install python dependencies
pip3 install --user wheel
pip3 install --user sklearn sympy
# This will install Tensorflow 2.1:
pip3 install --user tensorflow

Run Jupyter

Copy the foo to an appropriate place. Run similar to this:

jupyter-lab 								\
	--config=/home/jebba/.jupyter/jupyter_karoo_gp_config.py	\
	--debug								\
	--notebook-dir=/home/jebba/devel/spacecruft/karoo_gp		\
	--app-dir=/home/jebba/.local/share/jupyter/lab			\
	1>>/home/jebba/log/karoo.log 2>>/home/jebba/log/karoo.err &

Voila

Voila can take Jupyter notebooks and turn them into websites. Example site below:

Install Voila

See other docs, maybe in satnogs-wut.

# Install Dependencies:
sudo apt install python3 python3-pip python3-venv

# Clone repo:
git clone https://spacecruft.org/spacecruft/karoo_gp

# Setup
cd karoo_gp
git checkout jupyter

pip3 install --user --upgrade pip
pip3 install --user --upgrade setuptools

# Install python dependencies
pip3 install --user wheel
pip3 install --user sklearn sympy
# This will install Tensorflow 2.1:
pip3 install --user tensorflow

Voila Apache

Snippet of apache code to set up proxy using Certbot.

<VirtualHost karoo.spacecruft.org:443>
ServerAdmin webmaster@localhost
DocumentRoot /var/www/html
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
RewriteEngine on
#LoadModule proxy_module modules/mod_proxy.so
#LoadModule proxy_http_module modules/mod_proxy_http.so
RequestHeader set X-Forwarded-Proto 'https'env=HTTPS
RewriteCond %{HTTP:UPGRADE} ^WebSocket$ [NC]
RewriteCond %{HTTP:CONNECTION} Upgrade$ [NC]
RewriteRule /(.*) ws://127.0.0.1:8221/$1 [P]
<Location />
        ProxyPass http://127.0.0.1:8221/
</Location>
ProxyVia On
ProxyPreserveHost On
Include /etc/letsencrypt/options-ssl-apache.conf
ServerName karoo.spacecruft.org
SSLCertificateFile /etc/letsencrypt/live/wut.spacecruft.org/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/wut.spacecruft.org/privkey.pem
</VirtualHost>

Voila Start

Start with voila something like this:

voila									\
	--ExecutePreprocessor.timeout=600				\
	--no-browser							\
	--port=8221							\
	--theme=dark							\
	--autoreload=True						\
	--template=default						\
	--Voila.ip=localhost						\
	--VoilaConfiguration.enable_nbextensions=False			\
	karoo_gp.ipynb