Skip to main content

Blacklight

test Codacy Badge Codacy BadgePyPI - Downloads

Genetic algorithms in autoML.

This project aims to use Genetic Algorithms to optimize the topologies of Deep Neural Networks (DNNs) and explore new possibilities that traditional optimization techniques might overlook. The fitness function of the algorithm is the accuracy of the model, and the genes represent the individual topologies.

Installation

Make sure you have Python 3.9 or higher installed (not greater than 3.11).

Windows, Linux

  1. Create new virtual environment:
    • pip install -m virtualenv
    • python -m venv your_virtual_env_name
    • your_virtual_env_name\Scripts\activate
  2. Install Tensorflow:
    • pip install tensorflow
  3. Install the package:
    • pip install blacklight

MacOS (Intel)

  1. Create new virtual environment:
    • pip install -m virtualenv
    • python -m venv your_virtual_env_name
    • your_virtual_env_name\Scripts\activate
  2. Install Tensorflow:
    • pip install tensorflow-macos
    • pip install tensorflow-metal
  3. Install the package:
    • pip install blacklight

MacOS (Apple Silicon)

  1. Download Miniconda from: https://repo.anaconda.com/miniconda/Miniconda3-latest-MacOSX-arm64.sh
  2. Install Miniconda:
    • Navigate to downloads folder cd ~/Downloads
    • bash Miniconda3-latest-MacOSX-arm64.sh -b -p $HOME/miniconda
  3. Activate Miniconda:
    • source ~/miniconda/bin/activate
  4. Install TensorFlow dependencies:
    • conda install -c apple tensorflow-deps
  5. Install TensorFlow:
    • pip install tensorflow-macos
    • pip install tensorflow-metal
  6. Install the package:
    • pip install blacklight

Hypothesis

The hypothesis of this project is that DNN topologies will converge to either a local maximum or an absolute maximum over the evolution process, offering better performance than a DNN with randomly selected topology. For this experiment, the project will use equivalent activation functions (ReLU) and SGD for back-propagation, holding everything except the topology constant. Updated documentation coming soon.

Methodology

The project utilizes a genetic algorithm to evolve the topology of the DNN. The algorithm starts with a randomly generated population of DNN topologies and evaluates their fitness using the accuracy of the model. The fittest individuals are selected for reproduction, while the weaker ones are discarded. The offspring of the selected individuals are then created through crossover and mutation. This process is repeated for a specified number of generations, and the best-performing topology is chosen as the final output.

Documentation

Documentation can be found at https://blacklightlabs.github.io/blacklight/html/index.html

Metadata

Release files for blacklight 0.1.11

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for blacklight 0.1.11
File Size Uploaded
blacklight-0.1.11.tar.gz 54.3 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for blacklight 0.1.11
File Interpreter ABI Platform
blacklight-0.1.11-py3-none-any.whl Python 3 none any Details

Total release size: 119.2 kB

Release files / blacklight-0.1.11.tar.gz

Download URL blacklight-0.1.11.tar.gz
Size 54.3 kB
Tags Source
SHA-256 checksum
How to use checksums
8579fb3e5a4a4003e50551d7d30fc6e71384e3a6453bb4138994a83d3e355f23
BLAKE2b-256 checksum
How to use checksums
193598c2e7f20b86c0530e14ab9ddc7b7e16bce3b5fd1dd48d1f2cee227c109c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.5.1 CPython/3.10.11 Linux/5.15.0-1041-azure

Release files / blacklight-0.1.11-py3-none-any.whl

Download URL blacklight-0.1.11-py3-none-any.whl
Size 64.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
ef7e5b52f420cf29d962ec09fe8739e4d71676ac9bef565fb0fc0b662e80a32f
BLAKE2b-256 checksum
How to use checksums
18b5f82cad6d9d8a3cdab5572fc4d987fe79253c38c179b0bd71eecd2fd1e47c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.5.1 CPython/3.10.11 Linux/5.15.0-1041-azure

Release history Release notifications | RSS feed

This release

0.1.11 This release

2 release files

0.1.9

2 release files

0.1.8

2 release files

0.1.7

2 release files

0.1.6

2 release files

0.1.5

2 release files

0.1.4

2 release files

0.1.3

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

2 release files

0.0.12

2 release files

0.0.11

2 release files

0.0.10

2 release files

0.0.9

2 release files

0.0.8

2 release files

0.0.6

2 release files

0.0.5

2 release files

0.0.4

2 release files

0.0.2

2 release files

0.0.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page