Decentralized AutoML
Switch branches/tags
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
controller
data_downloader
generator
harvester
kubernetes
results
runner
.editorconfig
.gitignore
.gitmodules
Pipfile
Pipfile.lock
README.md
create_repositories_json.py
repositories.json
tf_gpu_install_steps.txt

README.md

Hive

This is the source code for the hive project.

Installation

  1. Install sbt, Python 3.6.x, pipenv, and node:

    • Ubuntu (16.04):
      echo "deb https://dl.bintray.com/sbt/debian /" | sudo tee -a /etc/apt/sources.list.d/sbt.list
      sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 2EE0EA64E40A89B84B2DF73499E82A75642AC823
      sudo add-apt-repository ppa:deadsnakes/ppa # Unneeded on 16.10 and above
      sudo apt-get update
      sudo apt-get install sbt python3.6 nodejs-legacy
      pip3 install pipenv
    • Arch Linux:
      pacman -S python sbt python-pipenv nodejs npm
      # If latest python is not 3.6, you might have to install the python36 package
    • Windows (choco), untested:
      choco install sbt
      choco install python --version 3.6.5
      choco install nodejs.install
      pip install pipenv
  2. Clone this repository using git:

    git clone git@bitbucket.org:obecto/hive.git
    cd hive/
  3. Install needed dependencies:

    cd runner/
    pipenv install
    cd ../
    cd generator/
    sbt compile
    cd ../
    cd data_downloader/
    npm install
    cd ../
  4. Download price data (~3 MiB):

    cd data_downloader/
    npm run download
    cd ../
  5. Run the project:

    • Generator:
      cd generator/
      sbt "run -- pipenv run python -m runner"
      # (Linux) At this point, you can press Ctrl-Z to pause the process
      # Then run `bg` to make it run in the background
      # And finally `disown` to get it separated from the shell
      # To stop it, use `kill <pid>`, or `killall java`
    • Runner:
      pipenv run python -m runner
    • Parser (when testing):
      pipenv run python -m runner.parser.keras_parser runner/parser/examples/merge.json
  6. In case you need TensorFlow with GPU support, follow the instructions on their site.

    • Refer to tf_gpu_install_steps.txt for information regarding CUDA installation.
    • Make sure to specify /usr/bin/python3.6 as the python version.
    • When installing the wheel package, use pipenv (inside the cloned repo):
      cd hive/runner/
      pipenv run pip install /tmp/tensorflow_pkg/tensorflow.*.whl