Skip to content

Commit

Permalink
Merge pull request #14 from hotg-ai/embed-the-tutorial
Browse files Browse the repository at this point in the history
Embed the tutorial in the website
  • Loading branch information
f0rodo authored Nov 6, 2021
2 parents cff4571 + c0c639b commit 2ba908f
Show file tree
Hide file tree
Showing 27 changed files with 17,517 additions and 11,999 deletions.
4 changes: 3 additions & 1 deletion .github/workflows/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,8 @@ jobs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v1
with:
submodules: recursive
- uses: actions/setup-node@v1
with:
node-version: 16
Expand All @@ -30,4 +32,4 @@ jobs:
args: deploy
env:
FIREBASE_TOKEN: ${{ secrets.FIREBASE_TOKEN }}

3 changes: 3 additions & 0 deletions .gitmodules
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
[submodule "tutorials"]
path = docs/tutorials
url = https://github.com/hotg-ai/tutorials
11 changes: 0 additions & 11 deletions blog/2019-05-28-hola.md

This file was deleted.

17 changes: 0 additions & 17 deletions blog/2019-05-29-hello-world.md

This file was deleted.

13 changes: 0 additions & 13 deletions blog/2019-05-30-welcome.md

This file was deleted.

Empty file removed docs/clients/c__.mdx
Empty file.
Empty file removed docs/clients/flutter.mdx
Empty file.
Empty file removed docs/clients/rust.mdx
Empty file.
Empty file removed docs/develop/add_speech_recog.mdx
Empty file.
111 changes: 0 additions & 111 deletions docs/develop/hello_world.mdx

This file was deleted.

Empty file removed docs/develop/make_a_game.mdx
Empty file.
Empty file removed docs/develop/ml/calibration.mdx
Empty file.
Empty file.
Empty file.
10 changes: 0 additions & 10 deletions docs/get_help.mdx

This file was deleted.

12 changes: 6 additions & 6 deletions docs/get_rune.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -3,16 +3,16 @@ title: Installation Guide
sidebar_label: Installing Tinyverse Tools
---

Rune and the dependant toolchains used to generate bytecode require some dependencies. Rune is built using Rust programming language.
Rune and the dependant toolchains used to generate bytecode require some dependencies. Rune is built using Rust programming language.

## Installing rune cli by building (Not Recommended)
You can install rune cli by building it for Mac and Linux platform by following the instructions provided in the Rune github repository - https://github.com/hotg-ai/rune/blob/master/CONTRIBUTING.md

Because there are many dependencies that are nightly the rune binary can be a bit flaky.
Because there are many dependencies that are nightly the rune binary can be a bit flaky.

