Coder Social home page Coder Social logo

jupyter-binder's Introduction

jupyter-binder

This repo is a collection of my notebooks I've used to play around with some data science topics. They were mostly a place for me to explore and learn about a topic, but I've posted them here in case others find them useful! Some of them have fairly good comments, which are hopefully helpful for others!

Running the notebooks

1. Run in the cloud via mybinder

Click the button below to run and play with the notebooks in this repo! (Binder last built at 5985cc1).

The binder currently has iJulia and TensorFlow installed, as well as the OpenAi Gym framework.

Binder

2. Run locally with docker

First, clone this repo. Then, create the docker container and launch the notebook server by running ./start-local-binder.sh. (This requires docker to be installed. It will build a docker container based on Dockerfile, and launch it once it finishes. The first time, this will be very, very slow.)

Note, the files will be located in the directory "binder/".

3. Run locally, natively

If you already have any of the requisite tools installed on your machine (Tensorflow or Julia, etc), you can simply launch a jupyter notebook server to run the scripts yourself, via jupyter notebook.


Table of Contents

NOTE: The interactive mybinder deep-links below each open a new mybinder session, which seems to be running very, very slowly. If you want to open multiple interactive posts (which I encourage!), I would recommend you first simply open the binder by clicking the above badge or clicking here, and then open each interactive .ipynb file from there.

Recurrent Neural Networks

The following posts are reimplementations of and explanations of Karpathy's "The Unreasonable Effectiveness of Recurrent Neural Networks". I used these posts to try to get a better understanding of the concepts. Please note that I am by no means an expert on these topics, and certainly wasn't when I wrote these -- this was my first introduction to Neural Networks and ML.

julia_rnn.ipynb attempts to follow along with contents of Karpathy's article. In this post, we build the RNN from scratch, and hand-code its gradient (derivative), and build the training infrastructure to train it. In the end, the RNN is producing "shakespeare-ish" looking text. This is implemented in Julia, instead of the python implementation from Karpathy's post.

Click here to read as a static post, or here for an interactive jupyter notebook.

TensorFlow-custom-RNN.ipynb builds the same model, but using TensorFlow in python. This post also does a better job explaining the math, to try provide a more intuitive feel for why the cost function is what it is.

Click here to read as a static post, or here for an interactive jupyter notebook.

Monte Carlo Tree Search (MCTS) tic-tac-toe

MonteCarlo-TicTacToe.ipynb is a python-only implementation of a bot that plays perfect tic-tac-toe. It's a simple implementation of the Monte Carlo tree search. The only requirement is jupyter notebook, since it uses the notebook's built-in ipython display utilities to play.

Click here to read as a static post, or here for an interactive jupyter notebook.

This one is definitely worth playing with interactively!!

OpenAI gym: Cartpole problem (Reinforcement Learning tutorial)

The OpenAI gym presents the Cartpole problem as an introduction to reinforcement learning. They suggest that you complete it with three algorithms of increasing complexity: random guessing, hill-climbing, and Policy gradient. Here, I implement all three solutions from scratch, using python and numpy. At the end of the Policy gradient post, I collect some observations.

Karl Nearest Neighbors

A simple python program solving this goal: For each point in a list, find the set of points that are within desired_range of that point. This only requires python.

This was a demonstration for my friend Karl..

jupyter-binder's People

Contributors

dementrock avatar dribnet avatar gburt avatar neocxi avatar nhdaly avatar openai-sys-okta-integration avatar shriphani avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

jupyter-binder's Issues

Trying to understand why failing to build on binder

@NHDaly
Thanks for this example repo. I came across it while reviewing some of the issues in the binder repo and was trying to get it up and running ... but it seems to fail to generate the image on step 26 and given I'm trying to get a better handle on binder, I wanted to try to better understand what types of issues can lead to a failed build for an image. What is going wrong here? Did it fail to install something on an earlier step .. and is now erroring-out because of that? Are there any mechanisms in place within binder to alert to a repo owner when there's a build failure like this?

Thanks.

Step 26 : RUN ln ffmpeg-3.1.2-64bit-static/ffmpeg /usr/local/bin/ffmpeg
---> Running in 13074ee81587
�[91mln: failed to access ‘ffmpeg-3.1.2-64bit-static/ffmpeg’: No such file or directory�[0m
could not build image nhdaly-jupyter-binder: Error: build failed for imageName: nhdaly-jupyter-binder
registering template for nhdaly-jupyter-binder

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.