Seven notebooks could not be re-run in the earlier sessions because they needed data files or packages that are not in the repository. This log records what was missing, what each notebook uses now, the settings, the runtime, the metrics and the status. Numbers on substitute data are results on that substitute data. They are not the results of the original data files and must not be compared with the outputs the notebooks had before.
pip install -r requirements.txt (the file in this commit): TensorFlow 2.15.1, Keras 2.15.0, NumPy 1.26.4, pandas 2.2.3, scikit-learn 1.5.2, SciPy 1.13.1, matplotlib 3.9.2, seaborn 0.13.2, PyTorch 2.5.1 (CPU wheel, 2.5.1+cpu), gensim 4.3.3, NLTK 3.9.1, nbconvert 7.16.4. pip check reported no broken requirements.data/ folder absent, so every download ran:
python -m jupyter nbconvert --to notebook --execute --output-dir run-output --ExecutePreprocessor.timeout=1200 <notebook>.ipynb
The executed copy was then copied over the notebook (outputs kept) after local paths in the stored warnings were replaced with ....random_state keep them), so unseeded numbers change slightly from run to run.tip_amount_tensorflow failed in plot_the_model (a ragged array from trained_bias); fixed, then re-run.diabetes failed four times and titanic-tutorial twice, with “Dataset with data_id 37 not found”, “HTTP Error 503” or “Database connection error”. The diabetes data cell now downloads the ARFF file directly, retries, and falls back to the identical table in plotly/datasets; titanic-tutorial retries up to four times (it is the one place where the fallback is not available). In the committed titanic-tutorial run one request got HTTP 503 and the retry succeeded; the stored output shows that message.diabetes on its own (10 s; OpenML answered, so the plotly fallback was not used in the committed outputs).ANN_using_pytorch.ipynbtorch package (not in requirements.txt). The data cell already downloaded the UCI banknote file.random_state=42), network 4-8-4-1 with sigmoid output, SGD learning rate 0.01, 3,500 full-batch epochs, torch.manual_seed(20). Unchanged from the notebook.ANN_using_tensorflow.ipynbann_visualizer (needs the Graphviz program, not installed), plus four code errors that stopped the notebook: Dense() without units, Input not imported, y_pred2 and y_class2 undefined.ann_viz (at most 10 nodes per layer).random_state=42), SGD for 10 epochs and Adam for 5 to 20 epochs. Not seeded.model1 (6 hidden units, SGD, 10 epochs) accuracy 0.9621, confusion matrix [[185, 6], [7, 145]]; model21 (same plus dropout 0.2) 0.9242; model3 (64-32-16-8 with dropout, Adam, 20 epochs in total) confusion matrix [[191, 0], [0, 152]]; model01 (256 units, 2 epochs) [[191, 0], [3, 149]].Natural_Language_Processing_with_Disaster_Tweets.ipynbtrain.csv and test.csv (Kaggle login required, and no permissively licensed copy of those tweets was found), plus the gensim 3 API (size=, wv.vocab) and get_feature_names.stopwords and wordnet are downloaded at run time.random_state=42), word2vec vector_size=50, min_count=2, seed=42 (workers=4, so not exactly reproducible), Multinomial Naive Bayes on TF-IDF with 1 to 2 grams (30,990 features, dense). The dense arrays use about 2 to 3 GB of RAM at peak (estimated from the array sizes, not measured).diabetes.ipynbdiabetes.csv; sklearn.externals.six (removed from scikit-learn); the pydotplus and Graphviz picture (Graphviz program not installed).sklearn.tree.plot_tree.random_state=1), standardised features, DecisionTreeClassifier() (unseeded), then entropy tree with max_depth=3, then RandomForestClassifier(n_estimators=20, random_state=0).tip_amount_tensorflow.ipynbtip-amount.xlsx (source not recorded), and three code problems: RMSprop(lr=...), feature[-1] in the plot function (the stored KeyError), and cells using undefined x and y.tips table (244 rows; total bill, tip, sex, smoker, day, time, size; Bryant and Smith, 1995) from the plotly/datasets repository, pinned to commit 79f2104, https://raw.githubusercontent.com/plotly/datasets/79f21048146faece1dd7e9ebc815612d6662c7bc/tips.csv. The repository is under the MIT licence; no separate licence is stated for the table. The notebook uses total_bill as the single feature and tip as the label.titanic-tutorial.ipynbtrain.csv and test.csv (Kaggle login required).fetch_openml. 1,309 rows, shuffled with seed 42 and split 891 train / 418 test with the Kaggle column names (PassengerId is a new row number; boat, body and home.dest are dropped because boat and body reveal survival). The test rows keep their labels in a separate file so one added cell can score the models on them.world_alcohol_pandas_revision.ipynbworld_alcohol.csv (source not recorded; the file held 100 rows for 1985 to 1989), and a typo (w_a_con for df) that stopped the first cell.Year, WHO region, Country, Beverage Types, Display Value) and drops the “total” rows: 41,521 rows, 48 of them without a value.random_state=0 added to the two df.sample calls so the printed samples repeat. Nothing else changed.All seven notebooks ran top to bottom with exit code 0 and 0 error outputs; their executed outputs are stored in the notebooks. Code cells with output / code cells: PyTorch ANN 14/23, TensorFlow ANN 61/78, NLP 39/52, diabetes 10/19, tip 9/13, titanic 33/45, world alcohol 31/32 (the rest are empty cells or cells that print nothing). No stored output contains a local path (checked by searching the notebooks for the user name, the temp folder name and drive-letter paths).
A fresh clone of the pull-request branch and a new virtual environment (Python 3.11.9) were used, with the Getting started commands from the README (the venv python was called directly instead of activating the venv):
| Step | Result |
|---|---|
pip install -r requirements.txt |
exit 0, 375 s (TensorFlow, PyTorch CPU wheel and the other pins); pip check: no broken requirements |
python -m jupyter nbconvert --to notebook --execute --output-dir run-output banknote_randomforest.ipynb |
exit 0, 29 s, 0 error outputs; the accuracy cell prints 0.9912536443148688, as the README says |
Spot check: the same command for ANN_using_pytorch.ipynb |
exit 0, 29 s, 0 error outputs; test confusion matrix [[191, 0], [0, 152]] |
Spot check: the same command for Natural_Language_Processing_with_Disaster_Tweets.ipynb |
exit 0, 16 s, 0 error outputs; validation accuracy 0.9425837320574163 (all data downloaded from scratch) |