Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
Menu
Open sidebar
ITMO-NSS-team
FEDOT-Industrial
Commits
0ad95e1b
Commit
0ad95e1b
authored
10 months ago
by
VK-notebook
Browse files
Options
Download
Email Patches
Plain Diff
Update deeptcn model
parent
53dbd5bf
No related merge requests found
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
fedot_ind/core/models/nn/network_impl/deep_tcn.py
+14
-9
fedot_ind/core/models/nn/network_impl/deep_tcn.py
with
14 additions
and
9 deletions
+14
-9
fedot_ind/core/models/nn/network_impl/deep_tcn.py
View file @
0ad95e1b
import
warnings
from
typing
import
Optional
,
Union
from
typing
import
Optional
import
math
import
pandas
as
pd
...
...
@@ -13,19 +13,19 @@ from fedot.core.operations.evaluation.operation_implementations.data_operations.
from
fedot.core.operations.operation_parameters
import
OperationParameters
from
fedot.core.repository.dataset_types
import
DataTypesEnum
from
fedot.core.repository.tasks
import
Task
,
TaskTypesEnum
,
TsForecastingParams
from
torch
import
nn
,
optim
from
torch
import
nn
,
optim
,
Tensor
from
torch.optim
import
lr_scheduler
from
fedot_ind.core.architecture.abstraction.decorators
import
convert_to_4d_torch_array
from
fedot_ind.core.architecture.abstraction.decorators
import
convert_inputdata_to_torch_time_series_dataset
from
fedot_ind.core.architecture.preprocessing.data_convertor
import
DataConverter
from
fedot_ind.core.architecture.settings.computational
import
backend_methods
as
np
from
fedot_ind.core.architecture.settings.computational
import
default_device
from
fedot_ind.core.models.nn.network_impl.base_nn_model
import
BaseNeuralModel
from
fedot_ind.core.models.nn.network_modules.layers.backbone
import
_PatchTST_backbone
from
fedot_ind.core.models.nn.network_modules.layers.special
import
adjust_learning_rate
,
EarlyStopping
from
fedot_ind.core.operation.transformation.data.hankel
import
HankelMatrix
from
fedot_ind.core.operation.transformation.window_selector
import
WindowSizeSelector
from
fedot_ind.core.repository.constanst_repository
import
EXPONENTIAL_WEIGHTED_LOSS
from
fedot_ind.core.repository.constanst_repository
import
RMSE
warnings
.
filterwarnings
(
"ignore"
,
category
=
UserWarning
)
...
...
@@ -168,10 +168,10 @@ class TCNModel(BaseNeuralModel):
self
.
kernel_size
=
params
.
get
(
'kernel_size'
,
3
)
self
.
num_filters
=
params
.
get
(
'num_filters'
,
3
)
self
.
num_layers
=
params
.
get
(
'num_
filt
ers'
,
None
)
self
.
num_layers
=
params
.
get
(
'num_
lay
ers'
,
None
)
self
.
dilation_base
=
params
.
get
(
'dilation_base'
,
2
)
self
.
dropout
=
params
.
get
(
'dropout'
,
0.2
)
self
.
weight_norm
=
params
.
get
(
'
dropout
'
,
False
)
self
.
weight_norm
=
params
.
get
(
'
weight_norm
'
,
False
)
def
_init_model
(
self
,
ts
):
model
=
_TCNModule
(
input_size
=
ts
.
features
.
shape
[
0
],
...
...
@@ -185,9 +185,7 @@ class TCNModel(BaseNeuralModel):
dropout
=
self
.
dropout
,
weight_norm
=
self
.
weight_norm
)
optimizer
=
optim
.
Adam
(
model
.
parameters
(),
lr
=
self
.
learning_rate
)
patch_pred_len
=
round
(
self
.
horizon
/
4
)
loss_fn
=
EXPONENTIAL_WEIGHTED_LOSS
(
time_steps
=
patch_pred_len
,
tolerance
=
0.3
)
loss_fn
=
RMSE
()
return
model
,
loss_fn
,
optimizer
# @property
...
...
@@ -438,3 +436,10 @@ class TCNModel(BaseNeuralModel):
test_loader
=
torch
.
utils
.
data
.
DataLoader
(
data
.
TensorDataset
(
features
,
target
),
batch_size
=
self
.
batch_size
,
shuffle
=
False
)
return
self
.
_predict
(
model
,
test_loader
)
@
convert_to_4d_torch_array
def
_predict_model
(
self
,
x_test
):
self
.
model
.
eval
()
x_test
=
Tensor
(
x_test
).
to
(
default_device
())
pred
=
self
.
model
(
x_test
)
return
self
.
_convert_predict
(
pred
)
\ No newline at end of file
This diff is collapsed.
Click to expand it.
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment
Menu
Projects
Groups
Snippets
Help