dl-experiment-code 1.0.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- dl_experiment_code/__init__.py +1 -0
- dl_experiment_code/cli.py +94 -0
- dl_experiment_code/templates/exp10_local.py +120 -0
- dl_experiment_code/templates/exp10_online.py +95 -0
- dl_experiment_code/templates/exp5_local.py +87 -0
- dl_experiment_code/templates/exp5_online.py +60 -0
- dl_experiment_code/templates/exp6_local.py +97 -0
- dl_experiment_code/templates/exp6_online.py +68 -0
- dl_experiment_code/templates/exp7_local.py +66 -0
- dl_experiment_code/templates/exp7_online.py +66 -0
- dl_experiment_code/templates/exp8_local.py +135 -0
- dl_experiment_code/templates/exp8_online.py +118 -0
- dl_experiment_code/templates/exp9_local.py +84 -0
- dl_experiment_code/templates/exp9_online.py +49 -0
- dl_experiment_code/templates/rnn_scratch.py +130 -0
- dl_experiment_code-1.0.0.dist-info/METADATA +146 -0
- dl_experiment_code-1.0.0.dist-info/RECORD +20 -0
- dl_experiment_code-1.0.0.dist-info/WHEEL +5 -0
- dl_experiment_code-1.0.0.dist-info/entry_points.txt +2 -0
- dl_experiment_code-1.0.0.dist-info/top_level.txt +1 -0
|
@@ -0,0 +1,146 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: dl-experiment-code
|
|
3
|
+
Version: 1.0.0
|
|
4
|
+
Summary: Ready-to-use Deep Learning experiment code for experiments 5-10 and a NumPy RNN from scratch
|
|
5
|
+
Requires-Python: >=3.9
|
|
6
|
+
Description-Content-Type: text/markdown
|
|
7
|
+
|
|
8
|
+
# Deep Learning Experiment Code Package
|
|
9
|
+
|
|
10
|
+
This package provides ready-to-use code for:
|
|
11
|
+
|
|
12
|
+
- Experiment 5: CNN image classification
|
|
13
|
+
- Experiment 6: CNN hyperparameter tuning
|
|
14
|
+
- Experiment 7: Autoencoder dimensionality reduction
|
|
15
|
+
- Experiment 8: Educational single-object detection
|
|
16
|
+
- Experiment 9: LSTM sentiment analysis
|
|
17
|
+
- Experiment 10: LSTM hyperparameter tuning
|
|
18
|
+
- Additional: Vanilla RNN implemented from scratch with NumPy
|
|
19
|
+
|
|
20
|
+
For experiments 5-10 there are two versions:
|
|
21
|
+
|
|
22
|
+
1. `local` - uses a local CSV/image/Pascal VOC dataset.
|
|
23
|
+
2. `online` - uses a Keras dataset or an online TensorFlow Datasets dataset.
|
|
24
|
+
|
|
25
|
+
The code follows the structure and concepts of the supplied original experiments.
|
|
26
|
+
|
|
27
|
+
## Installation
|
|
28
|
+
|
|
29
|
+
From this folder:
|
|
30
|
+
|
|
31
|
+
```bash
|
|
32
|
+
pip install .
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
For development/editable installation:
|
|
36
|
+
|
|
37
|
+
```bash
|
|
38
|
+
pip install -e .
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
## List experiments
|
|
42
|
+
|
|
43
|
+
```bash
|
|
44
|
+
dlab-code list
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
## Get code
|
|
48
|
+
|
|
49
|
+
Online/Keras dataset version:
|
|
50
|
+
|
|
51
|
+
```bash
|
|
52
|
+
dlab-code get 5 --dataset online
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
Local dataset version:
|
|
56
|
+
|
|
57
|
+
```bash
|
|
58
|
+
dlab-code get 5 --dataset local
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
Experiments 6-10 work the same way:
|
|
62
|
+
|
|
63
|
+
```bash
|
|
64
|
+
dlab-code get 6 --dataset online
|
|
65
|
+
dlab-code get 7 --dataset local
|
|
66
|
+
dlab-code get 8 --dataset online
|
|
67
|
+
dlab-code get 9 --dataset local
|
|
68
|
+
dlab-code get 10 --dataset online
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
## Save directly to a Python file
|
|
72
|
+
|
|
73
|
+
```bash
|
|
74
|
+
dlab-code get 5 --dataset online --save exp5.py
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
Then:
|
|
78
|
+
|
|
79
|
+
```bash
|
|
80
|
+
python exp5.py
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
## RNN from scratch
|
|
84
|
+
|
|
85
|
+
```bash
|
|
86
|
+
dlab-code get rnn-scratch
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
Or save it:
|
|
90
|
+
|
|
91
|
+
```bash
|
|
92
|
+
dlab-code get rnn-scratch --save rnn_from_scratch.py
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
The RNN uses NumPy only for the recurrent computation and manually implements:
|
|
96
|
+
|
|
97
|
+
- hidden-state calculation
|
|
98
|
+
- output calculation
|
|
99
|
+
- loss
|
|
100
|
+
- backpropagation through time
|
|
101
|
+
- gradient clipping
|
|
102
|
+
- parameter updates
|
|
103
|
+
|
|
104
|
+
## Dataset notes
|
|
105
|
+
|
|
106
|
+
### Experiment 5
|
|
107
|
+
- Online: Keras CIFAR-10
|
|
108
|
+
- Local: image directory with one folder per class
|
|
109
|
+
|
|
110
|
+
### Experiment 6
|
|
111
|
+
- Online: Keras CIFAR-10
|
|
112
|
+
- Local: image directory with one folder per class
|
|
113
|
+
|
|
114
|
+
### Experiment 7
|
|
115
|
+
- Online: Keras MNIST
|
|
116
|
+
- Local: numeric CSV
|
|
117
|
+
|
|
118
|
+
### Experiment 8
|
|
119
|
+
- Online: Pascal VOC through TensorFlow Datasets
|
|
120
|
+
- Local: Pascal VOC-style images + XML annotations
|
|
121
|
+
|
|
122
|
+
The object detector is deliberately educational and predicts the first object in an image. It is not a production multi-object detector.
|
|
123
|
+
|
|
124
|
+
### Experiment 9
|
|
125
|
+
- Online: Keras IMDB
|
|
126
|
+
- Local: `text,label` CSV
|
|
127
|
+
|
|
128
|
+
### Experiment 10
|
|
129
|
+
- Online: Keras IMDB
|
|
130
|
+
- Local: `text,label` CSV
|
|
131
|
+
|
|
132
|
+
## Dependencies for running generated code
|
|
133
|
+
|
|
134
|
+
Install the common ML stack:
|
|
135
|
+
|
|
136
|
+
```bash
|
|
137
|
+
pip install tensorflow scikit-learn pandas numpy matplotlib pillow
|
|
138
|
+
```
|
|
139
|
+
|
|
140
|
+
Experiment 8 online additionally needs:
|
|
141
|
+
|
|
142
|
+
```bash
|
|
143
|
+
pip install tensorflow-datasets
|
|
144
|
+
```
|
|
145
|
+
|
|
146
|
+
The package itself has no heavy ML dependency because it only generates/prints the code.
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
dl_experiment_code/__init__.py,sha256=J-j-u0itpEFT6irdmWmixQqYMadNl1X91TxUmoiLHMI,22
|
|
2
|
+
dl_experiment_code/cli.py,sha256=Oghpi-MT0Q2Rc9RLftF6AGGCWlgvecNbp9KWyn0WYI4,3230
|
|
3
|
+
dl_experiment_code/templates/exp10_local.py,sha256=_lTNiafsJpUsgK3aBveAac0sKukI6XxXFBy3vkFKFxw,3264
|
|
4
|
+
dl_experiment_code/templates/exp10_online.py,sha256=dwgWOgH_RZYvMaIGi6zdG1yJDlqx5IsRWXppnoln5XA,2704
|
|
5
|
+
dl_experiment_code/templates/exp5_local.py,sha256=H4C7DjU2xsrKMfobrWWbTdFVey-J3hFYRBXYK2pDxC0,2055
|
|
6
|
+
dl_experiment_code/templates/exp5_online.py,sha256=dL2YpaD6ioXGrtbJGSh0KU6Fz1uYVK8Zz20VkoqmzTc,1547
|
|
7
|
+
dl_experiment_code/templates/exp6_local.py,sha256=sthjUPUZdvCw-jVi4kUB0IaC6rAtyGhU1YM0dMqDGY0,2797
|
|
8
|
+
dl_experiment_code/templates/exp6_online.py,sha256=f96d7Lyo9uvnURvpe8r8X8tSc2YSzrC1bz46rD58IYM,2221
|
|
9
|
+
dl_experiment_code/templates/exp7_local.py,sha256=MbainAAi3nb97IT_2Sl9BLp28PMjK04R6uAZEOFG8hs,1666
|
|
10
|
+
dl_experiment_code/templates/exp7_online.py,sha256=jhqjdUu0qbOGbfzaH_-4QcJ4JfV9-CCdD8c-r_6e4iU,1626
|
|
11
|
+
dl_experiment_code/templates/exp8_local.py,sha256=Jdux8z9ru7Af_oK7qRlteU4LGMR11km0XwLlxIr5j3s,3528
|
|
12
|
+
dl_experiment_code/templates/exp8_online.py,sha256=CSATt_FSUYdxAx20Jmw6l6_uQzvo6_vmMwDmPr73YQ4,3196
|
|
13
|
+
dl_experiment_code/templates/exp9_local.py,sha256=lrZDHKi2XH6gyoabiD7rYxCbtmq_Imyfkl4-3WOZo_Q,1896
|
|
14
|
+
dl_experiment_code/templates/exp9_online.py,sha256=wxwgpidkp7YMUK5KUzMetbLf84p7thyeq3d4AcAt1SQ,1050
|
|
15
|
+
dl_experiment_code/templates/rnn_scratch.py,sha256=mTp3MSO44-CHnaq7URNwMNyTUlEVMiWAIrPSwbsti24,3104
|
|
16
|
+
dl_experiment_code-1.0.0.dist-info/METADATA,sha256=wNwD20L7EycMJ7zI4EjNsZOeP1kgOCQ5OU5sZxVvjO0,3074
|
|
17
|
+
dl_experiment_code-1.0.0.dist-info/WHEEL,sha256=YVMoNqKzERt-wjUZwJ33xBGAwnFl-4cqbYkTtWa4itE,91
|
|
18
|
+
dl_experiment_code-1.0.0.dist-info/entry_points.txt,sha256=9SDDec93jHV_2WevqFkaDJnP4bmxGca6Tvf5Mrdifso,58
|
|
19
|
+
dl_experiment_code-1.0.0.dist-info/top_level.txt,sha256=nHVCBncv79oF6DPbCGidx1VRH77ACC4ePE-8uwG_hdg,19
|
|
20
|
+
dl_experiment_code-1.0.0.dist-info/RECORD,,
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
dl_experiment_code
|