Spaces:
Running
on
L40S
Running
on
L40S
# Copyright (c) Facebook, Inc. and its affiliates. | |
# All rights reserved. | |
# | |
# This source code is licensed under the BSD-style license found in the | |
# LICENSE file in the root directory of this source tree. | |
# This script is for running some of the tutorials using the nightly build in | |
# an isolated environment. It is designed to be run in docker. | |
# If you run this script in this directory with | |
# sudo docker run --runtime=nvidia -it --rm -v $PWD/../docs/tutorials:/notebooks -v $PWD:/loc pytorch/conda-cuda bash /loc/run_tutorials.sh | tee log.txt | |
# it should execute some tutorials with the nightly build and resave them, and | |
# save a log in the current directory. | |
# We use nbconvert. runipy would be an alternative but it currently doesn't | |
# work well with plotly. | |
set -e | |
conda init bash | |
# shellcheck source=/dev/null | |
source ~/.bashrc | |
conda create -y -n myenv python=3.8 matplotlib ipython ipywidgets nbconvert | |
conda activate myenv | |
conda install -y -c fvcore -c iopath -c conda-forge fvcore iopath | |
conda install -y -c pytorch pytorch=1.6.0 cudatoolkit=10.1 torchvision | |
conda install -y -c pytorch3d-nightly pytorch3d | |
pip install plotly scikit-image | |
for notebook in /notebooks/*.ipynb | |
do | |
name=$(basename "$notebook") | |
if [[ "$name" == "dataloaders_ShapeNetCore_R2N2.ipynb" ]] | |
then | |
#skip as data not easily available | |
continue | |
fi | |
if [[ "$name" == "render_densepose.ipynb" ]] | |
then | |
#skip as data not easily available | |
continue | |
fi | |
#comment the lines which install torch, torchvision and pytorch3d | |
sed -Ei '/(torchvision)|(pytorch3d)/ s/!pip/!#pip/' "$notebook" | |
#Don't let tqdm use widgets | |
sed -i 's/from tqdm.notebook import tqdm/from tqdm import tqdm/' "$notebook" | |
echo | |
echo "### ### ###" | |
echo "starting $name" | |
time jupyter nbconvert --to notebook --inplace --ExecutePreprocessor.kernel_name=python3 --execute "$notebook" || true | |
echo "ending $name" | |
done | |