To make it easier to use, you can leverage [docker](https://www.docker.com/)!
To make it easier to use, you can leverage [docker](https://www.docker.com/)!

We have pre-built docker images that have been tested across all platforms and are stable.
We have pre-built docker images that have been tested across all platforms and are stable.

Our images are available on [our docker hub](https://hub.docker.com/repository/docker/tinyverseml).

Expand All @@ -29,7 +29,7 @@ With Docker we support the following platforms.
You can use `docker run` to use `rune-cli` directly in your local directory. The following shell script will execute `rune-cli` using volumes in your local directory.
```shell
#! sh
docker run -v `pwd`:`pwd` -w `pwd` -i -t tinyverseml/rune-cli /usr/local/bin/rune $@%
docker run -v `pwd`:`pwd` -w `pwd` -i -t tinyverseml/rune-cli /usr/local/bin/rune $@%
```

Save the shell script in your PATH variable and you are ready to go! Now you can use `rune` as a command on the terminal.
Expand Down Expand Up @@ -66,7 +66,7 @@ docker run -e RUST_LOG=INFO -v /path/to/directory/static:/app/static tinyverseml
** Note about Apple Mac M1 Arm chip **

Currently Docker on M1 is still unstable and is not supported! We are working on this actively follow our progress
on (github)[https://github.com/hotg-ai/rune/issues/174].
on (github)[https://github.com/hotg-ai/rune/issues/174].



2 changes: 1 addition & 1 deletion docs/get_started.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -528,7 +528,7 @@ You can clone our test-runes repo from here - https://github.com/hotg-ai/test-ru
* food.rune - we have already built this rune for you but feel free to delete and rebuild using steps above

Runes have much more expressive power which we hope to explain more in details using other sections in this docs.
Feel free to reach out to us using the [Get Help link page](/docs/get_help).
Feel free to reach out to us ond [discord]](https://discord.gg/gPCNNvRnF4).


## Note on Windows
Expand Down
4 changes: 0 additions & 4 deletions docs/getting_started/1.mdx

This file was deleted.

51 changes: 29 additions & 22 deletions docs/overview.mdx
Original file line number Diff line number Diff line change
@@ -1,24 +1,31 @@
---
title: Tinyverse Platform overview
sidebar_label: Platform overview
keywords: rune, platform, introduction, documentation, about, technology, understanding
keywords:
- rune
- platform
- introduction
- documentation
- about
- technology
- understanding
---

Tinyverse is an open platform for containerizing, shipping and running TinyML applications.
Tinyverse is an open platform for containerizing, shipping and running TinyML applications.
Rune decouples your ML application from the underlying hardware. Using Rune you can
build, test and deploy your ML models faster to a variety of end devices.
build, test and deploy your ML models faster to a variety of end devices.


## The Tinyverse platform

The Rune platform provides the ability for Machine Learning Engineers/Application package
The Rune platform provides the ability for Machine Learning Engineers/Application package
and run TinyML applications (called a `Rune`) in a Virtual Machine on various hardware.
The isolation and security of a `Rune` app is accomplished by using a capability based
mechanism.
mechanism.

`Rune` files are specialized bytecode (wasm) that can be deployed to various hardware targets and
contains both the model and the code required to process signals to features for the model.
As such the `Rune` are tiny and only contain exactly what is needed.
As such the `Rune` are tiny and only contain exactly what is needed.
You can easily share your `Rune` for development, testing and deployments.

Tinyverse provides tooling to manage the lifecycle of your Runes:
Expand All @@ -30,29 +37,29 @@ Tinyverse provides tooling to manage the lifecycle of your Runes:

## Tinyverse architecture and components

Rune and Hammer use a client-server architecture. The `rune-vm` runs on your target
Rune and Hammer use a client-server architecture. The `rune-vm` runs on your target
device and executes and manages the `rune`. Additionally, using the `hammerd` daemon
allows you to collect labelled data directly from the clients.
allows you to collect labelled data directly from the clients.
The `rune-vm` and `hammrd` daemon *can* run on the same system, or you can connect a
`rune-vm` to a remote Hammer daemon.
`rune-vm` to a remote Hammer daemon.

Runes can be directly embedded into your hardware or updated by the `hammerd`.
Runes can be directly embedded into your hardware or updated by the `hammerd`.

![Tinyverse Components](/img/docs/architecture.svg)


#### Rune Images

`Rune` is an orchestration tool for specifying how data should be processed,
`Rune` is an orchestration tool for specifying how data should be processed,
with an emphasis on the machine learning world, in a way which is portable and robust.

The main purpose of a Rune is to give developers in the fields of machine learning and
data processing a way to declare how data should be transformed using a high level, declarative language.

Instead of needing to write code that manipulates data or needs to interface
with complex third party libraries for receiving inputs, you write a Runefile
which declares each processing step and defers their implementation to the `rune-vm`.
This `rune-vm` runtime then takes care of interfacing with the outside world and can leverage
Instead of needing to write code that manipulates data or needs to interface
with complex third party libraries for receiving inputs, you write a Runefile
which declares each processing step and defers their implementation to the `rune-vm`.
This `rune-vm` runtime then takes care of interfacing with the outside world and can leverage
existing third party libraries for data manipulation.

#### Example Rune run command
Expand Down Expand Up @@ -92,15 +99,15 @@ $ rune run examples/sine/sine.rune
When you run these commands, the following happens (assuming you are using
the default registry configuration):

1. Rune reads the Runefile and builds a `sine.rune` file in your folder. This sine.rune file is
1. Rune reads the Runefile and builds a `sine.rune` file in your folder. This sine.rune file is
your image.

2. Rune build also prepares the sine tflite model into your Rune. Rune also fetchs and packages
processing blocks into the `sine.rune`. It will fetch `hotg-ai/rune#proc_blocks/modulo` from
`github.com/hotg-ai/rune` repo and in the `proc_block/modulo` folder. You can also
define custom processing blocks that can be called during this process.
processing blocks into the `sine.rune`. It will fetch `hotg-ai/rune#proc_blocks/modulo` from
`github.com/hotg-ai/rune` repo and in the `proc_block/modulo` folder. You can also
define custom processing blocks that can be called during this process.

3. During Rune `run` process, the `sine.rune` image is loaded and the VM makes a request
3. During Rune `run` process, the `sine.rune` image is loaded and the VM makes a request
to the host for access to the `RAND` capability. The host can then provide floating points
and the input is process and prepared for the model.

Expand All @@ -110,5 +117,5 @@ advantage of several features of the [Webassembly](https://webassembly.org/) pla

## Next steps
- Read about [installing Rune and Hammerd](/docs/get_rune).
- Get hands-on experience with the [Getting started with Run](/docs/getting_started/1)
tutorial.
- Get hands-on experience with the tutorials [Getting started with Rune](/docs/tutorials/lesson-1/README)
tutorial.
Empty file.
Empty file removed docs/reference/rune_rs.mdx
Empty file.
Empty file removed docs/reference/rune_vm_cpp.mdx
Empty file.
Empty file removed docs/reference/rune_vm_flutter.mdx
Empty file.
1 change: 1 addition & 0 deletions docs/tutorials
Submodule tutorials added at bdadcb
Loading

0 comments on commit 2ba908f

Please sign in to comment.