Skip to content

dktanwar/learndrake

 
 

Travis build status Codecov test coverage

Machine learning workflow management with drake

Machine learning workflows can be difficult to manage. A single round of computation can take several hours to complete, and routine updates to the code and data tend to invalidate hard-earned results. You can enhance the maintainability, hygiene, speed, scale, and reproducibility of such projects with the drake R package. drake resolves the dependency structure of your analysis pipeline, skips tasks that are already up to date, executes the rest with optional distributed computing, and organizes the output so you rarely have to think about data files. This workshop will teach you how to create and maintain machine learning projects with drake-powered automation.

Installation

To obtain the workshop materials, simply install the learndrake package.

install.packages("remotes")
library(remotes)
install_github("wlandau/learndrake")

Usage

The functions in learndrake help navigate and deploy the workshop materials.

Function Purpose
view_slides() Open the introductory slides in a web browser.
save_notebooks() Save the tutorials to your computer: R notebooks and supporting files.
launch_app() Launch a Shiny app that accompanies a tutorial.
save_app() Save the app files so you can deploy to shinyapps.io or Shiny Server.

Introductory slides

The workshop begins with an introductory presentation on drake. View the slides at https://wlandau.github.io/learndrake/index.html or open them yourself in a browser with view_slides().

Tutorials

After the introductory presentation, students work through a sequence of R notebooks in order. Use save_notebooks() to save the notebooks and supporting files to your computer.

Notebook Topic
1-churn.Rmd Deep learning case study
2-setup.Rmd Convert the case study to a new drake project.
3-flow.Rmd Develop, work, and iterate on the project.
4-plans A deep dive into drake plans.
5-files Custom input and output data files.
6-reports Special considerations of knitr and R Markdown reports.
7-hpc High-performance computing

Apps

Notebooks 3-flow.Rmd and 4-plans.Rmd come with supporting Shiny apps to conduct the learning exercises.

App Notebook Deploy locally Public URL
Iterate on a drake workflow 3-flow.Rmd launch_app("flow") http://wlandau.shinyapps.io/learndrakeflow
Exercises on drake plans 4-plans.Rmd launch_app("plans") http://wlandau.shinyapps.io/learndrakeplans
Visualize drake projects 4-plans.Rmd launch_app("drakeplanner") http://wlandau.shinyapps.io/drakeplanner

Thanks

Thanks to For
Edgar Ruiz Uniting drake and keras at https://github.com/sol-eng/tensorflow-w-r and providing valuable advice on the construction of the workshop.
Matt Dancho Publishing the original blog post with the workshop’s underlying case study.
Eric Nantz Reviewing and providing feedback on this workshop.

About

An R package that teaches drake

Resources

License

Code of conduct

Contributing

Stars

Watchers

Forks

Packages

No packages published

Languages

  • HTML 92.0%
  • R 7.6%
  • CSS 0.4%