Code Monkey home page Code Monkey logo

dashai's Introduction

DashAI

Documentation Status

A graphical toolbox for training, evaluating and deploying state-of-the-art AI models

DashAI Logo

Quick installation (Pypi)

DashAI needs Python 3.8 or greater to be installed. Once that requirement is satisfied, you can install DashAI via pip:

$ pip install dashai

Then, to initialize the server and the graphical interface, run:

$ dashai

Finally, go to http://localhost:3000/ in your browser to access to the DashAI graphical interface.

Test datasets

Some datasets you can use to try DashAI are available here.

Development

To download and run the development version of DashAI, first, download the repository and switch to the developing branch: :

$ git clone https://github.com/DashAISoftware/DashAI.git
$ git checkout develop

Frontend

Warning

All commands executed in this section must be run from DashAI/front. To move there, run:

$ cd DashAI/front

Prepare the environment

  1. Install the LTS node version.
  2. Install Yarn package manager following the instructions located on the yarn getting started page.
  3. Move to DashAI/front and Install the project packages using yarn:
$ cd DashAI/front
$ yarn install

Running the frontend

Move to DashAI/front if you are not on that route:

$ cd DashAI/front

Then, launch the front-end development server by running the following command:

$ yarn start

If you want to launch the front-end test server (without launching the backend) with dummy data, run:

$ yarn json-server

Linting and formatting

The project uses as default linter eslint with the react/recommended, standard-with-typescript` and prettier` styles.

To manually run the linter, move to DashAI/front and run:

$ yarn eslint src

The project uses prettier as default formatter.

To format the code manually, move to DashAI/front and execute:

$ yarn prettier --write src

Build the frontend

Execute from DashAI/front:

$ yarn build

Backend

Prepare the environment

First, set the python enviroment using conda:

Then, move to DashAI/back

$ cd DashAI/back

Later, install the requirements:

$ pip install -r requirements.txt
$ pip install -r requirements-dev.txt

Running the Backend

There are three ways to run DashAI:

  1. By executing DashAI as a module:
$ python -m DashAI
  1. Or, installing the default build:
$ pip install .
$ dashai

If you chose the second way, remember to install it each time you make changes.

Setting the local execution path

With the --local-path option you can determine where DashAI will save its local files, such as datasets, experiments, runs and others. The following example shows how to set the folder in the local .DashAI directory:

$ python -m DashAI --local-path "~/.DashAI"

Setting the logging level

Through the --logging_level parameter, you can set which logging level the DashAI backend server will have.

$ python -m DashAI --logging-level INFO

The possible levels available are: DEBUG, INFO, WARNING, ERROR, CRITICAL.

Note that the --logging-level not only affects the DashAI loggers, but also the datasets (which is set to the same level as DashAI) and the SQLAlchemy (which is only activated when logging level is DEBUG).

Checking Available Options

You can check all available options through the command:

$ python -m DashAI --help

Execute tests

DashAI uses pytest to perform the backend tests. To execute the backend tests

  1. Move to DashAI/back
$ cd DashAI/back
  1. Run:
$ pytest tests/

Note

The database session is parametrized in every endpoint as db: Session = Depends(get_db) so we can test endpoints on a test database without making changes to the main database.

Linting and formatting

The project uses as default backend linter ruff:

To manually run the linter, move to DashAI/back and execute:

$ ruff .

The project uses black as default formatter.

To manually format the code, move to DashAI/back and execute:

$ black .

Acknowledgments

This project is sponsored by the National Center for Artificial Intelligence - CENIA (FB210017), and the Millennium Institute for Foundational Data Research - IMFD (ICN17_002).

The core of the development is carried out by students from the Computer Science Department of the University of Chile and the Federico Santa Maria Technical University.

To see the full list of contributors, visit in Contributors the DashAI repository on Github.

Collaboration Logos

dashai's People

Contributors

maximi4321 avatar cristian-tamblay avatar riul1999 avatar pbadillatorrealba avatar millarayvvs avatar oziel14 avatar kazymila avatar lucas-ce avatar felipebravom avatar nataliabarca avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.