Skip to content

Commit

Permalink
adding tutorial, install documents
Browse files Browse the repository at this point in the history
  • Loading branch information
tim committed Dec 8, 2014
1 parent 26a8244 commit 3d3cde9
Show file tree
Hide file tree
Showing 134 changed files with 630 additions and 438 deletions.
11 changes: 2 additions & 9 deletions BINARY_README
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ license/LICENSE.txt for details.
Introduction
============

GraphLab is a graph-based, high performance, distributed computation framework
GraphLab PowerGraph is a graph-based, high performance, distributed computation framework
written in C++.

GraphLab Features:
Expand All @@ -34,13 +34,6 @@ Learning Toolkits: Tackle challenging machine
learning problems with ease


For more details on the GraphLab see http://graphlab.org, including
documentation, tutorial, etc.

The source code and documentation for all applications can be found at
http://docs.graphlab.org/toolkits.html


========
Mac OS X
========
Expand All @@ -49,7 +42,7 @@ distributed capabilities. All toolkits therefore run entirely on one machine
in shared memory.

These binaries have been tested to run on OS X 10.6 or greater. Though they
may work on 10.5 as well. Please let us know if you encounter any issues.
may work on 10.5 as well.

=====
Linux
Expand Down
201 changes: 125 additions & 76 deletions README.md

Large diffs are not rendered by default.

409 changes: 409 additions & 0 deletions TUTORIALS.md

Large diffs are not rendered by default.

3 changes: 0 additions & 3 deletions apps/cascades/cascades.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -14,9 +14,6 @@
* express or implied. See the License for the specific language
* governing permissions and limitations under the License.
*
* For more about this software visit:
*
* http://www.graphlab.ml.cmu.edu
*
*/

Expand Down
3 changes: 0 additions & 3 deletions apps/concomp/concomp.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -14,9 +14,6 @@
* express or implied. See the License for the specific language
* governing permissions and limitations under the License.
*
* For more about this software visit:
*
* http://www.graphlab.ml.cmu.edu
*
*/

Expand Down
3 changes: 0 additions & 3 deletions apps/example/hello_world.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -14,9 +14,6 @@
* express or implied. See the License for the specific language
* governing permissions and limitations under the License.
*
* For more about this software visit:
*
* http://www.graphlab.ml.cmu.edu
*
*/

Expand Down
3 changes: 0 additions & 3 deletions apps/label_propagation/label_propagation.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -14,9 +14,6 @@
* express or implied. See the License for the specific language
* governing permissions and limitations under the License.
*
* For more about this software visit:
*
* http://www.graphlab.ml.cmu.edu
*
*/

Expand Down
Binary file added images/800px-PageRank-hi-res-300x215.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added images/Slide1.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added images/als_eqn.gif
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added images/cloudcv-1024x489.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added images/collaborative_filtering.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added images/gl_os_software_stack.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added images/kcore2-300x300.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added images/kmeans1.gif
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added images/panorama-1024x251.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added images/r-300x278.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added images/topic-300x179.gif
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added images/triangle_strong_community-150x150.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added images/triangle_weak_community-150x150.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
92 changes: 92 additions & 0 deletions toolkits/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,92 @@
# Toolkits Overview

## Collaborative Filtering

![Collaborative Filtering](../images/collaborative_filtering.jpg?raw=true "collaborative_filtering")

