README.md 1.65 KB
Newer Older
1
2
3
<img src="http://ae.nflximg.net/vectorflow/vectorflow_logo.png" width="200">

**Vectorflow** is a minimalist neural network library optimized for sparse data and single machine environments.
Benoit Rostykus's avatar
Benoit Rostykus committed
4

Benoit Rostykus's avatar
Benoit Rostykus committed
5
Original blog post [here](https://medium.com/@NetflixTechBlog/introducing-vectorflow-fe10d7f126b8).
6

Steve Hill's avatar
Steve Hill committed
7
[![Build Status](https://travis-ci.com/Netflix/vectorflow.svg?branch=master)](https://travis-ci.com/Netflix/vectorflow)
Benoit Rostykus's avatar
Benoit Rostykus committed
8

9
10
11
12
13
### Installation

#### dub package
The library is distributed as a [`dub`](https://code.dlang.org/) package. Add `vectorflow` to the `dependencies` section of your `dub.json`:
```
Benoit Rostykus's avatar
Benoit Rostykus committed
14
"vectorflow": "~>1.0.2"
15
16
```

Ryan MacLean's avatar
Ryan MacLean committed
17
The library itself doesn't have any dependencies. All you need is a recent D compiler.
18
19
20
21
22
23
24
25
26
27

**`LDC` is the recommended compiler** for the fastest runtime speed. 

Tested on:
- Linux, OSX
- LDC version: >= 1.1.1
- DMD version: >= 2.073.1

#### Setting up a D environment 
If you're new to [D](http://dlang.org/), keep reading. You will need `dub` (the D package manager) and `LDC` (the LLVM-based D compiler).
Ryan MacLean's avatar
Ryan MacLean committed
28
##### macOS
29
30
31
32
33
34
```
brew install dub
brew install ldc
```
##### Ubuntu
```
Benoit Rostykus's avatar
Benoit Rostykus committed
35
36
37
apt-get install -y curl xz-utils
curl -fsS https://dlang.org/install.sh | bash -s ldc
source ~/dlang/ldc-{VERSION}/activate
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
```

### Examples
To run the RCV1 example (sparse logistic regression):
```
cd examples && ./compile_run.sh rcv1.d
```

### Tests
To run the tests:
```
dub test
```

### Documentation
Ryan MacLean's avatar
Ryan MacLean committed
53
54
`vectorflow` uses [ddoc](https://dlang.org/spec/ddoc.html).
One way of building and serving the documentation locally (you will need `libevent` for serving) is:
55
56
57
58
59
60
```
dub build -b ddox && dub run -b ddox
```
Or use your favorite DDOC compiler.

Please also refer to the repo wiki.