Skip to content

Commit

Permalink
fixes #217
Browse files Browse the repository at this point in the history
  • Loading branch information
“oguiza” committed Sep 22, 2021
1 parent 28558a1 commit 3697209
Show file tree
Hide file tree
Showing 6 changed files with 376 additions and 71 deletions.
241 changes: 202 additions & 39 deletions nbs/052_learner.ipynb

Large diffs are not rendered by default.

142 changes: 126 additions & 16 deletions nbs/052b_tslearner.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -125,7 +125,8 @@
" if init is True:\n",
" init = nn.init.kaiming_normal_\n",
" if arch is None:\n",
" arch = InceptionTime\n",
" arch = InceptionTimePlus\n",
" elif isinstance(arch, str): arch = get_arch(arch)\n",
" if 'xresnet' in arch.__name__.lower() and not '1d' in arch.__name__.lower():\n",
" model = build_tsimage_model(arch, dls=dls, pretrained=pretrained, init=init, device=device, verbose=verbose, arch_config=arch_config)\n",
" elif 'tabularmodel' in arch.__name__.lower():\n",
Expand Down Expand Up @@ -165,10 +166,10 @@
" <tbody>\n",
" <tr>\n",
" <td>0</td>\n",
" <td>1.414029</td>\n",
" <td>1.395084</td>\n",
" <td>0.133333</td>\n",
" <td>00:19</td>\n",
" <td>1.443311</td>\n",
" <td>1.377058</td>\n",
" <td>0.300000</td>\n",
" <td>00:09</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>"
Expand Down Expand Up @@ -287,7 +288,8 @@
" if init is True:\n",
" init = nn.init.kaiming_normal_\n",
" if arch is None:\n",
" arch = InceptionTime\n",
" arch = InceptionTimePlus\n",
" elif isinstance(arch, str): arch = get_arch(arch)\n",
" if 'xresnet' in arch.__name__.lower() and not '1d' in arch.__name__.lower():\n",
" model = build_tsimage_model(arch, dls=dls, pretrained=pretrained, init=init, device=device, verbose=verbose, arch_config=arch_config)\n",
" elif 'tabularmodel' in arch.__name__.lower():\n",
Expand Down Expand Up @@ -327,10 +329,10 @@
" <tbody>\n",
" <tr>\n",
" <td>0</td>\n",
" <td>220.632156</td>\n",
" <td>203.714539</td>\n",
" <td>13.852869</td>\n",
" <td>00:15</td>\n",
" <td>212.008072</td>\n",
" <td>194.039246</td>\n",
" <td>13.499032</td>\n",
" <td>00:10</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>"
Expand Down Expand Up @@ -439,7 +441,8 @@
" if init is True:\n",
" init = nn.init.kaiming_normal_\n",
" if arch is None:\n",
" arch = InceptionTime\n",
" arch = InceptionTimePlus\n",
" elif isinstance(arch, str): arch = get_arch(arch)\n",
" if 'xresnet' in arch.__name__.lower() and not '1d' in arch.__name__.lower():\n",
" model = build_tsimage_model(arch, dls=dls, pretrained=pretrained, init=init, device=device, verbose=verbose, arch_config=arch_config)\n",
" elif 'tabularmodel' in arch.__name__.lower():\n",
Expand Down Expand Up @@ -500,10 +503,10 @@
" <tbody>\n",
" <tr>\n",
" <td>0</td>\n",
" <td>13200.081055</td>\n",
" <td>642.152588</td>\n",
" <td>21.371193</td>\n",
" <td>00:08</td>\n",
" <td>11734.808594</td>\n",
" <td>25068.802734</td>\n",
" <td>153.234894</td>\n",
" <td>00:07</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>"
Expand Down Expand Up @@ -531,7 +534,114 @@
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"outputs": [
{
"data": {
"application/javascript": [
"IPython.notebook.save_checkpoint();"
],
"text/plain": [
"<IPython.core.display.Javascript object>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"Converted 000_utils.ipynb.\n",
"Converted 000b_data.validation.ipynb.\n",
"Converted 000c_data.preparation.ipynb.\n",
"Converted 001_data.external.ipynb.\n",
"Converted 002_data.core.ipynb.\n",
"Converted 002b_data.unwindowed.ipynb.\n",
"Converted 002c_data.metadatasets.ipynb.\n",
"Converted 003_data.preprocessing.ipynb.\n",
"Converted 003b_data.transforms.ipynb.\n",
"Converted 003c_data.mixed_augmentation.ipynb.\n",
"Converted 003d_data.image.ipynb.\n",
"Converted 003e_data.features.ipynb.\n",
"Converted 005_data.tabular.ipynb.\n",
"Converted 006_data.mixed.ipynb.\n",
"Converted 050_losses.ipynb.\n",
"Converted 051_metrics.ipynb.\n",
"Converted 052_learner.ipynb.\n",
"Converted 052b_tslearner.ipynb.\n",
"Converted 053_optimizer.ipynb.\n",
"Converted 060_callback.core.ipynb.\n",
"Converted 061_callback.noisy_student.ipynb.\n",
"Converted 063_callback.MVP.ipynb.\n",
"Converted 064_callback.PredictionDynamics.ipynb.\n",
"Converted 100_models.layers.ipynb.\n",
"Converted 100b_models.utils.ipynb.\n",
"Converted 100c_models.explainability.ipynb.\n",
"Converted 101_models.ResNet.ipynb.\n",
"Converted 101b_models.ResNetPlus.ipynb.\n",
"Converted 102_models.InceptionTime.ipynb.\n",
"Converted 102b_models.InceptionTimePlus.ipynb.\n",
"Converted 103_models.MLP.ipynb.\n",
"Converted 103b_models.FCN.ipynb.\n",
"Converted 103c_models.FCNPlus.ipynb.\n",
"Converted 104_models.ResCNN.ipynb.\n",
"Converted 105_models.RNN.ipynb.\n",
"Converted 105_models.RNNPlus.ipynb.\n",
"Converted 106_models.XceptionTime.ipynb.\n",
"Converted 106b_models.XceptionTimePlus.ipynb.\n",
"Converted 107_models.RNN_FCN.ipynb.\n",
"Converted 107b_models.RNN_FCNPlus.ipynb.\n",
"Converted 108_models.TransformerModel.ipynb.\n",
"Converted 108b_models.TST.ipynb.\n",
"Converted 108c_models.TSTPlus.ipynb.\n",
"Converted 109_models.OmniScaleCNN.ipynb.\n",
"Converted 110_models.mWDN.ipynb.\n",
"Converted 111_models.ROCKET.ipynb.\n",
"Converted 111b_models.MINIROCKET.ipynb.\n",
"Converted 111c_models.MINIROCKET_Pytorch.ipynb.\n",
"Converted 111d_models.MINIROCKETPlus_Pytorch.ipynb.\n",
"Converted 112_models.XResNet1d.ipynb.\n",
"Converted 112b_models.XResNet1dPlus.ipynb.\n",
"Converted 113_models.TCN.ipynb.\n",
"Converted 114_models.XCM.ipynb.\n",
"Converted 114b_models.XCMPlus.ipynb.\n",
"Converted 120_models.TabModel.ipynb.\n",
"Converted 121_models.TabTransformer.ipynb.\n",
"Converted 122_models.TabFusionTransformer.ipynb.\n",
"Converted 123_models.TSPerceiver.ipynb.\n",
"Converted 124_models.TSiTPlus.ipynb.\n",
"Converted 130_models.MultiInputNet.ipynb.\n",
"Converted 140_models.misc.ipynb.\n",
"Converted 200_optuna.ipynb.\n",
"Converted 201_wandb.ipynb.\n",
"Converted 900_tutorials.ipynb.\n",
"Converted index.ipynb.\n",
"\n",
"\n",
"Checking folder: /Users/nacho/Documents/Machine_Learning/Jupyter_Notebooks/tsai/tsai\n",
"Correct conversion! 😃\n",
"Total time elapsed 283 s\n",
"Wednesday 22/09/21 09:44:02 CEST\n"
]
},
{
"data": {
"text/html": [
"\n",
" <audio controls=\"controls\" autoplay=\"autoplay\">\n",
" <source src=\"data:audio/wav;base64,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\" type=\"audio/wav\" />\n",
" Your browser does not support the audio element.\n",
" </audio>\n",
" "
],
"text/plain": [
"<IPython.lib.display.Audio object>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"#hide\n",
"out = create_scripts(); beep(out)"
Expand Down
24 changes: 13 additions & 11 deletions nbs/100b_models.utils.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -266,7 +266,7 @@
"name": "stderr",
"output_type": "stream",
"text": [
"Feature Extraction: 100%|██████████| 40/40 [00:04<00:00, 9.44it/s]\n"
"Feature Extraction: 100%|██████████| 40/40 [00:06<00:00, 6.29it/s]\n"
]
}
],
Expand Down Expand Up @@ -436,14 +436,14 @@
{
"data": {
"text/plain": [
"(array([ 0.17234295, 1.14456932, 1.53777785, 1.7275914 , 2.12448357,\n",
" 3.03572031, 3.66974232, 3.73218502, 4.23948506, 5.05280116,\n",
" 5.64281625, 5.92971914, 6.92562624, 7.48314717, 8.27708683,\n",
" 8.82844988, 9.28992969, 9.52390738, 9.76907479, 10.30774507]),\n",
" array([5.05280116, 5.64281625, 5.92971914, 6.92562624, 7.48314717,\n",
" 8.27708683, 8.82844988, 9.28992969, 9.52390738, 9.76907479]),\n",
" array([ 5.64281625, 5.92971914, 6.92562624, 7.48314717, 8.27708683,\n",
" 8.82844988, 9.28992969, 9.52390738, 9.76907479, 10.30774507]))"
"(array([0.70968358, 1.38644435, 1.59041815, 2.20751864, 2.48505449,\n",
" 3.47991453, 3.98099178, 4.38831248, 4.75489494, 5.05928241,\n",
" 5.96357428, 6.01922697, 6.50265493, 7.29552373, 7.3529232 ,\n",
" 7.89097994, 8.31968712, 8.70451578, 9.42185421, 9.63382276]),\n",
" array([5.05928241, 5.96357428, 6.01922697, 6.50265493, 7.29552373,\n",
" 7.3529232 , 7.89097994, 8.31968712, 8.70451578, 9.42185421]),\n",
" array([5.96357428, 6.01922697, 6.50265493, 7.29552373, 7.3529232 ,\n",
" 7.89097994, 8.31968712, 8.70451578, 9.42185421, 9.63382276]))"
]
},
"execution_count": null,
Expand Down Expand Up @@ -539,14 +539,16 @@
"Converted 124_models.TSiTPlus.ipynb.\n",
"Converted 130_models.MultiInputNet.ipynb.\n",
"Converted 140_models.misc.ipynb.\n",
"Converted 200_optuna.ipynb.\n",
"Converted 201_wandb.ipynb.\n",
"Converted 900_tutorials.ipynb.\n",
"Converted index.ipynb.\n",
"\n",
"\n",
"Checking folder: /Users/nacho/Documents/Machine_Learning/Jupyter_Notebooks/tsai/tsai\n",
"Correct conversion! 😃\n",
"Total time elapsed 244 s\n",
"Sunday 12/09/21 07:19:17 CEST\n"
"Total time elapsed 280 s\n",
"Wednesday 22/09/21 09:33:32 CEST\n"
]
},
{
Expand Down
3 changes: 3 additions & 0 deletions tsai/_nbdev.py
Original file line number Diff line number Diff line change
Expand Up @@ -350,6 +350,9 @@
"Recorder.plot_metrics": "052_learner.ipynb",
"Learner.plot_metrics": "052_learner.ipynb",
"Learner.show_probas": "052_learner.ipynb",
"get_arch": "052_learner.ipynb",
"all_archs": "052_learner.ipynb",
"all_archs_names": "052_learner.ipynb",
"ts_learner": "052_learner.ipynb",
"tsimage_learner": "052_learner.ipynb",
"Learner.decoder": "052_learner.ipynb",
Expand Down
28 changes: 26 additions & 2 deletions tsai/learner.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# AUTOGENERATED! DO NOT EDIT! File to edit: nbs/052_learner.ipynb (unless otherwise specified).

__all__ = ['load_all', 'load_learner_all', 'ts_learner', 'tsimage_learner']
__all__ = ['load_all', 'load_learner_all', 'get_arch', 'all_archs', 'all_archs_names', 'ts_learner', 'tsimage_learner']

# Cell
from fastai.learner import *
Expand All @@ -9,7 +9,7 @@
from .imports import *
from .data.core import *
from .data.validation import *
from .models.utils import *
from .models.all import *
from .models.InceptionTimePlus import *

# Cell
Expand Down Expand Up @@ -211,6 +211,28 @@ def show_probas(self:Learner, figsize=(6,6), ds_idx=1, dl=None, one_batch=False,
plt.show()
self.recorder = recorder

# Cell
all_archs = [FCN, FCNPlus, InceptionTime, InceptionTimePlus, InCoordTime, XCoordTime,
InceptionTimePlus17x17, InceptionTimePlus32x32, InceptionTimePlus47x47, InceptionTimePlus62x62,
InceptionTimeXLPlus, MultiInceptionTimePlus, MiniRocketClassifier, MiniRocketRegressor,
MiniRocketVotingClassifier, MiniRocketVotingRegressor, MiniRocketFeaturesPlus, MiniRocketPlus, MiniRocketHead,
InceptionRocketFeaturesPlus, InceptionRocketPlus, MLP, MultiInputNet, OmniScaleCNN, RNN, LSTM, GRU, RNNPlus, LSTMPlus, GRUPlus,
RNN_FCN, LSTM_FCN, GRU_FCN, MRNN_FCN, MLSTM_FCN, MGRU_FCN, ROCKET, RocketClassifier, RocketRegressor, ResCNNBlock, ResCNN,
ResNet, ResNetPlus, TCN, TSPerceiver, TST, TSTPlus, MultiTSTPlus, TSiTPlus, TSiT, InceptionTSiTPlus, InceptionTSiT,
TabFusionTransformer, TSTabFusionTransformer, TabModel, TabTransformer, TransformerModel, XCM, XCMPlus,
xresnet1d18, xresnet1d34, xresnet1d50, xresnet1d101, xresnet1d152, xresnet1d18_deep,
xresnet1d34_deep, xresnet1d50_deep, xresnet1d18_deeper, xresnet1d34_deeper, xresnet1d50_deeper,
XResNet1dPlus, xresnet1d18plus, xresnet1d34plus, xresnet1d50plus, xresnet1d101plus,
xresnet1d152plus, xresnet1d18_deepplus, xresnet1d34_deepplus, xresnet1d50_deepplus,
xresnet1d18_deeperplus, xresnet1d34_deeperplus, xresnet1d50_deeperplus, XceptionTime, XceptionTimePlus
]

all_archs_names = [arch.__name__ for arch in all_archs]
def get_arch(arch_name):
assert arch_name in all_archs_names, "confirm the name of the architecture"
idx = all_archs_names.index(arch_name)
return all_archs[idx]

# Cell
@delegates(build_ts_model)
def ts_learner(dls, arch=None, c_in=None, c_out=None, seq_len=None, d=None, splitter=trainable_params,
Expand All @@ -221,6 +243,7 @@ def ts_learner(dls, arch=None, c_in=None, c_out=None, seq_len=None, d=None, spli
**kwargs):

if arch is None: arch = InceptionTimePlus
elif isinstance(arch, str): arch = get_arch(arch)
model = build_ts_model(arch, dls=dls, c_in=c_in, c_out=c_out, seq_len=seq_len, d=d, **kwargs)
try:
model[0], model[1]
Expand Down Expand Up @@ -252,6 +275,7 @@ def tsimage_learner(dls, arch=None, pretrained=False,
**kwargs):

if arch is None: arch = xresnet34
elif isinstance(arch, str): arch = get_arch(arch)
model = build_tsimage_model(arch, dls=dls, pretrained=pretrained, **kwargs)
learn = Learner(dls=dls, model=model,
loss_func=loss_func, opt_func=opt_func, lr=lr, cbs=cbs, metrics=metrics, path=path,
Expand Down
9 changes: 6 additions & 3 deletions tsai/tslearner.py
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,8 @@ def __init__(self, X, y=None, splits=None, tfms=None, inplace=True, sel_vars=Non
if init is True:
init = nn.init.kaiming_normal_
if arch is None:
arch = InceptionTime
arch = InceptionTimePlus
elif isinstance(arch, str): arch = get_arch(arch)
if 'xresnet' in arch.__name__.lower() and not '1d' in arch.__name__.lower():
model = build_tsimage_model(arch, dls=dls, pretrained=pretrained, init=init, device=device, verbose=verbose, arch_config=arch_config)
elif 'tabularmodel' in arch.__name__.lower():
Expand Down Expand Up @@ -96,7 +97,8 @@ def __init__(self, X, y=None, splits=None, tfms=None, inplace=True, sel_vars=Non
if init is True:
init = nn.init.kaiming_normal_
if arch is None:
arch = InceptionTime
arch = InceptionTimePlus
elif isinstance(arch, str): arch = get_arch(arch)
if 'xresnet' in arch.__name__.lower() and not '1d' in arch.__name__.lower():
model = build_tsimage_model(arch, dls=dls, pretrained=pretrained, init=init, device=device, verbose=verbose, arch_config=arch_config)
elif 'tabularmodel' in arch.__name__.lower():
Expand Down Expand Up @@ -148,7 +150,8 @@ def __init__(self, X, y=None, splits=None, tfms=None, inplace=True, sel_vars=Non
if init is True:
init = nn.init.kaiming_normal_
if arch is None:
arch = InceptionTime
arch = InceptionTimePlus
elif isinstance(arch, str): arch = get_arch(arch)
if 'xresnet' in arch.__name__.lower() and not '1d' in arch.__name__.lower():
model = build_tsimage_model(arch, dls=dls, pretrained=pretrained, init=init, device=device, verbose=verbose, arch_config=arch_config)
elif 'tabularmodel' in arch.__name__.lower():
Expand Down

0 comments on commit 3697209

Please sign in to comment.