Git Product home page Git Product logo

qualia2.0's Introduction

Qualia Logo

Qualia is a deep learning framework deeply integrated with automatic differentiation and dynamic graphing with CUDA acceleration. Thanks to the define-by-run API, the code written with Qualia enjoys high modularity.

Introduction

David J. Chalmers, an Australian philosopher and cognitive scientist, onece argued that if a system reproduces the functional organization of the brain, it will also reproduce the qualia associated with the brain in the paper "Absent Qualia, Fading Qualia, Dancing Qualia." This library "Qualia" named after the series of arguments in philosophy of mind associated with the qualia, hoping for the creation of a system with subjective consciousness.

Overview

Build Version Size License: MIT

The main components of Qualia2.0 is listed below:

Component Description
qualia2.autograd provides a Tensor object for a dynamic automatic differentiation
qualia2.functions pre-defined functions capable of automatic differentiation
qualia2.nn a neural networks library deeply integrated with autograd with CUDA acceleration
qualia2.data datasets for handy testing
qualia2.rl reinforcement learning models and utilities
qualia2.util utility functions for convenience
qualia2.vision pretrained model architectures for computer vision

Requirements

  • NVIDIA CUDA GPU: Compute Capability of the GPU must be at least 3.0.
  • CUDA Toolkit: Supported Versions: 8.0, 9.0, 9.1, 9.2, 10.0, and 10.1. (Note: Qualia2.0 is also available for CPU use)
  • Python 3.6

Installation

Upgrade of setuptools and pip is recommended before the installation:

$ pip install -U setuptools pip

CUDA Toolkit version can be found by:

$ nvcc --version

Depending on the CUDA version you have installed on your host, choose the best option from following.

(For CUDA 8.0)
$ python setup.py install --cuda 80
(For CUDA 9.0)
$ python setup.py install --cuda 90
(For CUDA 9.1)
$ python setup.py install --cuda 91
(For CUDA 9.2)
$ python setup.py install --cuda 92
(For CUDA 10.0)
$ python setup.py install --cuda 100
(For CUDA 10.1)
% python setup.py install --cuda 101
(For without CUDA)
$ python setup.py install

See more in wiki.

Tutorial

Detailed tutorial of Qualia2.0 can be found here.

Component Description
Automatic Differentiation usage of automatic differentiation with a simple example
Validation of Automatic Differentiation numerical method to validate automatic differentiation
Qualia Tensor Tensor class for automatic differentiation in Qualia
Network Definition create a custom neural network model with Qualia
Model Summary get the summary of the neural network model
Saving/Loading Weights save and load the trained weights
Setting up Optimizer preparing optimizers to train a neural network
Learning Qualia with Examples introducing Qualia2.0 with some of the impremented examples

Examples

More examples can be found here.

Supervised learning

Unsupervised learning

Reinforcement learning

Citation

Please cite Qualia if you use the contents in this repository for your research or in a scientific publication.

Y. Kashu, Qualia2.0 - Automatic Differentiation and Dynamic Graphing with CUDA for Deep Learning Application, (2019), GitHub repository, https://github.com/Kashu7100/Qualia2.0

BibTex

@misc{qualia,
  author = {Kashu Yamazaki},
  title = {{Q}ualia2.0},
  year = {2019},
  publisher = {GitHub},
  journal = {GitHub repository},
  keywords = {Python, Automatic Differentiation, Dynamic Graphing, CUDA, Deep Learning}
  howpublished  = {\url{https://github.com/Kashu7100/Qualia2.0}},
}

License

Source codes in the repository follows MIT license.

References

References are listed in wiki

qualia2.0's People

Contributors

kashu7100 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.