Giter Club home page Giter Club logo

scruff.jl's Introduction

    

Scruff.jl

Scruff is an AI framework to build agents that sense, reason, and learn in the world using a variety of models. It aims to integrate many different kinds of models in a coherent framework, provide flexibility in spatiotemporal modeling, and provide tools to compose, share, and reuse models and model components.

Scruff is provided as a Julia package and is licensed under the BSD-3-Clause License. It should be run using Julia v1.6 or v1.7.

Warning: Scruff is rapidly evolving beta research software. Although the software already has a lot of functionality, we intend to expand on this in the future and cannot promise stability of the code or the APIs at the moment.

Download and Installation

To download the package, from the Julia package manager, run

(v1.7) pkg> add Scruff

Scruff Tutorial and Examples

The Scruff tutorial can be found in the tutorial section of the documentation.

Scruff examples can be found in the examples/ directory.

Building the documentation

Scruff uses Documenter.jl to generate its documentation. To build, navigate to the docs folder and run

Scruff.jl\docs> julia --project=.. --color=yes make.jl

This will create a docs/build directory with an index.html file, which will contain the documentation.

Running tests

To run the tests, activate the project as above and just run test from the pkg prompt. From the julia prompt, include("test/runtests.jl") can be used to run the tests.

Development

Development against the Scruff codebase should only be done by branching the develop branch.

Scruff module layout

The Scruff packages are split into four (4) main modules: Models, Algorithms, SFuncs, and Operators.

  • To add to the Models module, add a .jl file to the src/models/ directory and include it in the src/models.jl file
  • To add to the Algorithms module, add a .jl file to the src/algorithms/ directory and include it in the src/algorithms.jl file
  • To add to the SFuncs module, add a .jl file to the src/sfuncs/ directory and include it in the src/sfuncs.jl file
  • To add to the Operators module, add a .jl file to the src/operators directory and include it in the src/operators.jl file

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.