Skip to content
This repository was archived by the owner on Jan 3, 2023. It is now read-only.

new structure of the future BigDL tutorial #49

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
72 changes: 55 additions & 17 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,61 @@

Step-by-step Deep Leaning Tutorials on Apache Spark using [BigDL](https://github.com/intel-analytics/BigDL/). The tutorials are inspired by [Apache Spark examples](http://spark.apache.org/examples.html), the [Theano Tutorials](https://github.com/Newmu/Theano-Tutorials) and the [Tensorflow tutorials](https://github.com/nlintz/TensorFlow-Tutorials).

- Preface
- prologgue
- Organization of the tutorials
- advices and prerequisites for learners

- Introduction to Spark basics(topic 1-4)
- introduction to What Spark is, current usage and application(provided by useful links from Spark official site)
- environment setting and install instructions
- RDD
- DataFrame
- SparkSAL
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

SparkSQL?

- Structured Streaming

- Supervised Learning with BigDL(topic 6-8)
- install dependencies and set up the envrionment(imports)
- Introduction to Supervised Learning
- Linear Regression with BigDL(topic 6)
- About batch training
- Data Generation
- Hyperperameter setup
- model creation with Linear layer
- Loss function
- Optimizer
- Execute Training
- Prediction on training data
- Model evaluation on random test data

- Binary classification with logistic regression
- similar to structure in "Linear Regression with BigDL" but we bring the introduction to
"BigDL's train_summary and validation summary API" and "how to use them to visualize the learing curve" here

- Multiclass classification with logistic regression(topic 8)
- introduction to MNIST dataset (topic 7)
- rest is same to the structure in "Linear Regression with BigDL"

- Overfitting and Regularization with BigDL
- What is overfitting with example
- Use regulariztion to solve overfitting
- regularization in BigDL


- Nerual Networks with BigDL
- Introduction to neural networks
- install dependencies and imports
- mechanics of weight and gradient update
- Forward and backward(topic 5)
- Feedforward Neural Network(topic 9)
- RNN(topic 11)
- Bi-RNN(topic 13)
- LSTM(topic 12)
- CNN(topic 10 will include "batch normalization" here)
- batch normalization
- Auto-encoder(topic 14)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe we can expand this section, similar to Part 1 of http://gluon.mxnet.io

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

And add Keras-like API implementation as well @zhichao-li


*These neural network topics will have the same structure in "Binary classification with logistic regression"*
### Topics
1. [RDD](https://github.com/intel-analytics/BigDL-Tutorials/blob/master/notebooks/spark_basics/RDD.ipynb)
2. [DataFrame](https://github.com/intel-analytics/BigDL-Tutorials/blob/master/notebooks/spark_basics/DataFrame.ipynb)
Expand All @@ -18,21 +73,4 @@ Step-by-step Deep Leaning Tutorials on Apache Spark using [BigDL](https://github
13. [Bi-directional RNN](https://github.com/intel-analytics/BigDL-Tutorials/blob/master/notebooks/neural_networks/birnn.ipynb)
14. [Auto-encoder](https://github.com/intel-analytics/BigDL-Tutorials/blob/master/notebooks/neural_networks/autoencoder.ipynb)

### Environment
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

why remove this?

+ Python 2.7
+ JDK 8
+ Apache Spark 2.2.0
+ Jupyter Notebook 4.1
+ BigDL 0.3.0
+ [Setup env on Mac OS](https://github.com/intel-analytics/BigDL-Tutorials/blob/master/SetupMac.md) / [Setup env on Linux](https://github.com/intel-analytics/BigDL-Tutorials/blob/master/SetupLinux.md)

### Start Jupyter Server
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

why remove this?

* Run ```pip install BigDL==0.3.0```
* Run ``` jupyter notebook --notebook-dir=./ --ip=* --no-browser```

## Run Demo
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

why remove this?

* Open a browser - Suggest Chrome or Firefox or Safari
* Access notebook client at address http://localhost:8888, open the example ipynb files and execute.

## Note
* This notebook is for BigDL 0.3.0. Please refer branch-0.2 if you need to use BigDL 0.2.0.