ericmjl / bayesian-stats-modelling-tutorial

How to do Bayesian statistical modelling using numpy and PyMC3
MIT License
659 stars 280 forks source link

Colab repo #89

Open hugobowne opened 4 years ago

hugobowne commented 4 years ago

hey @ericmjl do you know any easy-ish way to create a colab for this repo?

Ideally, without needing to use google drive or anything like that?

e.g. for a single NB in a repo, i can just use the colab chrome extension -- like i did under the colab badges here

but i can't seem to figure out how to do it easily for a repo.

LMK if you know, bro!

ericmjl commented 4 years ago

Colab's going to be a bit tricky. They don't support the installation methods that we are used to, as it presumes a fixed, ephemeral VM that you install packages into, with package installation commands as part of the notebook at the top. It's a bit "yucky" in my opinion. But I know where you're coming from - getting ready for the surge of users that will inevitably show up on Tuesday.

I think we could provide a Docker container that they can run locally. I'm in the midst of recording my PyCon tutorial, so for the day and possibly tomorrow, I might not have the bandwidth to handle it though. If you do, let me know, otherwise, I'd just default back to "follow HTML notebooks" on GitHub.

hugobowne commented 4 years ago

thanks, Eric. Colab worked incredibly well for my COVID-19 Live coding session last week: https://github.com/hugobowne/COVID-19-EDA-tutorial

But really only used pandas/matplotlib/altair.

our friends at binder helped then and may be able to help this time: https://github.com/jupyterhub/team-compass/issues/276#issuecomment-612331587

I think our conda/pip install instructions are good enough & i have made it clear in readme that learners should not expect binder to necessarily work -- if they want a guarantee, do local setup before the workshop (i've asked ODSC to tell them to do it at least a day before).

Let's not pull any docker stuff into master before this week's tutorial (i see we have an open issue here, which is great).

I'll leave this issue open as it will force me to either figure colab out or make a colab feature request or two. I think it would be reasonable to at least suggest the idea that colab achieve feature parity with binder on this (but not to expect that they'll prioritize it).

Patch4747 commented 2 years ago

I worked with the notebooks/SciPy-2022/02-* files in Colab, and I had to make one notable tweak related to the pymc module.

In addition to a manual install (expected with Colab), I had to set an environment variable. Summarized below:

# must do this before importing pymc
!pip install pymc
%env MKL_THREADING_LAYER=GNU

# should be error-free now
import pymc

Solution taken from this issue: https://github.com/pymc-devs/pymc/issues/5862

P.S. I am aware that Colab isn't the ideal space for this project. Still, I figured I'd share this in case anyone decides to use Colab and runs into this problem.