The collaborative filtering toolkit provides tools to identify patterns of user interests and make targeted recommendations. Learn more about collaborative filtering [here.](http://en.wikipedia.org/wiki/Collaborative_Filter)

![ALS equation](../images/als_eqn.gif "als_eqn")

Most of the algorithms take the rating matrix R, which is a sparse matrix holding the rating given by users to movies, and builds a linear model, finding two low dimensional matrices

U and V s.t. their product approximates R: R ~ UV.

We implement multiple collaborative filtering algorithms: ALS (Alternating least squares), SGD (Stochastic Gradient Descent) , Bias SGD, Weighted-ALS, Sparse-ALS, SVD++.

## Clustering

![](../images/kmeans1.gif "kmeans")

## KMeans++

GraphLab PowerGraph has a fast scalable implementation of the [Kmeans++](http://en.wikipedia.org/wiki/K-means%2B%2B) algorithm: a robust method of grouping datapoints into clusters.

## Computer Vision

![Image Stitching](../images/panorama-1024x251.png "Image Stitching")

The Computer Vision Toolkit aims to provide fully distributed wrappers to algorithms in [OpenCV](http://opencv.org/ "OpenCV"), an open-source library aimed at real-time computer vision. Currently, the only implemented algorithm is Image-Stitching, where the goal is to create a composite panoramic image from a collection of images. Learn more about computer vision [here.](http://en.wikipedia.org/wiki/Computer_vision)

GraphLab PowerGraph Computer Vision Toolkit has become it’s own spin-off project called [CloudCV](http://cloudcv.org "CloudCV"), a comprehensive system that will aims to provide access to state-of-the-art computer vision algorithms on the cloud.

![CloudCV](../images/cloudcv-1024x489.png "CloudCV")

CloudCV: Large-Scale Parallel Computer Vision on the Cloud


## Graphical Models
![](../doc/images/noisy_img.jpeg)
![](../images/Slide1.jpg "Slide1")
![](../doc/images/pred_img.jpeg)

[Graphical models](http://en.wikipedia.org/wiki/Graphical_model) provide a compact interpretable representation of complex statistical phenomena by encoding random variables as vertices in a graph and relationships between those variables as edges. The Graphical Models toolkit provides a collection of methods to make predictions under uncertainty, and for reasoning about structured noisy data.

The main components of Graphical Models toolkit are:

1. Distributed Dual Decomposition: performs maximum _a posteriori_ (MAP) inference in general [Markov Random Fields](http://en.wikipedia.org/wiki/Markov_random_field) via the Dual Decomposition algorithm. The MRF is assumed to be provided in the standard [UAI file format](http://www.cs.huji.ac.il/project/PASCAL/fileFormat.php). Maintained by [Dhruv Batra](http://filebox.ece.vt.edu/~dbatra/).
2. [Structured Prediction](http://docs.graphlab.org/graphical_models.html): that applies the [Loopy Belief propagation (LBP)](http://en.wikipedia.org/wiki/Belief_propagation) algorithm to a pair-wise [Markov Random Field](http://en.wikipedia.org/wiki/Markov_random_field) encoding the classic [Potts Model](http://en.wikipedia.org/wiki/Potts_model).

## Graph Analytics

![](../images/r-300x278.jpg "r")

The Graph Analytics Toolkit aims to provide high performance, distributed tools for graph mining, for use in community detection, social network discovery, etc.

The toolkit currently implements the following tools:

### Triangle Counting
![](../images/triangle_weak_community-150x150.jpg "triangle_weak_community")
![](../images/triangle_strong_community-150x150.jpg "triangle_strong_community")


Two triangle counting program:

1. **Undirected Triangle Counting**: counts the total number of triangles in a graph, or the the number of triangles each vertex is in
2. **Directed Triangle Counting:** Counts the number of types of triangles each vertex is in

### PageRank

![](../images/800px-PageRank-hi-res-300x215.png "800px-PageRank-hi-res")

A classical graph algorithm which assigns each vertex a numerical importance value based on random walk properties. Learn more about page rank [here.](http://en.wikipedia.org/wiki/PageRank)

### KCore Decomposition

![](../images/kcore2-300x300.jpg "kcore")

Identifies a hierarchical ordering of the vertices in the graph, allowing discovery of the central components of the network.

## Topic Modeling

![](../images/topic-300x179.gif "topic")

## Latent Dirichlet Allocation

The topic modelling toolbox currently implemented the [Latent Dirichlet Allocation](http://en.wikipedia.org/wiki/Latent_Dirichlet_allocation) algorithm for deriving semantic topic information from a corpus of plain text.

## Linear Solvers

GraphLab PowerGraph iterative solvers, for solving a linear system of the type Ax = b.

Currently [Jacobi method](http://en.wikipedia.org/wiki/Jacobi_method) is implemented.
2 changes: 1 addition & 1 deletion toolkits/clustering/clustering.dox
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
/**
/**

\page clustering Clustering

Expand Down
3 changes: 0 additions & 3 deletions toolkits/clustering/generate_synthetic.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -14,9 +14,6 @@
* express or implied. See the License for the specific language
* governing permissions and limitations under the License.
*
* For more about this software visit:
*
* http://www.graphlab.ml.cmu.edu
*
*/

Expand Down
3 changes: 0 additions & 3 deletions toolkits/clustering/graph_laplacian_for_sc.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -14,9 +14,6 @@
* express or implied. See the License for the specific language
* governing permissions and limitations under the License.
*
* For more about this software visit:
*
* http://www.graphlab.ml.cmu.edu
*
*/

Expand Down
3 changes: 0 additions & 3 deletions toolkits/clustering/kmeans.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -14,9 +14,6 @@
* express or implied. See the License for the specific language
* governing permissions and limitations under the License.
*
* For more about this software visit:
*
* http://www.graphlab.ml.cmu.edu
*
*/

Expand Down
3 changes: 0 additions & 3 deletions toolkits/clustering/spectral_clustering.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -14,9 +14,6 @@
* express or implied. See the License for the specific language
* governing permissions and limitations under the License.
*
* For more about this software visit:
*
* http://www.graphlab.ml.cmu.edu
*
*/

Expand Down
5 changes: 1 addition & 4 deletions toolkits/collaborative_filtering/adpredictor.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -14,14 +14,11 @@
* express or implied. See the License for the specific language
* governing permissions and limitations under the License.
*
* For more about this software visit:
*
* http://www.graphlab.ml.cmu.edu
* Implementation of the adpredictor algorithm as given in the paper:
* Web-Scale Bayesian Click-Through Rate Prediction for Sponsored Search Advertising in Microsoft’s Bing Search Engine
* Thore Graepel, Joaquin Quinonero Candela, Thomas Borchert, and Ralf Herbrich
* ICML 2010
* Implemented by Danny Bickson, GraphLab Inc.
* Implemented by Danny Bickson, GraphLab, Inc.
*
*/

Expand Down
3 changes: 0 additions & 3 deletions toolkits/collaborative_filtering/als.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -14,9 +14,6 @@
* express or implied. See the License for the specific language
* governing permissions and limitations under the License.
*
* For more about this software visit:
*
* http://www.graphlab.ml.cmu.edu
*
*/

Expand Down
3 changes: 0 additions & 3 deletions toolkits/collaborative_filtering/biassgd.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -14,9 +14,6 @@
* express or implied. See the License for the specific language
* governing permissions and limitations under the License.
*
* For more about this software visit:
*
* http://graphlab.org
*
*/

Expand Down
2 changes: 0 additions & 2 deletions toolkits/collaborative_filtering/cdf.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -14,8 +14,6 @@
* express or implied. See the License for the specific language
* governing permissions and limitations under the License.
*
* For more about this software visit:
http://graphlab.org
*/
#ifndef CDF_HPP
#define CDF_HPP
Expand Down
3 changes: 0 additions & 3 deletions toolkits/collaborative_filtering/cosamp.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -14,9 +14,6 @@
* express or implied. See the License for the specific language
* governing permissions and limitations under the License.
*
* For more about this software visit:
*
* http://www.graphlab.ml.cmu.edu
*
* Code written by Danny Bickson, CMU
* Any changes to the code must include this original license notice in full.
Expand Down
3 changes: 0 additions & 3 deletions toolkits/collaborative_filtering/doc.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -14,9 +14,6 @@
* express or implied. See the License for the specific language
* governing permissions and limitations under the License.
*
* For more about this software visit:
*
* http://www.graphlab.ml.cmu.edu
*
*/

Expand Down
3 changes: 0 additions & 3 deletions toolkits/collaborative_filtering/eigen_serialization.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -14,9 +14,6 @@
* express or implied. See the License for the specific language
* governing permissions and limitations under the License.
*
* For more about this software visit:
*
* http://www.graphlab.ml.cmu.edu
*
*/

Expand Down
3 changes: 0 additions & 3 deletions toolkits/collaborative_filtering/eigen_wrapper.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -14,9 +14,6 @@
* express or implied. See the License for the specific language
* governing permissions and limitations under the License.
*
* For more about this software visit:
*
* http://graphlab.org
*
*/

Expand Down
3 changes: 0 additions & 3 deletions toolkits/collaborative_filtering/make_synthetic_als_data.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -14,9 +14,6 @@
* express or implied. See the License for the specific language
* governing permissions and limitations under the License.
*
* For more about this software visit:
*
* http://www.graphlab.ml.cmu.edu
*
*/

Expand Down
3 changes: 0 additions & 3 deletions toolkits/collaborative_filtering/math.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -14,9 +14,6 @@
* express or implied. See the License for the specific language
* governing permissions and limitations under the License.
*
* For more about this software visit:
*
* http://www.graphlab.ml.cmu.edu
*
*/

Expand Down
3 changes: 0 additions & 3 deletions toolkits/collaborative_filtering/nmf.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -14,9 +14,6 @@
* express or implied. See the License for the specific language
* governing permissions and limitations under the License.
*
* For more about this software visit:
*
* http://www.graphlab.ml.cmu.edu
*
*/

Expand Down
3 changes: 0 additions & 3 deletions toolkits/collaborative_filtering/sgd.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -14,9 +14,6 @@
* express or implied. See the License for the specific language
* governing permissions and limitations under the License.
*
* For more about this software visit:
*
* http://www.graphlab.ml.cmu.edu
*
*/

Expand Down
3 changes: 0 additions & 3 deletions toolkits/collaborative_filtering/sparse_als.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -14,9 +14,6 @@
* express or implied. See the License for the specific language
* governing permissions and limitations under the License.
*
* For more about this software visit:
*
* http://www.graphlab.ml.cmu.edu
*
*/

Expand Down
3 changes: 0 additions & 3 deletions toolkits/collaborative_filtering/stats.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -14,9 +14,6 @@
* express or implied. See the License for the specific language
* governing permissions and limitations under the License.
*
* For more about this software visit:
*
* http://www.graphlab.ml.cmu.edu
*
* Class for collecting graph statistics
*/
Expand Down
3 changes: 0 additions & 3 deletions toolkits/collaborative_filtering/svd.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -14,9 +14,6 @@
* express or implied. See the License for the specific language
* governing permissions and limitations under the License.
*
* For more about this software visit:
*
* http://www.graphlab.ml.cmu.edu
*
*/

Expand Down
3 changes: 0 additions & 3 deletions toolkits/collaborative_filtering/svdpp.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -14,9 +14,6 @@
* express or implied. See the License for the specific language
* governing permissions and limitations under the License.
*
* For more about this software visit:
*
* http://graphlab.org
*
*/

Expand Down
3 changes: 0 additions & 3 deletions toolkits/collaborative_filtering/wals.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -14,9 +14,6 @@
* express or implied. See the License for the specific language
* governing permissions and limitations under the License.
*
* For more about this software visit:
*
* http://www.graphlab.ml.cmu.edu
*
*/

Expand Down
3 changes: 0 additions & 3 deletions toolkits/collaborative_filtering/warp_als_coord.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -14,9 +14,6 @@
* express or implied. See the License for the specific language
* governing permissions and limitations under the License.
*
* For more about this software visit:
*
* http://www.graphlab.ml.cmu.edu
*
*/

Expand Down
Loading

0 comments on commit 3d3cde9

Please sign in to comment.