Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
Greenplum
Pytorch Widedeep
提交
2ef478cf
P
Pytorch Widedeep
项目概览
Greenplum
/
Pytorch Widedeep
9 个月 前同步成功
通知
9
Star
1
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
P
Pytorch Widedeep
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
未验证
提交
2ef478cf
编写于
8月 04, 2023
作者:
J
Javier
提交者:
GitHub
8月 04, 2023
浏览文件
操作
浏览文件
下载
差异文件
Merge pull request #185 from jrzaurin/flash_attention
Flash attention
上级
cd1ff79a
67439c42
变更
67
展开全部
隐藏空白更改
内联
并排
Showing
67 changed file
with
7302 addition
and
1293 deletion
+7302
-1293
README.md
README.md
+14
-8
VERSION
VERSION
+1
-1
examples/scripts/adult_census_linear_and_flash_attention.py
examples/scripts/adult_census_linear_and_flash_attention.py
+84
-0
examples/scripts/wide_deep_for_recsys/ml100k_data_preparation.py
...s/scripts/wide_deep_for_recsys/ml100k_data_preparation.py
+5
-2
examples/scripts/wide_deep_for_recsys/pytorch_wide_deep_pt2.py
...les/scripts/wide_deep_for_recsys/pytorch_wide_deep_pt2.py
+4
-4
mkdocs/mkdocs.yml
mkdocs/mkdocs.yml
+3
-0
mkdocs/site/404.html
mkdocs/site/404.html
+48
-0
mkdocs/site/contributing.html
mkdocs/site/contributing.html
+50
-2
mkdocs/site/examples/01_Preprocessors_and_utils.html
mkdocs/site/examples/01_Preprocessors_and_utils.html
+48
-0
mkdocs/site/examples/02_model_components.html
mkdocs/site/examples/02_model_components.html
+48
-0
mkdocs/site/examples/03_Binary_Classification_with_Defaults.html
...site/examples/03_Binary_Classification_with_Defaults.html
+48
-0
mkdocs/site/examples/04_regression_with_images_and_text.html
mkdocs/site/examples/04_regression_with_images_and_text.html
+48
-0
mkdocs/site/examples/05_save_and_load_model_and_artifacts.html
...s/site/examples/05_save_and_load_model_and_artifacts.html
+48
-0
mkdocs/site/examples/06_fineTune_and_warmup.html
mkdocs/site/examples/06_fineTune_and_warmup.html
+48
-0
mkdocs/site/examples/07_Custom_Components.html
mkdocs/site/examples/07_Custom_Components.html
+48
-0
mkdocs/site/examples/08_custom_dataLoader_imbalanced_dataset.html
...ite/examples/08_custom_dataLoader_imbalanced_dataset.html
+48
-0
mkdocs/site/examples/09_extracting_embeddings.html
mkdocs/site/examples/09_extracting_embeddings.html
+48
-0
mkdocs/site/examples/11_auc_multiclass.html
mkdocs/site/examples/11_auc_multiclass.html
+48
-0
mkdocs/site/examples/13_Model_Uncertainty_prediction.html
mkdocs/site/examples/13_Model_Uncertainty_prediction.html
+48
-0
mkdocs/site/examples/14_bayesian_models.html
mkdocs/site/examples/14_bayesian_models.html
+48
-0
mkdocs/site/examples/15_DIR-LDS_and_FDS.html
mkdocs/site/examples/15_DIR-LDS_and_FDS.html
+48
-0
mkdocs/site/examples/16_Self_Supervised_Pretraning_pt1.html
mkdocs/site/examples/16_Self_Supervised_Pretraning_pt1.html
+48
-0
mkdocs/site/examples/16_Self_Supervised_Pretraning_pt2.html
mkdocs/site/examples/16_Self_Supervised_Pretraning_pt2.html
+48
-0
mkdocs/site/index.html
mkdocs/site/index.html
+92
-153
mkdocs/site/index.md
mkdocs/site/index.md
+52
-157
mkdocs/site/installation.html
mkdocs/site/installation.html
+54
-4
mkdocs/site/installation.md
mkdocs/site/installation.md
+6
-4
mkdocs/site/objects.inv
mkdocs/site/objects.inv
+0
-0
mkdocs/site/pytorch-widedeep/bayesian_models.html
mkdocs/site/pytorch-widedeep/bayesian_models.html
+48
-0
mkdocs/site/pytorch-widedeep/bayesian_trainer.html
mkdocs/site/pytorch-widedeep/bayesian_trainer.html
+48
-0
mkdocs/site/pytorch-widedeep/callbacks.html
mkdocs/site/pytorch-widedeep/callbacks.html
+83
-13
mkdocs/site/pytorch-widedeep/dataloaders.html
mkdocs/site/pytorch-widedeep/dataloaders.html
+51
-1
mkdocs/site/pytorch-widedeep/losses.html
mkdocs/site/pytorch-widedeep/losses.html
+66
-20
mkdocs/site/pytorch-widedeep/metrics.html
mkdocs/site/pytorch-widedeep/metrics.html
+88
-40
mkdocs/site/pytorch-widedeep/model_components.html
mkdocs/site/pytorch-widedeep/model_components.html
+480
-76
mkdocs/site/pytorch-widedeep/model_components.md
mkdocs/site/pytorch-widedeep/model_components.md
+6
-0
mkdocs/site/pytorch-widedeep/preprocessing.html
mkdocs/site/pytorch-widedeep/preprocessing.html
+386
-216
mkdocs/site/pytorch-widedeep/preprocessing.md
mkdocs/site/pytorch-widedeep/preprocessing.md
+2
-0
mkdocs/site/pytorch-widedeep/self_supervised_pretraining.html
...cs/site/pytorch-widedeep/self_supervised_pretraining.html
+54
-6
mkdocs/site/pytorch-widedeep/tab2vec.html
mkdocs/site/pytorch-widedeep/tab2vec.html
+49
-1
mkdocs/site/pytorch-widedeep/trainer.html
mkdocs/site/pytorch-widedeep/trainer.html
+137
-252
mkdocs/site/pytorch-widedeep/utils/deeptabular_utils.html
mkdocs/site/pytorch-widedeep/utils/deeptabular_utils.html
+48
-0
mkdocs/site/pytorch-widedeep/utils/fastai_transforms.html
mkdocs/site/pytorch-widedeep/utils/fastai_transforms.html
+104
-29
mkdocs/site/pytorch-widedeep/utils/image_utils.html
mkdocs/site/pytorch-widedeep/utils/image_utils.html
+48
-0
mkdocs/site/pytorch-widedeep/utils/index.html
mkdocs/site/pytorch-widedeep/utils/index.html
+48
-0
mkdocs/site/pytorch-widedeep/utils/text_utils.html
mkdocs/site/pytorch-widedeep/utils/text_utils.html
+149
-69
mkdocs/site/quick_start.html
mkdocs/site/quick_start.html
+48
-0
mkdocs/site/search/search_index.json
mkdocs/site/search/search_index.json
+1
-1
mkdocs/site/sitemap.xml
mkdocs/site/sitemap.xml
+54
-39
mkdocs/site/sitemap.xml.gz
mkdocs/site/sitemap.xml.gz
+0
-0
mkdocs/sources/examples/18_feature_importance_via_attention_weights.ipynb
...xamples/18_feature_importance_via_attention_weights.ipynb
+1151
-0
mkdocs/sources/examples/19_wide_and_deep_for_recsys_pt1.ipynb
...cs/sources/examples/19_wide_and_deep_for_recsys_pt1.ipynb
+2303
-0
mkdocs/sources/examples/19_wide_and_deep_for_recsys_pt2.ipynb
...cs/sources/examples/19_wide_and_deep_for_recsys_pt2.ipynb
+368
-0
mkdocs/sources/index.md
mkdocs/sources/index.md
+52
-157
mkdocs/sources/installation.md
mkdocs/sources/installation.md
+6
-4
mkdocs/sources/pytorch-widedeep/model_components.md
mkdocs/sources/pytorch-widedeep/model_components.md
+6
-0
mkdocs/sources/pytorch-widedeep/preprocessing.md
mkdocs/sources/pytorch-widedeep/preprocessing.md
+2
-0
pytorch_widedeep/models/tabular/transformers/_attention_layers.py
...widedeep/models/tabular/transformers/_attention_layers.py
+90
-12
pytorch_widedeep/models/tabular/transformers/_encoders.py
pytorch_widedeep/models/tabular/transformers/_encoders.py
+7
-2
pytorch_widedeep/models/tabular/transformers/tab_transformer.py
...h_widedeep/models/tabular/transformers/tab_transformer.py
+38
-5
pytorch_widedeep/models/text/basic_transformer.py
pytorch_widedeep/models/text/basic_transformer.py
+28
-8
pytorch_widedeep/preprocessing/tab_preprocessor.py
pytorch_widedeep/preprocessing/tab_preprocessor.py
+25
-0
pytorch_widedeep/preprocessing/text_preprocessor.py
pytorch_widedeep/preprocessing/text_preprocessor.py
+4
-2
pytorch_widedeep/utils/fastai_transforms.py
pytorch_widedeep/utils/fastai_transforms.py
+3
-2
pytorch_widedeep/utils/text_utils.py
pytorch_widedeep/utils/text_utils.py
+4
-2
pytorch_widedeep/version.py
pytorch_widedeep/version.py
+1
-1
tests/test_model_components/test_mc_attn_layers.py
tests/test_model_components/test_mc_attn_layers.py
+83
-0
未找到文件。
README.md
浏览文件 @
2ef478cf
...
@@ -130,26 +130,33 @@ passed through a series of ResNet blocks built with dense layers.
...
@@ -130,26 +130,33 @@ passed through a series of ResNet blocks built with dense layers.
3.
**TabNet**
: details on TabNet can be found in
3.
**TabNet**
: details on TabNet can be found in
[
TabNet: Attentive Interpretable Tabular Learning
](
https://arxiv.org/abs/1908.07442
)
[
TabNet: Attentive Interpretable Tabular Learning
](
https://arxiv.org/abs/1908.07442
)
Two simpler attention based models that we call:
4.
**ContextAttentionMLP**
: MLP with at attention mechanism "on top" that is based on
[
Hierarchical Attention Networks for Document Classification
](
https://www.cs.cmu.edu/~./hovy/papers/16HLT-hierarchical-attention-networks.pd
)
5.
**SelfAttentionMLP**
: MLP with an attention mechanism that is a simplified
version of a transformer block that we refer as "query-key self-attention".
The
``Tabformer``
family, i.e. Transformers for Tabular data:
The
``Tabformer``
family, i.e. Transformers for Tabular data:
4
.
**TabTransformer**
: details on the TabTransformer can be found in
6
.
**TabTransformer**
: details on the TabTransformer can be found in
[
TabTransformer: Tabular Data Modeling Using Contextual Embeddings
](
https://arxiv.org/pdf/2012.06678.pdf
)
.
[
TabTransformer: Tabular Data Modeling Using Contextual Embeddings
](
https://arxiv.org/pdf/2012.06678.pdf
)
.
5
.
**SAINT**
: Details on SAINT can be found in
7
.
**SAINT**
: Details on SAINT can be found in
[
SAINT: Improved Neural Networks for Tabular Data via Row Attention and Contrastive Pre-Training
](
https://arxiv.org/abs/2106.01342
)
.
[
SAINT: Improved Neural Networks for Tabular Data via Row Attention and Contrastive Pre-Training
](
https://arxiv.org/abs/2106.01342
)
.
6
.
**FT-Transformer**
: details on the FT-Transformer can be found in
8
.
**FT-Transformer**
: details on the FT-Transformer can be found in
[
Revisiting Deep Learning Models for Tabular Data
](
https://arxiv.org/abs/2106.11959
)
.
[
Revisiting Deep Learning Models for Tabular Data
](
https://arxiv.org/abs/2106.11959
)
.
7
.
**TabFastFormer**
: adaptation of the FastFormer for tabular data. Details
9
.
**TabFastFormer**
: adaptation of the FastFormer for tabular data. Details
on the Fasformer can be found in
on the Fasformer can be found in
[
FastFormers: Highly Efficient Transformer Models for Natural Language Understanding
](
https://arxiv.org/abs/2010.13382
)
[
FastFormers: Highly Efficient Transformer Models for Natural Language Understanding
](
https://arxiv.org/abs/2010.13382
)
8
.
**TabPerceiver**
: adaptation of the Perceiver for tabular data. Details on
10
.
**TabPerceiver**
: adaptation of the Perceiver for tabular data. Details on
the Perceiver can be found in
the Perceiver can be found in
[
Perceiver: General Perception with Iterative Attention
](
https://arxiv.org/abs/2103.03206
)
[
Perceiver: General Perception with Iterative Attention
](
https://arxiv.org/abs/2103.03206
)
And probabilistic DL models for tabular data based on
And probabilistic DL models for tabular data based on
[
Weight Uncertainty in Neural Networks
](
https://arxiv.org/abs/1505.05424
)
:
[
Weight Uncertainty in Neural Networks
](
https://arxiv.org/abs/1505.05424
)
:
9
.
**BayesianWide**
: Probabilistic adaptation of the
`Wide`
model.
11
.
**BayesianWide**
: Probabilistic adaptation of the
`Wide`
model.
1
0
.
**BayesianTabMlp**
: Probabilistic adaptation of the
`TabMlp`
model
1
2
.
**BayesianTabMlp**
: Probabilistic adaptation of the
`TabMlp`
model
Note that while there are scientific publications for the TabTransformer,
Note that while there are scientific publications for the TabTransformer,
SAINT and FT-Transformer, the TabFasfFormer and TabPerceiver are our own
SAINT and FT-Transformer, the TabFasfFormer and TabPerceiver are our own
...
@@ -196,7 +203,6 @@ using `Wide` and `DeepDense` and defaults settings.
...
@@ -196,7 +203,6 @@ using `Wide` and `DeepDense` and defaults settings.
Building a wide (linear) and deep model with
``pytorch-widedeep``
:
Building a wide (linear) and deep model with
``pytorch-widedeep``
:
```
python
```
python
import
pandas
as
pd
import
numpy
as
np
import
numpy
as
np
import
torch
import
torch
from
sklearn.model_selection
import
train_test_split
from
sklearn.model_selection
import
train_test_split
...
...
VERSION
浏览文件 @
2ef478cf
1.3.
1
1.3.
2
examples/scripts/adult_census_linear_and_flash_attention.py
0 → 100644
浏览文件 @
2ef478cf
from
time
import
time
from
sklearn.model_selection
import
train_test_split
from
pytorch_widedeep
import
Trainer
from
pytorch_widedeep.models
import
WideDeep
,
TabTransformer
from
pytorch_widedeep.metrics
import
Accuracy
from
pytorch_widedeep.datasets
import
load_adult
from
pytorch_widedeep.preprocessing
import
TabPreprocessor
# use_cuda = torch.cuda.is_available()
df
=
load_adult
(
as_frame
=
True
)
df
.
columns
=
[
c
.
replace
(
"-"
,
"_"
)
for
c
in
df
.
columns
]
df
[
"income_label"
]
=
(
df
[
"income"
].
apply
(
lambda
x
:
">50K"
in
x
)).
astype
(
int
)
df
.
drop
(
"income"
,
axis
=
1
,
inplace
=
True
)
target_colname
=
"income_label"
cat_embed_cols
=
[]
for
col
in
df
.
columns
:
if
df
[
col
].
dtype
==
"O"
or
df
[
col
].
nunique
()
<
200
and
col
!=
target_colname
:
cat_embed_cols
.
append
(
col
)
train
,
test
=
train_test_split
(
df
,
test_size
=
0.1
,
random_state
=
1
,
stratify
=
df
[[
target_colname
]]
)
with_cls_token
=
True
tab_preprocessor
=
TabPreprocessor
(
cat_embed_cols
=
cat_embed_cols
,
with_attention
=
True
,
with_cls_token
=
with_cls_token
)
X_tab_train
=
tab_preprocessor
.
fit_transform
(
train
)
X_tab_test
=
tab_preprocessor
.
transform
(
test
)
target
=
train
[
target_colname
].
values
tab_transformer
=
TabTransformer
(
column_idx
=
tab_preprocessor
.
column_idx
,
cat_embed_input
=
tab_preprocessor
.
cat_embed_input
,
input_dim
=
16
,
n_heads
=
2
,
n_blocks
=
2
,
)
linear_tab_transformer
=
TabTransformer
(
column_idx
=
tab_preprocessor
.
column_idx
,
cat_embed_input
=
tab_preprocessor
.
cat_embed_input
,
input_dim
=
16
,
n_heads
=
2
,
n_blocks
=
2
,
use_linear_attention
=
True
,
)
flash_tab_transformer
=
TabTransformer
(
column_idx
=
tab_preprocessor
.
column_idx
,
cat_embed_input
=
tab_preprocessor
.
cat_embed_input
,
input_dim
=
16
,
n_heads
=
2
,
n_blocks
=
2
,
use_flash_attention
=
True
,
)
s_model
=
WideDeep
(
deeptabular
=
tab_transformer
)
l_model
=
WideDeep
(
deeptabular
=
linear_tab_transformer
)
f_model
=
WideDeep
(
deeptabular
=
flash_tab_transformer
)
for
name
,
model
in
[(
"standard"
,
s_model
),
(
"linear"
,
l_model
),
(
"flash"
,
f_model
)]:
trainer
=
Trainer
(
model
,
objective
=
"binary"
,
metrics
=
[
Accuracy
],
)
s
=
time
()
trainer
.
fit
(
X_tab
=
X_tab_train
,
target
=
target
,
n_epochs
=
1
,
batch_size
=
64
,
val_split
=
0.2
,
)
e
=
time
()
-
s
print
(
f
"
{
name
}
attention time:
{
round
(
e
,
3
)
}
secs"
)
examples/scripts/wide_deep_for_recsys/ml100k_data_preparation.py
浏览文件 @
2ef478cf
...
@@ -10,7 +10,7 @@ from sklearn.model_selection import train_test_split
...
@@ -10,7 +10,7 @@ from sklearn.model_selection import train_test_split
from
pytorch_widedeep.datasets
import
load_movielens100k
from
pytorch_widedeep.datasets
import
load_movielens100k
data
,
user
,
items
=
load_movielens100k
(
as_frame
=
True
)
data
,
user
s
,
items
=
load_movielens100k
(
as_frame
=
True
)
# Alternatively, as specified in the docs: 'The last 19 fields are the genres' so:
# Alternatively, as specified in the docs: 'The last 19 fields are the genres' so:
# list_of_genres = items.columns.tolist()[-19:]
# list_of_genres = items.columns.tolist()[-19:]
...
@@ -37,7 +37,7 @@ list_of_genres = [
...
@@ -37,7 +37,7 @@ list_of_genres = [
]
]
# adding a column with the number of movies watched per user
# adding a column with the number of movies watched per user
s
dataset
=
data
.
sort_values
([
"user_id"
,
"timestamp"
]).
reset_index
(
drop
=
True
)
dataset
=
data
.
sort_values
([
"user_id"
,
"timestamp"
]).
reset_index
(
drop
=
True
)
dataset
[
"one"
]
=
1
dataset
[
"one"
]
=
1
dataset
[
"num_watched"
]
=
dataset
.
groupby
(
"user_id"
)[
"one"
].
cumsum
()
dataset
[
"num_watched"
]
=
dataset
.
groupby
(
"user_id"
)[
"one"
].
cumsum
()
...
@@ -61,6 +61,9 @@ dataset["prev_movies"] = (
...
@@ -61,6 +61,9 @@ dataset["prev_movies"] = (
)
)
dataset
[
"prev_movies"
]
=
dataset
[
"prev_movies"
].
apply
(
lambda
x
:
x
.
split
())
dataset
[
"prev_movies"
]
=
dataset
[
"prev_movies"
].
apply
(
lambda
x
:
x
.
split
())
# Adding user feats
dataset
=
dataset
.
merge
(
users
,
on
=
"user_id"
,
how
=
"left"
)
# Adding a genre_rate as the mean of all movies rated for a given genre per
# Adding a genre_rate as the mean of all movies rated for a given genre per
# user
# user
dataset
=
dataset
.
merge
(
items
[[
"movie_id"
]
+
list_of_genres
],
on
=
"movie_id"
,
how
=
"left"
)
dataset
=
dataset
.
merge
(
items
[[
"movie_id"
]
+
list_of_genres
],
on
=
"movie_id"
,
how
=
"left"
)
...
...
examples/scripts/wide_deep_for_recsys/pytorch_wide_deep_pt2.py
浏览文件 @
2ef478cf
...
@@ -47,7 +47,7 @@ train_movies_sequences = df_train.prev_movies.apply(
...
@@ -47,7 +47,7 @@ train_movies_sequences = df_train.prev_movies.apply(
).
to_list
()
).
to_list
()
y_train
=
df_train
.
target
.
values
.
astype
(
int
)
y_train
=
df_train
.
target
.
values
.
astype
(
int
)
df_test_user_item
=
df_t
rain
[[
"user_id"
,
"movie_id"
,
"rating"
]]
df_test_user_item
=
df_t
est
[[
"user_id"
,
"movie_id"
,
"rating"
]]
test_movies_sequences
=
df_test
.
prev_movies
.
apply
(
test_movies_sequences
=
df_test
.
prev_movies
.
apply
(
lambda
x
:
[
int
(
el
)
for
el
in
x
]
lambda
x
:
[
int
(
el
)
for
el
in
x
]
).
to_list
()
).
to_list
()
...
@@ -89,7 +89,7 @@ X_test_text = np.array(
...
@@ -89,7 +89,7 @@ X_test_text = np.array(
tab_mlp
=
TabMlp
(
tab_mlp
=
TabMlp
(
column_idx
=
tab_preprocessor
.
column_idx
,
column_idx
=
tab_preprocessor
.
column_idx
,
cat_embed_input
=
tab_preprocessor
.
cat_embed_input
,
cat_embed_input
=
tab_preprocessor
.
cat_embed_input
,
mlp_hidden_dims
=
[
1024
,
512
,
256
],
mlp_hidden_dims
=
[
512
,
256
],
mlp_activation
=
"relu"
,
mlp_activation
=
"relu"
,
)
)
...
@@ -124,7 +124,7 @@ trainer.fit(
...
@@ -124,7 +124,7 @@ trainer.fit(
"X_text"
:
X_test_text
,
"X_text"
:
X_test_text
,
"target"
:
y_test
,
"target"
:
y_test
,
},
},
n_epochs
=
10
,
n_epochs
=
2
,
batch_size
=
521
,
batch_size
=
32
,
shuffle
=
False
,
shuffle
=
False
,
)
)
mkdocs/mkdocs.yml
浏览文件 @
2ef478cf
...
@@ -56,6 +56,9 @@ nav:
...
@@ -56,6 +56,9 @@ nav:
-
16_Self-Supervised Pre-Training pt 1
:
examples/16_Self_Supervised_Pretraning_pt1.ipynb
-
16_Self-Supervised Pre-Training pt 1
:
examples/16_Self_Supervised_Pretraning_pt1.ipynb
-
16_Self-Supervised Pre-Training pt 2
:
examples/16_Self_Supervised_Pretraning_pt2.ipynb
-
16_Self-Supervised Pre-Training pt 2
:
examples/16_Self_Supervised_Pretraning_pt2.ipynb
-
17_Using_a_huggingface_model
:
examples/17_Usign_a_hugging_face_model.ipynb
-
17_Using_a_huggingface_model
:
examples/17_Usign_a_hugging_face_model.ipynb
-
18_feature_importance_via_attention_weights
:
examples/18_feature_importance_via_attention_weights.ipynb
-
19_wide_and_deep_for_recsys_pt1
:
examples/19_wide_and_deep_for_recsys_pt1.ipynb
-
19_wide_and_deep_for_recsys_pt2
:
examples/19_wide_and_deep_for_recsys_pt2.ipynb
-
Contributing
:
contributing.md
-
Contributing
:
contributing.md
theme
:
theme
:
...
...
mkdocs/site/404.html
浏览文件 @
2ef478cf
...
@@ -739,6 +739,12 @@
...
@@ -739,6 +739,12 @@
...
@@ -1012,6 +1018,48 @@
...
@@ -1012,6 +1018,48 @@
<li
class=
"md-nav__item"
>
<a
href=
"/examples/18_feature_importance_via_attention_weights.html"
class=
"md-nav__link"
>
18_feature_importance_via_attention_weights
</a>
</li>
<li
class=
"md-nav__item"
>
<a
href=
"/examples/19_wide_and_deep_for_recsys_pt1.html"
class=
"md-nav__link"
>
19_wide_and_deep_for_recsys_pt1
</a>
</li>
<li
class=
"md-nav__item"
>
<a
href=
"/examples/19_wide_and_deep_for_recsys_pt2.html"
class=
"md-nav__link"
>
19_wide_and_deep_for_recsys_pt2
</a>
</li>
</ul>
</ul>
</nav>
</nav>
</li>
</li>
...
...
mkdocs/site/contributing.html
浏览文件 @
2ef478cf
...
@@ -743,6 +743,12 @@
...
@@ -743,6 +743,12 @@
...
@@ -1016,6 +1022,48 @@
...
@@ -1016,6 +1022,48 @@
<li
class=
"md-nav__item"
>
<a
href=
"examples/18_feature_importance_via_attention_weights.html"
class=
"md-nav__link"
>
18_feature_importance_via_attention_weights
</a>
</li>
<li
class=
"md-nav__item"
>
<a
href=
"examples/19_wide_and_deep_for_recsys_pt1.html"
class=
"md-nav__link"
>
19_wide_and_deep_for_recsys_pt1
</a>
</li>
<li
class=
"md-nav__item"
>
<a
href=
"examples/19_wide_and_deep_for_recsys_pt2.html"
class=
"md-nav__link"
>
19_wide_and_deep_for_recsys_pt2
</a>
</li>
</ul>
</ul>
</nav>
</nav>
</li>
</li>
...
@@ -1095,7 +1143,7 @@
...
@@ -1095,7 +1143,7 @@
<nav
class=
"md-footer__inner md-grid"
aria-label=
"Footer"
>
<nav
class=
"md-footer__inner md-grid"
aria-label=
"Footer"
>
<a
href=
"examples/1
7_Usign_a_hugging_face_model.html"
class=
"md-footer__link md-footer__link--prev"
aria-label=
"Previous: 17_Using_a_huggingface_model
"
rel=
"prev"
>
<a
href=
"examples/1
9_wide_and_deep_for_recsys_pt2.html"
class=
"md-footer__link md-footer__link--prev"
aria-label=
"Previous: 19_wide_and_deep_for_recsys_pt2
"
rel=
"prev"
>
<div
class=
"md-footer__button md-icon"
>
<div
class=
"md-footer__button md-icon"
>
<svg
xmlns=
"http://www.w3.org/2000/svg"
viewBox=
"0 0 24 24"
><path
d=
"M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11h12Z"
/></svg>
<svg
xmlns=
"http://www.w3.org/2000/svg"
viewBox=
"0 0 24 24"
><path
d=
"M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11h12Z"
/></svg>
</div>
</div>
...
@@ -1104,7 +1152,7 @@
...
@@ -1104,7 +1152,7 @@
<span
class=
"md-footer__direction"
>
<span
class=
"md-footer__direction"
>
Previous
Previous
</span>
</span>
1
7_Using_a_huggingface_model
1
9_wide_and_deep_for_recsys_pt2
</div>
</div>
</div>
</div>
</a>
</a>
...
...
mkdocs/site/examples/01_Preprocessors_and_utils.html
浏览文件 @
2ef478cf
...
@@ -750,6 +750,12 @@
...
@@ -750,6 +750,12 @@
...
@@ -1092,6 +1098,48 @@
...
@@ -1092,6 +1098,48 @@
<li class="md-nav__item">
<a href="18_feature_importance_via_attention_weights.html" class="md-nav__link">
18_feature_importance_via_attention_weights
</a>
</li>
<li class="md-nav__item">
<a href="19_wide_and_deep_for_recsys_pt1.html" class="md-nav__link">
19_wide_and_deep_for_recsys_pt1
</a>
</li>
<li class="md-nav__item">
<a href="19_wide_and_deep_for_recsys_pt2.html" class="md-nav__link">
19_wide_and_deep_for_recsys_pt2
</a>
</li>
</ul>
</ul>
</nav>
</nav>
</li>
</li>
...
...
mkdocs/site/examples/02_model_components.html
浏览文件 @
2ef478cf
...
@@ -750,6 +750,12 @@
...
@@ -750,6 +750,12 @@
...
@@ -1085,6 +1091,48 @@
...
@@ -1085,6 +1091,48 @@
<li class="md-nav__item">
<a href="18_feature_importance_via_attention_weights.html" class="md-nav__link">
18_feature_importance_via_attention_weights
</a>
</li>
<li class="md-nav__item">
<a href="19_wide_and_deep_for_recsys_pt1.html" class="md-nav__link">
19_wide_and_deep_for_recsys_pt1
</a>
</li>
<li class="md-nav__item">
<a href="19_wide_and_deep_for_recsys_pt2.html" class="md-nav__link">
19_wide_and_deep_for_recsys_pt2
</a>
</li>
</ul>
</ul>
</nav>
</nav>
</li>
</li>
...
...
mkdocs/site/examples/03_Binary_Classification_with_Defaults.html
浏览文件 @
2ef478cf
...
@@ -750,6 +750,12 @@
...
@@ -750,6 +750,12 @@
...
@@ -1071,6 +1077,48 @@
...
@@ -1071,6 +1077,48 @@
<li class="md-nav__item">
<a href="18_feature_importance_via_attention_weights.html" class="md-nav__link">
18_feature_importance_via_attention_weights
</a>
</li>
<li class="md-nav__item">
<a href="19_wide_and_deep_for_recsys_pt1.html" class="md-nav__link">
19_wide_and_deep_for_recsys_pt1
</a>
</li>
<li class="md-nav__item">
<a href="19_wide_and_deep_for_recsys_pt2.html" class="md-nav__link">
19_wide_and_deep_for_recsys_pt2
</a>
</li>
</ul>
</ul>
</nav>
</nav>
</li>
</li>
...
...
mkdocs/site/examples/04_regression_with_images_and_text.html
浏览文件 @
2ef478cf
...
@@ -750,6 +750,12 @@
...
@@ -750,6 +750,12 @@
...
@@ -1085,6 +1091,48 @@
...
@@ -1085,6 +1091,48 @@
<li class="md-nav__item">
<a href="18_feature_importance_via_attention_weights.html" class="md-nav__link">
18_feature_importance_via_attention_weights
</a>
</li>
<li class="md-nav__item">
<a href="19_wide_and_deep_for_recsys_pt1.html" class="md-nav__link">
19_wide_and_deep_for_recsys_pt1
</a>
</li>
<li class="md-nav__item">
<a href="19_wide_and_deep_for_recsys_pt2.html" class="md-nav__link">
19_wide_and_deep_for_recsys_pt2
</a>
</li>
</ul>
</ul>
</nav>
</nav>
</li>
</li>
...
...
mkdocs/site/examples/05_save_and_load_model_and_artifacts.html
浏览文件 @
2ef478cf
...
@@ -750,6 +750,12 @@
...
@@ -750,6 +750,12 @@
...
@@ -1033,6 +1039,48 @@
...
@@ -1033,6 +1039,48 @@
<li class="md-nav__item">
<a href="18_feature_importance_via_attention_weights.html" class="md-nav__link">
18_feature_importance_via_attention_weights
</a>
</li>
<li class="md-nav__item">
<a href="19_wide_and_deep_for_recsys_pt1.html" class="md-nav__link">
19_wide_and_deep_for_recsys_pt1
</a>
</li>
<li class="md-nav__item">
<a href="19_wide_and_deep_for_recsys_pt2.html" class="md-nav__link">
19_wide_and_deep_for_recsys_pt2
</a>
</li>
</ul>
</ul>
</nav>
</nav>
</li>
</li>
...
...
mkdocs/site/examples/06_fineTune_and_warmup.html
浏览文件 @
2ef478cf
...
@@ -750,6 +750,12 @@
...
@@ -750,6 +750,12 @@
...
@@ -1071,6 +1077,48 @@
...
@@ -1071,6 +1077,48 @@
<li class="md-nav__item">
<a href="18_feature_importance_via_attention_weights.html" class="md-nav__link">
18_feature_importance_via_attention_weights
</a>
</li>
<li class="md-nav__item">
<a href="19_wide_and_deep_for_recsys_pt1.html" class="md-nav__link">
19_wide_and_deep_for_recsys_pt1
</a>
</li>
<li class="md-nav__item">
<a href="19_wide_and_deep_for_recsys_pt2.html" class="md-nav__link">
19_wide_and_deep_for_recsys_pt2
</a>
</li>
</ul>
</ul>
</nav>
</nav>
</li>
</li>
...
...
mkdocs/site/examples/07_Custom_Components.html
浏览文件 @
2ef478cf
...
@@ -750,6 +750,12 @@
...
@@ -750,6 +750,12 @@
...
@@ -1085,6 +1091,48 @@
...
@@ -1085,6 +1091,48 @@
<li class="md-nav__item">
<a href="18_feature_importance_via_attention_weights.html" class="md-nav__link">
18_feature_importance_via_attention_weights
</a>
</li>
<li class="md-nav__item">
<a href="19_wide_and_deep_for_recsys_pt1.html" class="md-nav__link">
19_wide_and_deep_for_recsys_pt1
</a>
</li>
<li class="md-nav__item">
<a href="19_wide_and_deep_for_recsys_pt2.html" class="md-nav__link">
19_wide_and_deep_for_recsys_pt2
</a>
</li>
</ul>
</ul>
</nav>
</nav>
</li>
</li>
...
...
mkdocs/site/examples/08_custom_dataLoader_imbalanced_dataset.html
浏览文件 @
2ef478cf
...
@@ -750,6 +750,12 @@
...
@@ -750,6 +750,12 @@
...
@@ -1064,6 +1070,48 @@
...
@@ -1064,6 +1070,48 @@
<li class="md-nav__item">
<a href="18_feature_importance_via_attention_weights.html" class="md-nav__link">
18_feature_importance_via_attention_weights
</a>
</li>
<li class="md-nav__item">
<a href="19_wide_and_deep_for_recsys_pt1.html" class="md-nav__link">
19_wide_and_deep_for_recsys_pt1
</a>
</li>
<li class="md-nav__item">
<a href="19_wide_and_deep_for_recsys_pt2.html" class="md-nav__link">
19_wide_and_deep_for_recsys_pt2
</a>
</li>
</ul>
</ul>
</nav>
</nav>
</li>
</li>
...
...
mkdocs/site/examples/09_extracting_embeddings.html
浏览文件 @
2ef478cf
...
@@ -750,6 +750,12 @@
...
@@ -750,6 +750,12 @@
...
@@ -1033,6 +1039,48 @@
...
@@ -1033,6 +1039,48 @@
<li class="md-nav__item">
<a href="18_feature_importance_via_attention_weights.html" class="md-nav__link">
18_feature_importance_via_attention_weights
</a>
</li>
<li class="md-nav__item">
<a href="19_wide_and_deep_for_recsys_pt1.html" class="md-nav__link">
19_wide_and_deep_for_recsys_pt1
</a>
</li>
<li class="md-nav__item">
<a href="19_wide_and_deep_for_recsys_pt2.html" class="md-nav__link">
19_wide_and_deep_for_recsys_pt2
</a>
</li>
</ul>
</ul>
</nav>
</nav>
</li>
</li>
...
...
mkdocs/site/examples/11_auc_multiclass.html
浏览文件 @
2ef478cf
...
@@ -750,6 +750,12 @@
...
@@ -750,6 +750,12 @@
...
@@ -1078,6 +1084,48 @@
...
@@ -1078,6 +1084,48 @@
<li class="md-nav__item">
<a href="18_feature_importance_via_attention_weights.html" class="md-nav__link">
18_feature_importance_via_attention_weights
</a>
</li>
<li class="md-nav__item">
<a href="19_wide_and_deep_for_recsys_pt1.html" class="md-nav__link">
19_wide_and_deep_for_recsys_pt1
</a>
</li>
<li class="md-nav__item">
<a href="19_wide_and_deep_for_recsys_pt2.html" class="md-nav__link">
19_wide_and_deep_for_recsys_pt2
</a>
</li>
</ul>
</ul>
</nav>
</nav>
</li>
</li>
...
...
mkdocs/site/examples/13_Model_Uncertainty_prediction.html
浏览文件 @
2ef478cf
...
@@ -750,6 +750,12 @@
...
@@ -750,6 +750,12 @@
...
@@ -1092,6 +1098,48 @@
...
@@ -1092,6 +1098,48 @@
<li class="md-nav__item">
<a href="18_feature_importance_via_attention_weights.html" class="md-nav__link">
18_feature_importance_via_attention_weights
</a>
</li>
<li class="md-nav__item">
<a href="19_wide_and_deep_for_recsys_pt1.html" class="md-nav__link">
19_wide_and_deep_for_recsys_pt1
</a>
</li>
<li class="md-nav__item">
<a href="19_wide_and_deep_for_recsys_pt2.html" class="md-nav__link">
19_wide_and_deep_for_recsys_pt2
</a>
</li>
</ul>
</ul>
</nav>
</nav>
</li>
</li>
...
...
mkdocs/site/examples/14_bayesian_models.html
浏览文件 @
2ef478cf
...
@@ -750,6 +750,12 @@
...
@@ -750,6 +750,12 @@
...
@@ -1071,6 +1077,48 @@
...
@@ -1071,6 +1077,48 @@
<li class="md-nav__item">
<a href="18_feature_importance_via_attention_weights.html" class="md-nav__link">
18_feature_importance_via_attention_weights
</a>
</li>
<li class="md-nav__item">
<a href="19_wide_and_deep_for_recsys_pt1.html" class="md-nav__link">
19_wide_and_deep_for_recsys_pt1
</a>
</li>
<li class="md-nav__item">
<a href="19_wide_and_deep_for_recsys_pt2.html" class="md-nav__link">
19_wide_and_deep_for_recsys_pt2
</a>
</li>
</ul>
</ul>
</nav>
</nav>
</li>
</li>
...
...
mkdocs/site/examples/15_DIR-LDS_and_FDS.html
浏览文件 @
2ef478cf
...
@@ -750,6 +750,12 @@
...
@@ -750,6 +750,12 @@
...
@@ -1064,6 +1070,48 @@
...
@@ -1064,6 +1070,48 @@
<li class="md-nav__item">
<a href="18_feature_importance_via_attention_weights.html" class="md-nav__link">
18_feature_importance_via_attention_weights
</a>
</li>
<li class="md-nav__item">
<a href="19_wide_and_deep_for_recsys_pt1.html" class="md-nav__link">
19_wide_and_deep_for_recsys_pt1
</a>
</li>
<li class="md-nav__item">
<a href="19_wide_and_deep_for_recsys_pt2.html" class="md-nav__link">
19_wide_and_deep_for_recsys_pt2
</a>
</li>
</ul>
</ul>
</nav>
</nav>
</li>
</li>
...
...
mkdocs/site/examples/16_Self_Supervised_Pretraning_pt1.html
浏览文件 @
2ef478cf
...
@@ -750,6 +750,12 @@
...
@@ -750,6 +750,12 @@
...
@@ -1080,6 +1086,48 @@
...
@@ -1080,6 +1086,48 @@
<li class="md-nav__item">
<a href="18_feature_importance_via_attention_weights.html" class="md-nav__link">
18_feature_importance_via_attention_weights
</a>
</li>
<li class="md-nav__item">
<a href="19_wide_and_deep_for_recsys_pt1.html" class="md-nav__link">
19_wide_and_deep_for_recsys_pt1
</a>
</li>
<li class="md-nav__item">
<a href="19_wide_and_deep_for_recsys_pt2.html" class="md-nav__link">
19_wide_and_deep_for_recsys_pt2
</a>
</li>
</ul>
</ul>
</nav>
</nav>
</li>
</li>
...
...
mkdocs/site/examples/16_Self_Supervised_Pretraning_pt2.html
浏览文件 @
2ef478cf
...
@@ -750,6 +750,12 @@
...
@@ -750,6 +750,12 @@
...
@@ -1073,6 +1079,48 @@
...
@@ -1073,6 +1079,48 @@
<li class="md-nav__item">
<a href="18_feature_importance_via_attention_weights.html" class="md-nav__link">
18_feature_importance_via_attention_weights
</a>
</li>
<li class="md-nav__item">
<a href="19_wide_and_deep_for_recsys_pt1.html" class="md-nav__link">
19_wide_and_deep_for_recsys_pt1
</a>
</li>
<li class="md-nav__item">
<a href="19_wide_and_deep_for_recsys_pt2.html" class="md-nav__link">
19_wide_and_deep_for_recsys_pt2
</a>
</li>
</ul>
</ul>
</nav>
</nav>
</li>
</li>
...
...
mkdocs/site/index.html
浏览文件 @
2ef478cf
此差异已折叠。
点击以展开。
mkdocs/site/index.md
浏览文件 @
2ef478cf
...
@@ -3,21 +3,21 @@
...
@@ -3,21 +3,21 @@
<img
width=
"300"
src=
"docs/figures/widedeep_logo.png"
>
<img
width=
"300"
src=
"docs/figures/widedeep_logo.png"
>
</p>
</p>
[
<img src="https://badge.fury.io/py/pytorch-widedeep.svg" alt="PyPI version">
](
https://pypi.org/project/pytorch-widedeep/
)
[
![PyPI version
](
https://badge.fury.io/py/pytorch-widedeep.svg
)
](https://pypi.org/project/pytorch-widedeep/)
[
<img src="https://img.shields.io/badge/python-3.7%20%7C%203.8%20%7C%203.9-blue.svg" alt="Python 3.7 3.8 3.9">
](
https://pypi.org/project/pytorch-widedeep/
)
[
![Python 3.7 3.8 3.9 3.10
](
https://img.shields.io/badge/python-3.7%20%7C%203.8%20%7C%203.9%20%7C%203.10-blue.svg
)
](https://pypi.org/project/pytorch-widedeep/)
[
<img src="https://github.com/jrzaurin/pytorch-widedeep/actions/workflows/build.yml/badge.svg" alt="Build Status">
](
https://github.com/jrzaurin/pytorch-widedeep/actions
)
[
![Build Status
](
https://github.com/jrzaurin/pytorch-widedeep/actions/workflows/build.yml/badge.svg
)
](https://github.com/jrzaurin/pytorch-widedeep/actions)
[
<img src="https://readthedocs.org/projects/pytorch-widedeep/badge/?version=latest" alt="Documentation Status">
](
https://pytorch-widedeep.readthedocs.io/en/latest/?badge=latest
)
[
![Documentation Status
](
https://readthedocs.org/projects/pytorch-widedeep/badge/?version=latest
)
](https://pytorch-widedeep.readthedocs.io/en/latest/?badge=latest)
[
<img src="https://codecov.io/gh/jrzaurin/pytorch-widedeep/branch/master/graph/badge.svg" alt="codecov">
](
https://codecov.io/gh/jrzaurin/pytorch-widedeep
)
[
![codecov
](
https://codecov.io/gh/jrzaurin/pytorch-widedeep/branch/master/graph/badge.svg
)
](https://codecov.io/gh/jrzaurin/pytorch-widedeep)
[
<img src="https://img.shields.io/badge/code%20style-black-000000.svg" alt="Code style: black">
](
https://github.com/psf/black
)
[
![Code style: black
](
https://img.shields.io/badge/code%20style-black-000000.svg
)
](https://github.com/psf/black)
[
<img src="https://img.shields.io/badge/Maintained%3F-yes-green.svg" alt="Maintenance">
](
https://github.com/jrzaurin/pytorch-widedeep/graphs/commit-activity
)
[
![Maintenance
](
https://img.shields.io/badge/Maintained%3F-yes-green.svg
)
](https://github.com/jrzaurin/pytorch-widedeep/graphs/commit-activity)
[
<img src="https://img.shields.io/badge/contributions-welcome-brightgreen.svg?style=flat" alt="contributions welcome">
](
https://github.com/jrzaurin/pytorch-widedeep/issues
)
[
![contributions welcome
](
https://img.shields.io/badge/contributions-welcome-brightgreen.svg?style=flat
)
](https://github.com/jrzaurin/pytorch-widedeep/issues)
[
<img src="https://img.shields.io/badge/slack-chat-green.svg?logo=slack" alt="Slack">
](
https://join.slack.com/t/pytorch-widedeep/shared_invite/zt-soss7stf-iXpVuLeKZz8lGTnxxtHtTw
)
[
![Slack
](
https://img.shields.io/badge/slack-chat-green.svg?logo=slack
)
](https://join.slack.com/t/pytorch-widedeep/shared_invite/zt-soss7stf-iXpVuLeKZz8lGTnxxtHtTw)
[
![DOI
](
https://joss.theoj.org/papers/10.21105/joss.05027/status.svg
)
](https://doi.org/10.21105/joss.05027)
# **pytorch-widedeep**
# **pytorch-widedeep**
A flexible package for multimodal-deep-learning to combine tabular data with
A flexible package for multimodal-deep-learning to combine tabular data with
text and images using Wide and Deep models (or just "Deep" models) in
text and images using Wide and Deep models in Pytorch
Pytorch
**Documentation:**
[
https://pytorch-widedeep.readthedocs.io
](
https://pytorch-widedeep.readthedocs.io/en/latest/index.html
)
**Documentation:**
[
https://pytorch-widedeep.readthedocs.io
](
https://pytorch-widedeep.readthedocs.io/en/latest/index.html
)
...
@@ -33,6 +33,11 @@ The content of this document is organized as follows:
...
@@ -33,6 +33,11 @@ The content of this document is organized as follows:
-
[
Introduction
](
#introduction
)
-
[
Introduction
](
#introduction
)
-
[
The ``deeptabular`` component
](
#the-deeptabular-component
)
-
[
The ``deeptabular`` component
](
#the-deeptabular-component
)
-
[
Acknowledgments
](
#acknowledgments
)
-
[
Acknowledgments
](
#acknowledgments
)
-
[
License
](
#license
)
-
[
Cite
](
#cite
)
-
[
BibTex
](
#bibtex
)
-
[
APA
](
#apa
)
### Introduction
### Introduction
...
@@ -131,6 +136,8 @@ The ``Tabformer`` family, i.e. Transformers for Tabular data:
...
@@ -131,6 +136,8 @@ The ``Tabformer`` family, i.e. Transformers for Tabular data:
6.
**TabTransformer**
: details on the TabTransformer can be found in
6.
**TabTransformer**
: details on the TabTransformer can be found in
[
TabTransformer: Tabular Data Modeling Using Contextual Embeddings
](
https://arxiv.org/pdf/2012.06678.pdf
)
.
[
TabTransformer: Tabular Data Modeling Using Contextual Embeddings
](
https://arxiv.org/pdf/2012.06678.pdf
)
.
Note that this is an 'enhanced' implementation that allows for many options that can be set up via
the
`TabTransformer`
params.
7.
**SAINT**
: Details on SAINT can be found in
7.
**SAINT**
: Details on SAINT can be found in
[
SAINT: Improved Neural Networks for Tabular Data via Row Attention and Contrastive Pre-Training
](
https://arxiv.org/abs/2106.01342
)
.
[
SAINT: Improved Neural Networks for Tabular Data via Row Attention and Contrastive Pre-Training
](
https://arxiv.org/abs/2106.01342
)
.
8.
**FT-Transformer**
: details on the FT-Transformer can be found in
8.
**FT-Transformer**
: details on the FT-Transformer can be found in
...
@@ -159,152 +166,6 @@ encoder-decoder method and constrastive-denoising method. Please, see the
...
@@ -159,152 +166,6 @@ encoder-decoder method and constrastive-denoising method. Please, see the
documentation and the examples for details on this functionality, and all
documentation and the examples for details on this functionality, and all
other options in the library.
other options in the library.
<!-- ### Installation
Install using pip:
```
bash
pip
install
pytorch-widedeep
```
Or install directly from github
```
bash
pip
install
git+https://github.com/jrzaurin/pytorch-widedeep.git
```
#### Developer Install
```
bash
# Clone the repository
git clone https://github.com/jrzaurin/pytorch-widedeep
cd
pytorch-widedeep
# Install in dev mode
pip
install
-e
.
```
### Quick start
Binary classification with the
[
adult
dataset
](
[adult](https://www.kaggle.com/wenruliu/adult-income-dataset
)
)
using
`Wide`
and
`DeepDense`
and defaults settings.
Building a wide (linear) and deep model with
``pytorch-widedeep``
:
```
python
import
numpy
as
np
import
torch
from
sklearn.model_selection
import
train_test_split
from
pytorch_widedeep
import
Trainer
from
pytorch_widedeep.preprocessing
import
WidePreprocessor
,
TabPreprocessor
from
pytorch_widedeep.models
import
Wide
,
TabMlp
,
WideDeep
from
pytorch_widedeep.metrics
import
Accuracy
from
pytorch_widedeep.datasets
import
load_adult
df
=
load_adult
(
as_frame
=
True
)
df
[
"income_label"
]
=
(
df
[
"income"
].
apply
(
lambda
x
:
">50K"
in
x
)).
astype
(
int
)
df
.
drop
(
"income"
,
axis
=
1
,
inplace
=
True
)
df_train
,
df_test
=
train_test_split
(
df
,
test_size
=
0.2
,
stratify
=
df
.
income_label
)
# Define the 'column set up'
wide_cols
=
[
"education"
,
"relationship"
,
"workclass"
,
"occupation"
,
"native-country"
,
"gender"
,
]
crossed_cols
=
[(
"education"
,
"occupation"
),
(
"native-country"
,
"occupation"
)]
cat_embed_cols
=
[
"workclass"
,
"education"
,
"marital-status"
,
"occupation"
,
"relationship"
,
"race"
,
"gender"
,
"capital-gain"
,
"capital-loss"
,
"native-country"
,
]
continuous_cols
=
[
"age"
,
"hours-per-week"
]
target
=
"income_label"
target
=
df_train
[
target
].
values
# prepare the data
wide_preprocessor
=
WidePreprocessor
(
wide_cols
=
wide_cols
,
crossed_cols
=
crossed_cols
)
X_wide
=
wide_preprocessor
.
fit_transform
(
df_train
)
tab_preprocessor
=
TabPreprocessor
(
cat_embed_cols
=
cat_embed_cols
,
continuous_cols
=
continuous_cols
# type: ignore[arg-type]
)
X_tab
=
tab_preprocessor
.
fit_transform
(
df_train
)
# build the model
wide
=
Wide
(
input_dim
=
np
.
unique
(
X_wide
).
shape
[
0
],
pred_dim
=
1
)
tab_mlp
=
TabMlp
(
column_idx
=
tab_preprocessor
.
column_idx
,
cat_embed_input
=
tab_preprocessor
.
cat_embed_input
,
continuous_cols
=
continuous_cols
,
)
model
=
WideDeep
(
wide
=
wide
,
deeptabular
=
tab_mlp
)
# train and validate
trainer
=
Trainer
(
model
,
objective
=
"binary"
,
metrics
=
[
Accuracy
])
trainer
.
fit
(
X_wide
=
X_wide
,
X_tab
=
X_tab
,
target
=
target
,
n_epochs
=
5
,
batch_size
=
256
,
)
# predict on test
X_wide_te
=
wide_preprocessor
.
transform
(
df_test
)
X_tab_te
=
tab_preprocessor
.
transform
(
df_test
)
preds
=
trainer
.
predict
(
X_wide
=
X_wide_te
,
X_tab
=
X_tab_te
)
# Save and load
# Option 1: this will also save training history and lr history if the
# LRHistory callback is used
trainer
.
save
(
path
=
"model_weights"
,
save_state_dict
=
True
)
# Option 2: save as any other torch model
torch
.
save
(
model
.
state_dict
(),
"model_weights/wd_model.pt"
)
# From here in advance, Option 1 or 2 are the same. I assume the user has
# prepared the data and defined the new model components:
# 1. Build the model
model_new
=
WideDeep
(
wide
=
wide
,
deeptabular
=
tab_mlp
)
model_new
.
load_state_dict
(
torch
.
load
(
"model_weights/wd_model.pt"
))
# 2. Instantiate the trainer
trainer_new
=
Trainer
(
model_new
,
objective
=
"binary"
)
# 3. Either start the fit or directly predict
preds
=
trainer_new
.
predict
(
X_wide
=
X_wide
,
X_tab
=
X_tab
)
```
Of course, one can do
**much more**
. See the Examples folder, the
documentation or the companion posts for a better understanding of the content
of the package and its functionalities.
### Testing
```
pytest tests
```
### How to Contribute
Check
[
CONTRIBUTING
](
https://github.com/jrzaurin/pytorch-widedeep/CONTRIBUTING.MD
)
page.
-->
### Acknowledgments
### Acknowledgments
This library takes from a series of other libraries, so I think it is just
This library takes from a series of other libraries, so I think it is just
...
@@ -325,3 +186,37 @@ The `ImageProcessor` class in this library uses code from the fantastic [Deep
...
@@ -325,3 +186,37 @@ The `ImageProcessor` class in this library uses code from the fantastic [Deep
Learning for Computer
Learning for Computer
Vision
](
https://www.pyimagesearch.com/deep-learning-computer-vision-python-book/
)
Vision
](
https://www.pyimagesearch.com/deep-learning-computer-vision-python-book/
)
(DL4CV) book by Adrian Rosebrock.
(DL4CV) book by Adrian Rosebrock.
### License
This work is dual-licensed under Apache 2.0 and MIT (or any later version).
You can choose between one of them if you use this work.
`SPDX-License-Identifier: Apache-2.0 AND MIT`
### Cite
#### BibTex
```
@article{Zaurin_pytorch-widedeep_A_flexible_2023,
author = {Zaurin, Javier Rodriguez and Mulinka, Pavol},
doi = {10.21105/joss.05027},
journal = {Journal of Open Source Software},
month = jun,
number = {86},
pages = {5027},
title = {{pytorch-widedeep: A flexible package for multimodal deep learning}},
url = {https://joss.theoj.org/papers/10.21105/joss.05027},
volume = {8},
year = {2023}
}
```
#### APA
```
Zaurin, J. R., & Mulinka, P. (2023). pytorch-widedeep: A flexible package for
multimodal deep learning. Journal of Open Source Software, 8(86), 5027.
https://doi.org/10.21105/joss.05027
```
mkdocs/site/installation.html
浏览文件 @
2ef478cf
...
@@ -789,6 +789,12 @@
...
@@ -789,6 +789,12 @@
...
@@ -1062,6 +1068,48 @@
...
@@ -1062,6 +1068,48 @@
<li
class=
"md-nav__item"
>
<a
href=
"examples/18_feature_importance_via_attention_weights.html"
class=
"md-nav__link"
>
18_feature_importance_via_attention_weights
</a>
</li>
<li
class=
"md-nav__item"
>
<a
href=
"examples/19_wide_and_deep_for_recsys_pt1.html"
class=
"md-nav__link"
>
19_wide_and_deep_for_recsys_pt1
</a>
</li>
<li
class=
"md-nav__item"
>
<a
href=
"examples/19_wide_and_deep_for_recsys_pt2.html"
class=
"md-nav__link"
>
19_wide_and_deep_for_recsys_pt2
</a>
</li>
</ul>
</ul>
</nav>
</nav>
</li>
</li>
...
@@ -1121,10 +1169,10 @@ pip<span class="w"> </span>install<span class="w"> </span>-e<span class="w"> </s
...
@@ -1121,10 +1169,10 @@ pip<span class="w"> </span>install<span class="w"> </span>-e<span class="w"> </s
</code></pre></div>
</code></pre></div>
<h2
id=
"dependencies"
>
Dependencies
<a
class=
"headerlink"
href=
"#dependencies"
title=
"Permanent link"
>
¶
</a></h2>
<h2
id=
"dependencies"
>
Dependencies
<a
class=
"headerlink"
href=
"#dependencies"
title=
"Permanent link"
>
¶
</a></h2>
<ul>
<ul>
<li>
pandas
</li>
<li>
pandas
>
=1.3.5
</li>
<li>
numpy
</li>
<li>
numpy
>
=1.21.6
</li>
<li>
scipy
</li>
<li>
scipy
>
=1.7.3
</li>
<li>
scikit-learn
</li>
<li>
scikit-learn
>
=1.0.2
</li>
<li>
gensim
</li>
<li>
gensim
</li>
<li>
spacy
</li>
<li>
spacy
</li>
<li>
opencv-contrib-python
</li>
<li>
opencv-contrib-python
</li>
...
@@ -1135,6 +1183,8 @@ pip<span class="w"> </span>install<span class="w"> </span>-e<span class="w"> </s
...
@@ -1135,6 +1183,8 @@ pip<span class="w"> </span>install<span class="w"> </span>-e<span class="w"> </s
<li>
einops
</li>
<li>
einops
</li>
<li>
wrapt
</li>
<li>
wrapt
</li>
<li>
torchmetrics
</li>
<li>
torchmetrics
</li>
<li>
pyarrow
</li>
<li>
fastparquet
>
=0.8.1
</li>
</ul>
</ul>
...
...
mkdocs/site/installation.md
浏览文件 @
2ef478cf
...
@@ -27,10 +27,10 @@ pip install -e .
...
@@ -27,10 +27,10 @@ pip install -e .
## Dependencies
## Dependencies
*
pandas
*
pandas
>=1.3.5
*
numpy
*
numpy
>=1.21.6
*
scipy
*
scipy
>=1.7.3
*
scikit-learn
*
scikit-learn
>=1.0.2
*
gensim
*
gensim
*
spacy
*
spacy
*
opencv-contrib-python
*
opencv-contrib-python
...
@@ -41,3 +41,5 @@ pip install -e .
...
@@ -41,3 +41,5 @@ pip install -e .
*
einops
*
einops
*
wrapt
*
wrapt
*
torchmetrics
*
torchmetrics
*
pyarrow
*
fastparquet>=0.8.1
\ No newline at end of file
mkdocs/site/objects.inv
浏览文件 @
2ef478cf
无法预览此类型文件
mkdocs/site/pytorch-widedeep/bayesian_models.html
浏览文件 @
2ef478cf
...
@@ -798,6 +798,12 @@
...
@@ -798,6 +798,12 @@
...
@@ -1071,6 +1077,48 @@
...
@@ -1071,6 +1077,48 @@
<li
class=
"md-nav__item"
>
<a
href=
"../examples/18_feature_importance_via_attention_weights.html"
class=
"md-nav__link"
>
18_feature_importance_via_attention_weights
</a>
</li>
<li
class=
"md-nav__item"
>
<a
href=
"../examples/19_wide_and_deep_for_recsys_pt1.html"
class=
"md-nav__link"
>
19_wide_and_deep_for_recsys_pt1
</a>
</li>
<li
class=
"md-nav__item"
>
<a
href=
"../examples/19_wide_and_deep_for_recsys_pt2.html"
class=
"md-nav__link"
>
19_wide_and_deep_for_recsys_pt2
</a>
</li>
</ul>
</ul>
</nav>
</nav>
</li>
</li>
...
...
mkdocs/site/pytorch-widedeep/bayesian_trainer.html
浏览文件 @
2ef478cf
...
@@ -791,6 +791,12 @@
...
@@ -791,6 +791,12 @@
...
@@ -1064,6 +1070,48 @@
...
@@ -1064,6 +1070,48 @@
<li
class=
"md-nav__item"
>
<a
href=
"../examples/18_feature_importance_via_attention_weights.html"
class=
"md-nav__link"
>
18_feature_importance_via_attention_weights
</a>
</li>
<li
class=
"md-nav__item"
>
<a
href=
"../examples/19_wide_and_deep_for_recsys_pt1.html"
class=
"md-nav__link"
>
19_wide_and_deep_for_recsys_pt1
</a>
</li>
<li
class=
"md-nav__item"
>
<a
href=
"../examples/19_wide_and_deep_for_recsys_pt2.html"
class=
"md-nav__link"
>
19_wide_and_deep_for_recsys_pt2
</a>
</li>
</ul>
</ul>
</nav>
</nav>
</li>
</li>
...
...
mkdocs/site/pytorch-widedeep/callbacks.html
浏览文件 @
2ef478cf
...
@@ -805,6 +805,12 @@
...
@@ -805,6 +805,12 @@
...
@@ -1078,6 +1084,48 @@
...
@@ -1078,6 +1084,48 @@
<li
class=
"md-nav__item"
>
<a
href=
"../examples/18_feature_importance_via_attention_weights.html"
class=
"md-nav__link"
>
18_feature_importance_via_attention_weights
</a>
</li>
<li
class=
"md-nav__item"
>
<a
href=
"../examples/19_wide_and_deep_for_recsys_pt1.html"
class=
"md-nav__link"
>
19_wide_and_deep_for_recsys_pt1
</a>
</li>
<li
class=
"md-nav__item"
>
<a
href=
"../examples/19_wide_and_deep_for_recsys_pt2.html"
class=
"md-nav__link"
>
19_wide_and_deep_for_recsys_pt2
</a>
</li>
</ul>
</ul>
</nav>
</nav>
</li>
</li>
...
@@ -1174,9 +1222,9 @@ of the <code>Trainer</code>.</p>
...
@@ -1174,9 +1222,9 @@ of the <code>Trainer</code>.</p>
<details
class=
"quote"
>
<details
class=
"quote"
>
<summary>
Source code in
<code>
pytorch_widedeep/callbacks.py
</code></summary>
<summary>
Source code in
<code>
pytorch_widedeep/callbacks.py
</code></summary>
<div
class=
"highlight"
><table
class=
"highlighttable"
><tr><td
class=
"linenos"
><div
class=
"linenodiv"
><pre><span></span><span
class=
"normal"
>
26
7
</span>
<div
class=
"highlight"
><table
class=
"highlighttable"
><tr><td
class=
"linenos"
><div
class=
"linenodiv"
><pre><span></span><span
class=
"normal"
>
26
8
</span>
<span
class=
"normal"
>
26
8
</span>
<span
class=
"normal"
>
26
9
</span>
<span
class=
"normal"
>
2
69
</span></pre></div></td><td
class=
"code"
><div><pre><span></span><code><span
class=
"k"
>
def
</span>
<span
class=
"fm"
>
__init__
</span><span
class=
"p"
>
(
</span><span
class=
"bp"
>
self
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
n_epochs
</span><span
class=
"p"
>
:
</span>
<span
class=
"nb"
>
int
</span><span
class=
"p"
>
):
</span>
<span
class=
"normal"
>
2
70
</span></pre></div></td><td
class=
"code"
><div><pre><span></span><code><span
class=
"k"
>
def
</span>
<span
class=
"fm"
>
__init__
</span><span
class=
"p"
>
(
</span><span
class=
"bp"
>
self
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
n_epochs
</span><span
class=
"p"
>
:
</span>
<span
class=
"nb"
>
int
</span><span
class=
"p"
>
):
</span>
<span
class=
"nb"
>
super
</span><span
class=
"p"
>
(
</span><span
class=
"n"
>
LRHistory
</span><span
class=
"p"
>
,
</span>
<span
class=
"bp"
>
self
</span><span
class=
"p"
>
)
</span><span
class=
"o"
>
.
</span><span
class=
"fm"
>
__init__
</span><span
class=
"p"
>
()
</span>
<span
class=
"nb"
>
super
</span><span
class=
"p"
>
(
</span><span
class=
"n"
>
LRHistory
</span><span
class=
"p"
>
,
</span>
<span
class=
"bp"
>
self
</span><span
class=
"p"
>
)
</span><span
class=
"o"
>
.
</span><span
class=
"fm"
>
__init__
</span><span
class=
"p"
>
()
</span>
<span
class=
"bp"
>
self
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
n_epochs
</span>
<span
class=
"o"
>
=
</span>
<span
class=
"n"
>
n_epochs
</span>
<span
class=
"bp"
>
self
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
n_epochs
</span>
<span
class=
"o"
>
=
</span>
<span
class=
"n"
>
n_epochs
</span>
</code></pre></div></td></tr></table></div>
</code></pre></div></td></tr></table></div>
...
@@ -1214,6 +1262,7 @@ of the <code>Trainer</code>.</p>
...
@@ -1214,6 +1262,7 @@ of the <code>Trainer</code>.</p>
<div
class=
"highlight"
><pre><span></span><code><span
class=
"n"
>
ModelCheckpoint
</span><span
class=
"p"
>
(
</span>
<div
class=
"highlight"
><pre><span></span><code><span
class=
"n"
>
ModelCheckpoint
</span><span
class=
"p"
>
(
</span>
<span
class=
"n"
>
filepath
</span><span
class=
"o"
>
=
</span><span
class=
"kc"
>
None
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
filepath
</span><span
class=
"o"
>
=
</span><span
class=
"kc"
>
None
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
monitor
</span><span
class=
"o"
>
=
</span><span
class=
"s2"
>
"
val_loss
"
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
monitor
</span><span
class=
"o"
>
=
</span><span
class=
"s2"
>
"
val_loss
"
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
min_delta
</span><span
class=
"o"
>
=
</span><span
class=
"mf"
>
0.0
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
verbose
</span><span
class=
"o"
>
=
</span><span
class=
"mi"
>
0
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
verbose
</span><span
class=
"o"
>
=
</span><span
class=
"mi"
>
0
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
save_best_only
</span><span
class=
"o"
>
=
</span><span
class=
"kc"
>
False
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
save_best_only
</span><span
class=
"o"
>
=
</span><span
class=
"kc"
>
False
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
mode
</span><span
class=
"o"
>
=
</span><span
class=
"s2"
>
"
auto
"
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
mode
</span><span
class=
"o"
>
=
</span><span
class=
"s2"
>
"
auto
"
</span><span
class=
"p"
>
,
</span>
...
@@ -1250,6 +1299,13 @@ class just report best metric and best_epoch.</p>
...
@@ -1250,6 +1299,13 @@ class just report best metric and best_epoch.</p>
(
<code>
str
</code>
)
(
<code>
str
</code>
)
–
<p>
quantity to monitor. Typically
<em>
'val_loss'
</em>
or metric name
–
<p>
quantity to monitor. Typically
<em>
'val_loss'
</em>
or metric name
(e.g.
<em>
'val_acc'
</em>
)
</p>
(e.g.
<em>
'val_acc'
</em>
)
</p>
</li>
<li
class=
"field-body"
>
<b>
min_delta
</b>
(
<code>
float
</code>
)
–
<p>
minimum change in the monitored quantity to qualify as an
improvement, i.e. an absolute change of less than min_delta, will
count as no improvement.
</p>
</li>
</li>
<li
class=
"field-body"
>
<li
class=
"field-body"
>
<b>
verbose
</b>
<b>
verbose
</b>
...
@@ -1323,12 +1379,7 @@ the repo or the Examples section in this documentation for details</p>
...
@@ -1323,12 +1379,7 @@ the repo or the Examples section in this documentation for details</p>
<details
class=
"quote"
>
<details
class=
"quote"
>
<summary>
Source code in
<code>
pytorch_widedeep/callbacks.py
</code></summary>
<summary>
Source code in
<code>
pytorch_widedeep/callbacks.py
</code></summary>
<div
class=
"highlight"
><table
class=
"highlighttable"
><tr><td
class=
"linenos"
><div
class=
"linenodiv"
><pre><span></span><span
class=
"normal"
>
395
</span>
<div
class=
"highlight"
><table
class=
"highlighttable"
><tr><td
class=
"linenos"
><div
class=
"linenodiv"
><pre><span></span><span
class=
"normal"
>
400
</span>
<span
class=
"normal"
>
396
</span>
<span
class=
"normal"
>
397
</span>
<span
class=
"normal"
>
398
</span>
<span
class=
"normal"
>
399
</span>
<span
class=
"normal"
>
400
</span>
<span
class=
"normal"
>
401
</span>
<span
class=
"normal"
>
401
</span>
<span
class=
"normal"
>
402
</span>
<span
class=
"normal"
>
402
</span>
<span
class=
"normal"
>
403
</span>
<span
class=
"normal"
>
403
</span>
...
@@ -1378,10 +1429,23 @@ the repo or the Examples section in this documentation for details</p>
...
@@ -1378,10 +1429,23 @@ the repo or the Examples section in this documentation for details</p>
<span
class=
"normal"
>
447
</span>
<span
class=
"normal"
>
447
</span>
<span
class=
"normal"
>
448
</span>
<span
class=
"normal"
>
448
</span>
<span
class=
"normal"
>
449
</span>
<span
class=
"normal"
>
449
</span>
<span
class=
"normal"
>
450
</span></pre></div></td><td
class=
"code"
><div><pre><span></span><code><span
class=
"k"
>
def
</span>
<span
class=
"fm"
>
__init__
</span><span
class=
"p"
>
(
</span>
<span
class=
"normal"
>
450
</span>
<span
class=
"normal"
>
451
</span>
<span
class=
"normal"
>
452
</span>
<span
class=
"normal"
>
453
</span>
<span
class=
"normal"
>
454
</span>
<span
class=
"normal"
>
455
</span>
<span
class=
"normal"
>
456
</span>
<span
class=
"normal"
>
457
</span>
<span
class=
"normal"
>
458
</span>
<span
class=
"normal"
>
459
</span>
<span
class=
"normal"
>
460
</span>
<span
class=
"normal"
>
461
</span>
<span
class=
"normal"
>
462
</span></pre></div></td><td
class=
"code"
><div><pre><span></span><code><span
class=
"k"
>
def
</span>
<span
class=
"fm"
>
__init__
</span><span
class=
"p"
>
(
</span>
<span
class=
"bp"
>
self
</span><span
class=
"p"
>
,
</span>
<span
class=
"bp"
>
self
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
filepath
</span><span
class=
"p"
>
:
</span>
<span
class=
"n"
>
Optional
</span><span
class=
"p"
>
[
</span><span
class=
"nb"
>
str
</span><span
class=
"p"
>
]
</span>
<span
class=
"o"
>
=
</span>
<span
class=
"kc"
>
None
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
filepath
</span><span
class=
"p"
>
:
</span>
<span
class=
"n"
>
Optional
</span><span
class=
"p"
>
[
</span><span
class=
"nb"
>
str
</span><span
class=
"p"
>
]
</span>
<span
class=
"o"
>
=
</span>
<span
class=
"kc"
>
None
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
monitor
</span><span
class=
"p"
>
:
</span>
<span
class=
"nb"
>
str
</span>
<span
class=
"o"
>
=
</span>
<span
class=
"s2"
>
"
val_loss
"
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
monitor
</span><span
class=
"p"
>
:
</span>
<span
class=
"nb"
>
str
</span>
<span
class=
"o"
>
=
</span>
<span
class=
"s2"
>
"
val_loss
"
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
min_delta
</span><span
class=
"p"
>
:
</span>
<span
class=
"nb"
>
float
</span>
<span
class=
"o"
>
=
</span>
<span
class=
"mf"
>
0.0
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
verbose
</span><span
class=
"p"
>
:
</span>
<span
class=
"nb"
>
int
</span>
<span
class=
"o"
>
=
</span>
<span
class=
"mi"
>
0
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
verbose
</span><span
class=
"p"
>
:
</span>
<span
class=
"nb"
>
int
</span>
<span
class=
"o"
>
=
</span>
<span
class=
"mi"
>
0
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
save_best_only
</span><span
class=
"p"
>
:
</span>
<span
class=
"nb"
>
bool
</span>
<span
class=
"o"
>
=
</span>
<span
class=
"kc"
>
False
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
save_best_only
</span><span
class=
"p"
>
:
</span>
<span
class=
"nb"
>
bool
</span>
<span
class=
"o"
>
=
</span>
<span
class=
"kc"
>
False
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
mode
</span><span
class=
"p"
>
:
</span>
<span
class=
"nb"
>
str
</span>
<span
class=
"o"
>
=
</span>
<span
class=
"s2"
>
"
auto
"
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
mode
</span><span
class=
"p"
>
:
</span>
<span
class=
"nb"
>
str
</span>
<span
class=
"o"
>
=
</span>
<span
class=
"s2"
>
"
auto
"
</span><span
class=
"p"
>
,
</span>
...
@@ -1392,6 +1456,7 @@ the repo or the Examples section in this documentation for details</p>
...
@@ -1392,6 +1456,7 @@ the repo or the Examples section in this documentation for details</p>
<span
class=
"bp"
>
self
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
filepath
</span>
<span
class=
"o"
>
=
</span>
<span
class=
"n"
>
filepath
</span>
<span
class=
"bp"
>
self
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
filepath
</span>
<span
class=
"o"
>
=
</span>
<span
class=
"n"
>
filepath
</span>
<span
class=
"bp"
>
self
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
monitor
</span>
<span
class=
"o"
>
=
</span>
<span
class=
"n"
>
monitor
</span>
<span
class=
"bp"
>
self
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
monitor
</span>
<span
class=
"o"
>
=
</span>
<span
class=
"n"
>
monitor
</span>
<span
class=
"bp"
>
self
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
min_delta
</span>
<span
class=
"o"
>
=
</span>
<span
class=
"n"
>
min_delta
</span>
<span
class=
"bp"
>
self
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
verbose
</span>
<span
class=
"o"
>
=
</span>
<span
class=
"n"
>
verbose
</span>
<span
class=
"bp"
>
self
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
verbose
</span>
<span
class=
"o"
>
=
</span>
<span
class=
"n"
>
verbose
</span>
<span
class=
"bp"
>
self
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
save_best_only
</span>
<span
class=
"o"
>
=
</span>
<span
class=
"n"
>
save_best_only
</span>
<span
class=
"bp"
>
self
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
save_best_only
</span>
<span
class=
"o"
>
=
</span>
<span
class=
"n"
>
save_best_only
</span>
<span
class=
"bp"
>
self
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
mode
</span>
<span
class=
"o"
>
=
</span>
<span
class=
"n"
>
mode
</span>
<span
class=
"bp"
>
self
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
mode
</span>
<span
class=
"o"
>
=
</span>
<span
class=
"n"
>
mode
</span>
...
@@ -1434,6 +1499,11 @@ the repo or the Examples section in this documentation for details</p>
...
@@ -1434,6 +1499,11 @@ the repo or the Examples section in this documentation for details</p>
<span
class=
"k"
>
else
</span><span
class=
"p"
>
:
</span>
<span
class=
"k"
>
else
</span><span
class=
"p"
>
:
</span>
<span
class=
"bp"
>
self
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
monitor_op
</span>
<span
class=
"o"
>
=
</span>
<span
class=
"n"
>
np
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
less
</span>
<span
class=
"bp"
>
self
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
monitor_op
</span>
<span
class=
"o"
>
=
</span>
<span
class=
"n"
>
np
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
less
</span>
<span
class=
"bp"
>
self
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
best
</span>
<span
class=
"o"
>
=
</span>
<span
class=
"n"
>
np
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
Inf
</span>
<span
class=
"bp"
>
self
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
best
</span>
<span
class=
"o"
>
=
</span>
<span
class=
"n"
>
np
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
Inf
</span>
<span
class=
"k"
>
if
</span>
<span
class=
"bp"
>
self
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
monitor_op
</span>
<span
class=
"o"
>
==
</span>
<span
class=
"n"
>
np
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
greater
</span><span
class=
"p"
>
:
</span>
<span
class=
"bp"
>
self
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
min_delta
</span>
<span
class=
"o"
>
*=
</span>
<span
class=
"mi"
>
1
</span>
<span
class=
"k"
>
else
</span><span
class=
"p"
>
:
</span>
<span
class=
"bp"
>
self
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
min_delta
</span>
<span
class=
"o"
>
*=
</span>
<span
class=
"o"
>
-
</span><span
class=
"mi"
>
1
</span>
</code></pre></div></td></tr></table></div>
</code></pre></div></td></tr></table></div>
</details>
</details>
...
@@ -1568,7 +1638,8 @@ obtained at the last step of training are used.</p>
...
@@ -1568,7 +1638,8 @@ obtained at the last step of training are used.</p>
<details
class=
"quote"
>
<details
class=
"quote"
>
<summary>
Source code in
<code>
pytorch_widedeep/callbacks.py
</code></summary>
<summary>
Source code in
<code>
pytorch_widedeep/callbacks.py
</code></summary>
<div
class=
"highlight"
><table
class=
"highlighttable"
><tr><td
class=
"linenos"
><div
class=
"linenodiv"
><pre><span></span><span
class=
"normal"
>
593
</span>
<div
class=
"highlight"
><table
class=
"highlighttable"
><tr><td
class=
"linenos"
><div
class=
"linenodiv"
><pre><span></span><span
class=
"normal"
>
592
</span>
<span
class=
"normal"
>
593
</span>
<span
class=
"normal"
>
594
</span>
<span
class=
"normal"
>
594
</span>
<span
class=
"normal"
>
595
</span>
<span
class=
"normal"
>
595
</span>
<span
class=
"normal"
>
596
</span>
<span
class=
"normal"
>
596
</span>
...
@@ -1612,8 +1683,7 @@ obtained at the last step of training are used.</p>
...
@@ -1612,8 +1683,7 @@ obtained at the last step of training are used.</p>
<span
class=
"normal"
>
634
</span>
<span
class=
"normal"
>
634
</span>
<span
class=
"normal"
>
635
</span>
<span
class=
"normal"
>
635
</span>
<span
class=
"normal"
>
636
</span>
<span
class=
"normal"
>
636
</span>
<span
class=
"normal"
>
637
</span>
<span
class=
"normal"
>
637
</span></pre></div></td><td
class=
"code"
><div><pre><span></span><code><span
class=
"k"
>
def
</span>
<span
class=
"fm"
>
__init__
</span><span
class=
"p"
>
(
</span>
<span
class=
"normal"
>
638
</span></pre></div></td><td
class=
"code"
><div><pre><span></span><code><span
class=
"k"
>
def
</span>
<span
class=
"fm"
>
__init__
</span><span
class=
"p"
>
(
</span>
<span
class=
"bp"
>
self
</span><span
class=
"p"
>
,
</span>
<span
class=
"bp"
>
self
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
monitor
</span><span
class=
"p"
>
:
</span>
<span
class=
"nb"
>
str
</span>
<span
class=
"o"
>
=
</span>
<span
class=
"s2"
>
"
val_loss
"
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
monitor
</span><span
class=
"p"
>
:
</span>
<span
class=
"nb"
>
str
</span>
<span
class=
"o"
>
=
</span>
<span
class=
"s2"
>
"
val_loss
"
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
min_delta
</span><span
class=
"p"
>
:
</span>
<span
class=
"nb"
>
float
</span>
<span
class=
"o"
>
=
</span>
<span
class=
"mf"
>
0.0
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
min_delta
</span><span
class=
"p"
>
:
</span>
<span
class=
"nb"
>
float
</span>
<span
class=
"o"
>
=
</span>
<span
class=
"mf"
>
0.0
</span><span
class=
"p"
>
,
</span>
...
...
mkdocs/site/pytorch-widedeep/dataloaders.html
浏览文件 @
2ef478cf
...
@@ -791,6 +791,12 @@
...
@@ -791,6 +791,12 @@
...
@@ -1064,6 +1070,48 @@
...
@@ -1064,6 +1070,48 @@
<li
class=
"md-nav__item"
>
<a
href=
"../examples/18_feature_importance_via_attention_weights.html"
class=
"md-nav__link"
>
18_feature_importance_via_attention_weights
</a>
</li>
<li
class=
"md-nav__item"
>
<a
href=
"../examples/19_wide_and_deep_for_recsys_pt1.html"
class=
"md-nav__link"
>
19_wide_and_deep_for_recsys_pt1
</a>
</li>
<li
class=
"md-nav__item"
>
<a
href=
"../examples/19_wide_and_deep_for_recsys_pt2.html"
class=
"md-nav__link"
>
19_wide_and_deep_for_recsys_pt2
</a>
</li>
</ul>
</ul>
</nav>
</nav>
</li>
</li>
...
@@ -1190,12 +1238,14 @@ minority \space class \space count \times number \space of \space classes \times
...
@@ -1190,12 +1238,14 @@ minority \space class \space count \times number \space of \space classes \times
<span
class=
"normal"
>
93
</span>
<span
class=
"normal"
>
93
</span>
<span
class=
"normal"
>
94
</span>
<span
class=
"normal"
>
94
</span>
<span
class=
"normal"
>
95
</span>
<span
class=
"normal"
>
95
</span>
<span
class=
"normal"
>
96
</span></pre></div></td><td
class=
"code"
><div><pre><span></span><code><span
class=
"k"
>
def
</span>
<span
class=
"fm"
>
__init__
</span><span
class=
"p"
>
(
</span>
<span
class=
"normal"
>
96
</span>
<span
class=
"normal"
>
97
</span></pre></div></td><td
class=
"code"
><div><pre><span></span><code><span
class=
"k"
>
def
</span>
<span
class=
"fm"
>
__init__
</span><span
class=
"p"
>
(
</span>
<span
class=
"bp"
>
self
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
dataset
</span><span
class=
"p"
>
:
</span>
<span
class=
"n"
>
WideDeepDataset
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
batch_size
</span><span
class=
"p"
>
:
</span>
<span
class=
"nb"
>
int
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
num_workers
</span><span
class=
"p"
>
:
</span>
<span
class=
"nb"
>
int
</span><span
class=
"p"
>
,
</span>
<span
class=
"o"
>
**
</span><span
class=
"n"
>
kwargs
</span>
<span
class=
"bp"
>
self
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
dataset
</span><span
class=
"p"
>
:
</span>
<span
class=
"n"
>
WideDeepDataset
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
batch_size
</span><span
class=
"p"
>
:
</span>
<span
class=
"nb"
>
int
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
num_workers
</span><span
class=
"p"
>
:
</span>
<span
class=
"nb"
>
int
</span><span
class=
"p"
>
,
</span>
<span
class=
"o"
>
**
</span><span
class=
"n"
>
kwargs
</span>
<span
class=
"p"
>
):
</span>
<span
class=
"p"
>
):
</span>
<span
class=
"bp"
>
self
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
with_lds
</span>
<span
class=
"o"
>
=
</span>
<span
class=
"n"
>
dataset
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
with_lds
</span>
<span
class=
"bp"
>
self
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
with_lds
</span>
<span
class=
"o"
>
=
</span>
<span
class=
"n"
>
dataset
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
with_lds
</span>
<span
class=
"k"
>
if
</span>
<span
class=
"s2"
>
"
oversample_mul
"
</span>
<span
class=
"ow"
>
in
</span>
<span
class=
"n"
>
kwargs
</span><span
class=
"p"
>
:
</span>
<span
class=
"k"
>
if
</span>
<span
class=
"s2"
>
"
oversample_mul
"
</span>
<span
class=
"ow"
>
in
</span>
<span
class=
"n"
>
kwargs
</span><span
class=
"p"
>
:
</span>
<span
class=
"n"
>
oversample_mul
</span>
<span
class=
"o"
>
=
</span>
<span
class=
"n"
>
kwargs
</span><span
class=
"p"
>
[
</span><span
class=
"s2"
>
"
oversample_mul
"
</span><span
class=
"p"
>
]
</span>
<span
class=
"n"
>
oversample_mul
</span>
<span
class=
"o"
>
=
</span>
<span
class=
"n"
>
kwargs
</span><span
class=
"p"
>
[
</span><span
class=
"s2"
>
"
oversample_mul
"
</span><span
class=
"p"
>
]
</span>
<span
class=
"k"
>
del
</span>
<span
class=
"n"
>
kwargs
</span><span
class=
"p"
>
[
</span><span
class=
"s2"
>
"
oversample_mul
"
</span><span
class=
"p"
>
]
</span>
<span
class=
"k"
>
else
</span><span
class=
"p"
>
:
</span>
<span
class=
"k"
>
else
</span><span
class=
"p"
>
:
</span>
<span
class=
"n"
>
oversample_mul
</span>
<span
class=
"o"
>
=
</span>
<span
class=
"mi"
>
1
</span>
<span
class=
"n"
>
oversample_mul
</span>
<span
class=
"o"
>
=
</span>
<span
class=
"mi"
>
1
</span>
<span
class=
"n"
>
weights
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
minor_cls_cnt
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
num_clss
</span>
<span
class=
"o"
>
=
</span>
<span
class=
"n"
>
get_class_weights
</span><span
class=
"p"
>
(
</span><span
class=
"n"
>
dataset
</span><span
class=
"p"
>
)
</span>
<span
class=
"n"
>
weights
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
minor_cls_cnt
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
num_clss
</span>
<span
class=
"o"
>
=
</span>
<span
class=
"n"
>
get_class_weights
</span><span
class=
"p"
>
(
</span><span
class=
"n"
>
dataset
</span><span
class=
"p"
>
)
</span>
...
...
mkdocs/site/pytorch-widedeep/losses.html
浏览文件 @
2ef478cf
...
@@ -903,6 +903,12 @@
...
@@ -903,6 +903,12 @@
...
@@ -1176,6 +1182,48 @@
...
@@ -1176,6 +1182,48 @@
<li
class=
"md-nav__item"
>
<a
href=
"../examples/18_feature_importance_via_attention_weights.html"
class=
"md-nav__link"
>
18_feature_importance_via_attention_weights
</a>
</li>
<li
class=
"md-nav__item"
>
<a
href=
"../examples/19_wide_and_deep_for_recsys_pt1.html"
class=
"md-nav__link"
>
19_wide_and_deep_for_recsys_pt1
</a>
</li>
<li
class=
"md-nav__item"
>
<a
href=
"../examples/19_wide_and_deep_for_recsys_pt2.html"
class=
"md-nav__link"
>
19_wide_and_deep_for_recsys_pt2
</a>
</li>
</ul>
</ul>
</nav>
</nav>
</li>
</li>
...
@@ -3851,9 +3899,7 @@ reduction: str, default = "mean"
...
@@ -3851,9 +3899,7 @@ reduction: str, default = "mean"
<span
class=
"normal"
>
823
</span>
<span
class=
"normal"
>
823
</span>
<span
class=
"normal"
>
824
</span>
<span
class=
"normal"
>
824
</span>
<span
class=
"normal"
>
825
</span>
<span
class=
"normal"
>
825
</span>
<span
class=
"normal"
>
826
</span>
<span
class=
"normal"
>
826
</span></pre></div></td><td
class=
"code"
><div><pre><span></span><code><span
class=
"k"
>
def
</span>
<span
class=
"fm"
>
__init__
</span><span
class=
"p"
>
(
</span><span
class=
"bp"
>
self
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
temperature
</span><span
class=
"p"
>
:
</span>
<span
class=
"nb"
>
float
</span>
<span
class=
"o"
>
=
</span>
<span
class=
"mf"
>
0.1
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
reduction
</span><span
class=
"p"
>
:
</span>
<span
class=
"nb"
>
str
</span>
<span
class=
"o"
>
=
</span>
<span
class=
"s2"
>
"
mean
"
</span><span
class=
"p"
>
):
</span>
<span
class=
"normal"
>
827
</span></pre></div></td><td
class=
"code"
><div><pre><span></span><code><span
class=
"k"
>
def
</span>
<span
class=
"fm"
>
__init__
</span><span
class=
"p"
>
(
</span><span
class=
"bp"
>
self
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
temperature
</span><span
class=
"p"
>
:
</span>
<span
class=
"nb"
>
float
</span>
<span
class=
"o"
>
=
</span>
<span
class=
"mf"
>
0.1
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
reduction
</span><span
class=
"p"
>
:
</span>
<span
class=
"nb"
>
str
</span>
<span
class=
"o"
>
=
</span>
<span
class=
"s2"
>
"
mean
"
</span><span
class=
"p"
>
):
</span>
<span
class=
"nb"
>
super
</span><span
class=
"p"
>
(
</span><span
class=
"n"
>
InfoNCELoss
</span><span
class=
"p"
>
,
</span>
<span
class=
"bp"
>
self
</span><span
class=
"p"
>
)
</span><span
class=
"o"
>
.
</span><span
class=
"fm"
>
__init__
</span><span
class=
"p"
>
()
</span>
<span
class=
"nb"
>
super
</span><span
class=
"p"
>
(
</span><span
class=
"n"
>
InfoNCELoss
</span><span
class=
"p"
>
,
</span>
<span
class=
"bp"
>
self
</span><span
class=
"p"
>
)
</span><span
class=
"o"
>
.
</span><span
class=
"fm"
>
__init__
</span><span
class=
"p"
>
()
</span>
<span
class=
"bp"
>
self
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
temperature
</span>
<span
class=
"o"
>
=
</span>
<span
class=
"n"
>
temperature
</span>
<span
class=
"bp"
>
self
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
temperature
</span>
<span
class=
"o"
>
=
</span>
<span
class=
"n"
>
temperature
</span>
...
@@ -3909,7 +3955,8 @@ for Tabular Data via Row Attention and Contrastive Pre-Training'.</p>
...
@@ -3909,7 +3955,8 @@ for Tabular Data via Row Attention and Contrastive Pre-Training'.</p>
<details
class=
"quote"
>
<details
class=
"quote"
>
<summary>
Source code in
<code>
pytorch_widedeep/losses.py
</code></summary>
<summary>
Source code in
<code>
pytorch_widedeep/losses.py
</code></summary>
<div
class=
"highlight"
><table
class=
"highlighttable"
><tr><td
class=
"linenos"
><div
class=
"linenodiv"
><pre><span></span><span
class=
"normal"
>
829
</span>
<div
class=
"highlight"
><table
class=
"highlighttable"
><tr><td
class=
"linenos"
><div
class=
"linenodiv"
><pre><span></span><span
class=
"normal"
>
828
</span>
<span
class=
"normal"
>
829
</span>
<span
class=
"normal"
>
830
</span>
<span
class=
"normal"
>
830
</span>
<span
class=
"normal"
>
831
</span>
<span
class=
"normal"
>
831
</span>
<span
class=
"normal"
>
832
</span>
<span
class=
"normal"
>
832
</span>
...
@@ -3939,8 +3986,7 @@ for Tabular Data via Row Attention and Contrastive Pre-Training'.</p>
...
@@ -3939,8 +3986,7 @@ for Tabular Data via Row Attention and Contrastive Pre-Training'.</p>
<span
class=
"normal"
>
856
</span>
<span
class=
"normal"
>
856
</span>
<span
class=
"normal"
>
857
</span>
<span
class=
"normal"
>
857
</span>
<span
class=
"normal"
>
858
</span>
<span
class=
"normal"
>
858
</span>
<span
class=
"normal"
>
859
</span>
<span
class=
"normal"
>
859
</span></pre></div></td><td
class=
"code"
><div><pre><span></span><code><span
class=
"k"
>
def
</span>
<span
class=
"nf"
>
forward
</span><span
class=
"p"
>
(
</span><span
class=
"bp"
>
self
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
g_projs
</span><span
class=
"p"
>
:
</span>
<span
class=
"n"
>
Tuple
</span><span
class=
"p"
>
[
</span><span
class=
"n"
>
Tensor
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
Tensor
</span><span
class=
"p"
>
])
</span>
<span
class=
"o"
>
-
>
</span>
<span
class=
"n"
>
Tensor
</span><span
class=
"p"
>
:
</span>
<span
class=
"normal"
>
860
</span></pre></div></td><td
class=
"code"
><div><pre><span></span><code><span
class=
"k"
>
def
</span>
<span
class=
"nf"
>
forward
</span><span
class=
"p"
>
(
</span><span
class=
"bp"
>
self
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
g_projs
</span><span
class=
"p"
>
:
</span>
<span
class=
"n"
>
Tuple
</span><span
class=
"p"
>
[
</span><span
class=
"n"
>
Tensor
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
Tensor
</span><span
class=
"p"
>
])
</span>
<span
class=
"o"
>
-
>
</span>
<span
class=
"n"
>
Tensor
</span><span
class=
"p"
>
:
</span>
<span
class=
"w"
>
</span><span
class=
"sa"
>
r
</span><span
class=
"sd"
>
"""
</span>
<span
class=
"w"
>
</span><span
class=
"sa"
>
r
</span><span
class=
"sd"
>
"""
</span>
<span
class=
"sd"
>
Parameters
</span>
<span
class=
"sd"
>
Parameters
</span>
<span
class=
"sd"
>
----------
</span>
<span
class=
"sd"
>
----------
</span>
...
@@ -4026,14 +4072,14 @@ reduction: str, default = "mean"
...
@@ -4026,14 +4072,14 @@ reduction: str, default = "mean"
<details
class=
"quote"
>
<details
class=
"quote"
>
<summary>
Source code in
<code>
pytorch_widedeep/losses.py
</code></summary>
<summary>
Source code in
<code>
pytorch_widedeep/losses.py
</code></summary>
<div
class=
"highlight"
><table
class=
"highlighttable"
><tr><td
class=
"linenos"
><div
class=
"linenodiv"
><pre><span></span><span
class=
"normal"
>
887
</span>
<div
class=
"highlight"
><table
class=
"highlighttable"
><tr><td
class=
"linenos"
><div
class=
"linenodiv"
><pre><span></span><span
class=
"normal"
>
886
</span>
<span
class=
"normal"
>
887
</span>
<span
class=
"normal"
>
888
</span>
<span
class=
"normal"
>
888
</span>
<span
class=
"normal"
>
889
</span>
<span
class=
"normal"
>
889
</span>
<span
class=
"normal"
>
890
</span>
<span
class=
"normal"
>
890
</span>
<span
class=
"normal"
>
891
</span>
<span
class=
"normal"
>
891
</span>
<span
class=
"normal"
>
892
</span>
<span
class=
"normal"
>
892
</span>
<span
class=
"normal"
>
893
</span>
<span
class=
"normal"
>
893
</span></pre></div></td><td
class=
"code"
><div><pre><span></span><code><span
class=
"k"
>
def
</span>
<span
class=
"fm"
>
__init__
</span><span
class=
"p"
>
(
</span>
<span
class=
"normal"
>
894
</span></pre></div></td><td
class=
"code"
><div><pre><span></span><code><span
class=
"k"
>
def
</span>
<span
class=
"fm"
>
__init__
</span><span
class=
"p"
>
(
</span>
<span
class=
"bp"
>
self
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
lambda_cat
</span><span
class=
"p"
>
:
</span>
<span
class=
"nb"
>
float
</span>
<span
class=
"o"
>
=
</span>
<span
class=
"mf"
>
1.0
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
lambda_cont
</span><span
class=
"p"
>
:
</span>
<span
class=
"nb"
>
float
</span>
<span
class=
"o"
>
=
</span>
<span
class=
"mf"
>
1.0
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
reduction
</span><span
class=
"p"
>
:
</span>
<span
class=
"nb"
>
str
</span>
<span
class=
"o"
>
=
</span>
<span
class=
"s2"
>
"
mean
"
</span>
<span
class=
"bp"
>
self
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
lambda_cat
</span><span
class=
"p"
>
:
</span>
<span
class=
"nb"
>
float
</span>
<span
class=
"o"
>
=
</span>
<span
class=
"mf"
>
1.0
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
lambda_cont
</span><span
class=
"p"
>
:
</span>
<span
class=
"nb"
>
float
</span>
<span
class=
"o"
>
=
</span>
<span
class=
"mf"
>
1.0
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
reduction
</span><span
class=
"p"
>
:
</span>
<span
class=
"nb"
>
str
</span>
<span
class=
"o"
>
=
</span>
<span
class=
"s2"
>
"
mean
"
</span>
<span
class=
"p"
>
):
</span>
<span
class=
"p"
>
):
</span>
<span
class=
"nb"
>
super
</span><span
class=
"p"
>
(
</span><span
class=
"n"
>
DenoisingLoss
</span><span
class=
"p"
>
,
</span>
<span
class=
"bp"
>
self
</span><span
class=
"p"
>
)
</span><span
class=
"o"
>
.
</span><span
class=
"fm"
>
__init__
</span><span
class=
"p"
>
()
</span>
<span
class=
"nb"
>
super
</span><span
class=
"p"
>
(
</span><span
class=
"n"
>
DenoisingLoss
</span><span
class=
"p"
>
,
</span>
<span
class=
"bp"
>
self
</span><span
class=
"p"
>
)
</span><span
class=
"o"
>
.
</span><span
class=
"fm"
>
__init__
</span><span
class=
"p"
>
()
</span>
...
@@ -4100,7 +4146,8 @@ categorical feature</p>
...
@@ -4100,7 +4146,8 @@ categorical feature</p>
<details
class=
"quote"
>
<details
class=
"quote"
>
<summary>
Source code in
<code>
pytorch_widedeep/losses.py
</code></summary>
<summary>
Source code in
<code>
pytorch_widedeep/losses.py
</code></summary>
<div
class=
"highlight"
><table
class=
"highlighttable"
><tr><td
class=
"linenos"
><div
class=
"linenodiv"
><pre><span></span><span
class=
"normal"
>
896
</span>
<div
class=
"highlight"
><table
class=
"highlighttable"
><tr><td
class=
"linenos"
><div
class=
"linenodiv"
><pre><span></span><span
class=
"normal"
>
895
</span>
<span
class=
"normal"
>
896
</span>
<span
class=
"normal"
>
897
</span>
<span
class=
"normal"
>
897
</span>
<span
class=
"normal"
>
898
</span>
<span
class=
"normal"
>
898
</span>
<span
class=
"normal"
>
899
</span>
<span
class=
"normal"
>
899
</span>
...
@@ -4141,8 +4188,7 @@ categorical feature</p>
...
@@ -4141,8 +4188,7 @@ categorical feature</p>
<span
class=
"normal"
>
934
</span>
<span
class=
"normal"
>
934
</span>
<span
class=
"normal"
>
935
</span>
<span
class=
"normal"
>
935
</span>
<span
class=
"normal"
>
936
</span>
<span
class=
"normal"
>
936
</span>
<span
class=
"normal"
>
937
</span>
<span
class=
"normal"
>
937
</span></pre></div></td><td
class=
"code"
><div><pre><span></span><code><span
class=
"k"
>
def
</span>
<span
class=
"nf"
>
forward
</span><span
class=
"p"
>
(
</span>
<span
class=
"normal"
>
938
</span></pre></div></td><td
class=
"code"
><div><pre><span></span><code><span
class=
"k"
>
def
</span>
<span
class=
"nf"
>
forward
</span><span
class=
"p"
>
(
</span>
<span
class=
"bp"
>
self
</span><span
class=
"p"
>
,
</span>
<span
class=
"bp"
>
self
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
x_cat_and_cat_
</span><span
class=
"p"
>
:
</span>
<span
class=
"n"
>
Optional
</span><span
class=
"p"
>
[
</span>
<span
class=
"n"
>
x_cat_and_cat_
</span><span
class=
"p"
>
:
</span>
<span
class=
"n"
>
Optional
</span><span
class=
"p"
>
[
</span>
<span
class=
"n"
>
Union
</span><span
class=
"p"
>
[
</span><span
class=
"n"
>
List
</span><span
class=
"p"
>
[
</span><span
class=
"n"
>
Tuple
</span><span
class=
"p"
>
[
</span><span
class=
"n"
>
Tensor
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
Tensor
</span><span
class=
"p"
>
]],
</span>
<span
class=
"n"
>
Tuple
</span><span
class=
"p"
>
[
</span><span
class=
"n"
>
Tensor
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
Tensor
</span><span
class=
"p"
>
]]
</span>
<span
class=
"n"
>
Union
</span><span
class=
"p"
>
[
</span><span
class=
"n"
>
List
</span><span
class=
"p"
>
[
</span><span
class=
"n"
>
Tuple
</span><span
class=
"p"
>
[
</span><span
class=
"n"
>
Tensor
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
Tensor
</span><span
class=
"p"
>
]],
</span>
<span
class=
"n"
>
Tuple
</span><span
class=
"p"
>
[
</span><span
class=
"n"
>
Tensor
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
Tensor
</span><span
class=
"p"
>
]]
</span>
...
@@ -4232,9 +4278,9 @@ Interpretable Tabular Learning</a>.</p>
...
@@ -4232,9 +4278,9 @@ Interpretable Tabular Learning</a>.</p>
<details
class=
"quote"
>
<details
class=
"quote"
>
<summary>
Source code in
<code>
pytorch_widedeep/losses.py
</code></summary>
<summary>
Source code in
<code>
pytorch_widedeep/losses.py
</code></summary>
<div
class=
"highlight"
><table
class=
"highlighttable"
><tr><td
class=
"linenos"
><div
class=
"linenodiv"
><pre><span></span><span
class=
"normal"
>
99
6
</span>
<div
class=
"highlight"
><table
class=
"highlighttable"
><tr><td
class=
"linenos"
><div
class=
"linenodiv"
><pre><span></span><span
class=
"normal"
>
99
3
</span>
<span
class=
"normal"
>
99
7
</span>
<span
class=
"normal"
>
99
4
</span>
<span
class=
"normal"
>
99
8
</span></pre></div></td><td
class=
"code"
><div><pre><span></span><code><span
class=
"k"
>
def
</span>
<span
class=
"fm"
>
__init__
</span><span
class=
"p"
>
(
</span><span
class=
"bp"
>
self
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
eps
</span><span
class=
"p"
>
:
</span>
<span
class=
"nb"
>
float
</span>
<span
class=
"o"
>
=
</span>
<span
class=
"mf"
>
1e-9
</span><span
class=
"p"
>
):
</span>
<span
class=
"normal"
>
99
5
</span></pre></div></td><td
class=
"code"
><div><pre><span></span><code><span
class=
"k"
>
def
</span>
<span
class=
"fm"
>
__init__
</span><span
class=
"p"
>
(
</span><span
class=
"bp"
>
self
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
eps
</span><span
class=
"p"
>
:
</span>
<span
class=
"nb"
>
float
</span>
<span
class=
"o"
>
=
</span>
<span
class=
"mf"
>
1e-9
</span><span
class=
"p"
>
):
</span>
<span
class=
"nb"
>
super
</span><span
class=
"p"
>
(
</span><span
class=
"n"
>
EncoderDecoderLoss
</span><span
class=
"p"
>
,
</span>
<span
class=
"bp"
>
self
</span><span
class=
"p"
>
)
</span><span
class=
"o"
>
.
</span><span
class=
"fm"
>
__init__
</span><span
class=
"p"
>
()
</span>
<span
class=
"nb"
>
super
</span><span
class=
"p"
>
(
</span><span
class=
"n"
>
EncoderDecoderLoss
</span><span
class=
"p"
>
,
</span>
<span
class=
"bp"
>
self
</span><span
class=
"p"
>
)
</span><span
class=
"o"
>
.
</span><span
class=
"fm"
>
__init__
</span><span
class=
"p"
>
()
</span>
<span
class=
"bp"
>
self
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
eps
</span>
<span
class=
"o"
>
=
</span>
<span
class=
"n"
>
eps
</span>
<span
class=
"bp"
>
self
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
eps
</span>
<span
class=
"o"
>
=
</span>
<span
class=
"n"
>
eps
</span>
</code></pre></div></td></tr></table></div>
</code></pre></div></td></tr></table></div>
...
@@ -4299,7 +4345,10 @@ loss, is based on those features.</p>
...
@@ -4299,7 +4345,10 @@ loss, is based on those features.</p>
<details
class=
"quote"
>
<details
class=
"quote"
>
<summary>
Source code in
<code>
pytorch_widedeep/losses.py
</code></summary>
<summary>
Source code in
<code>
pytorch_widedeep/losses.py
</code></summary>
<div
class=
"highlight"
><table
class=
"highlighttable"
><tr><td
class=
"linenos"
><div
class=
"linenodiv"
><pre><span></span><span
class=
"normal"
>
1000
</span>
<div
class=
"highlight"
><table
class=
"highlighttable"
><tr><td
class=
"linenos"
><div
class=
"linenodiv"
><pre><span></span><span
class=
"normal"
>
997
</span>
<span
class=
"normal"
>
998
</span>
<span
class=
"normal"
>
999
</span>
<span
class=
"normal"
>
1000
</span>
<span
class=
"normal"
>
1001
</span>
<span
class=
"normal"
>
1001
</span>
<span
class=
"normal"
>
1002
</span>
<span
class=
"normal"
>
1002
</span>
<span
class=
"normal"
>
1003
</span>
<span
class=
"normal"
>
1003
</span>
...
@@ -4335,10 +4384,7 @@ loss, is based on those features.</p>
...
@@ -4335,10 +4384,7 @@ loss, is based on those features.</p>
<span
class=
"normal"
>
1033
</span>
<span
class=
"normal"
>
1033
</span>
<span
class=
"normal"
>
1034
</span>
<span
class=
"normal"
>
1034
</span>
<span
class=
"normal"
>
1035
</span>
<span
class=
"normal"
>
1035
</span>
<span
class=
"normal"
>
1036
</span>
<span
class=
"normal"
>
1036
</span></pre></div></td><td
class=
"code"
><div><pre><span></span><code><span
class=
"k"
>
def
</span>
<span
class=
"nf"
>
forward
</span><span
class=
"p"
>
(
</span><span
class=
"bp"
>
self
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
x_true
</span><span
class=
"p"
>
:
</span>
<span
class=
"n"
>
Tensor
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
x_pred
</span><span
class=
"p"
>
:
</span>
<span
class=
"n"
>
Tensor
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
mask
</span><span
class=
"p"
>
:
</span>
<span
class=
"n"
>
Tensor
</span><span
class=
"p"
>
)
</span>
<span
class=
"o"
>
-
>
</span>
<span
class=
"n"
>
Tensor
</span><span
class=
"p"
>
:
</span>
<span
class=
"normal"
>
1037
</span>
<span
class=
"normal"
>
1038
</span>
<span
class=
"normal"
>
1039
</span></pre></div></td><td
class=
"code"
><div><pre><span></span><code><span
class=
"k"
>
def
</span>
<span
class=
"nf"
>
forward
</span><span
class=
"p"
>
(
</span><span
class=
"bp"
>
self
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
x_true
</span><span
class=
"p"
>
:
</span>
<span
class=
"n"
>
Tensor
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
x_pred
</span><span
class=
"p"
>
:
</span>
<span
class=
"n"
>
Tensor
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
mask
</span><span
class=
"p"
>
:
</span>
<span
class=
"n"
>
Tensor
</span><span
class=
"p"
>
)
</span>
<span
class=
"o"
>
-
>
</span>
<span
class=
"n"
>
Tensor
</span><span
class=
"p"
>
:
</span>
<span
class=
"w"
>
</span><span
class=
"sa"
>
r
</span><span
class=
"sd"
>
"""
</span>
<span
class=
"w"
>
</span><span
class=
"sa"
>
r
</span><span
class=
"sd"
>
"""
</span>
<span
class=
"sd"
>
Parameters
</span>
<span
class=
"sd"
>
Parameters
</span>
<span
class=
"sd"
>
----------
</span>
<span
class=
"sd"
>
----------
</span>
...
...
mkdocs/site/pytorch-widedeep/metrics.html
浏览文件 @
2ef478cf
...
@@ -826,6 +826,12 @@
...
@@ -826,6 +826,12 @@
...
@@ -1099,6 +1105,48 @@
...
@@ -1099,6 +1105,48 @@
<li
class=
"md-nav__item"
>
<a
href=
"../examples/18_feature_importance_via_attention_weights.html"
class=
"md-nav__link"
>
18_feature_importance_via_attention_weights
</a>
</li>
<li
class=
"md-nav__item"
>
<a
href=
"../examples/19_wide_and_deep_for_recsys_pt1.html"
class=
"md-nav__link"
>
19_wide_and_deep_for_recsys_pt1
</a>
</li>
<li
class=
"md-nav__item"
>
<a
href=
"../examples/19_wide_and_deep_for_recsys_pt2.html"
class=
"md-nav__link"
>
19_wide_and_deep_for_recsys_pt2
</a>
</li>
</ul>
</ul>
</nav>
</nav>
</li>
</li>
...
@@ -1217,13 +1265,13 @@ multiclass problems</p>
...
@@ -1217,13 +1265,13 @@ multiclass problems</p>
<details
class=
"quote"
>
<details
class=
"quote"
>
<summary>
Source code in
<code>
pytorch_widedeep/metrics.py
</code></summary>
<summary>
Source code in
<code>
pytorch_widedeep/metrics.py
</code></summary>
<div
class=
"highlight"
><table
class=
"highlighttable"
><tr><td
class=
"linenos"
><div
class=
"linenodiv"
><pre><span></span><span
class=
"normal"
>
76
</span>
<div
class=
"highlight"
><table
class=
"highlighttable"
><tr><td
class=
"linenos"
><div
class=
"linenodiv"
><pre><span></span><span
class=
"normal"
>
75
</span>
<span
class=
"normal"
>
76
</span>
<span
class=
"normal"
>
77
</span>
<span
class=
"normal"
>
77
</span>
<span
class=
"normal"
>
78
</span>
<span
class=
"normal"
>
78
</span>
<span
class=
"normal"
>
79
</span>
<span
class=
"normal"
>
79
</span>
<span
class=
"normal"
>
80
</span>
<span
class=
"normal"
>
80
</span>
<span
class=
"normal"
>
81
</span>
<span
class=
"normal"
>
81
</span></pre></div></td><td
class=
"code"
><div><pre><span></span><code><span
class=
"k"
>
def
</span>
<span
class=
"fm"
>
__init__
</span><span
class=
"p"
>
(
</span><span
class=
"bp"
>
self
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
top_k
</span><span
class=
"p"
>
:
</span>
<span
class=
"nb"
>
int
</span>
<span
class=
"o"
>
=
</span>
<span
class=
"mi"
>
1
</span><span
class=
"p"
>
):
</span>
<span
class=
"normal"
>
82
</span></pre></div></td><td
class=
"code"
><div><pre><span></span><code><span
class=
"k"
>
def
</span>
<span
class=
"fm"
>
__init__
</span><span
class=
"p"
>
(
</span><span
class=
"bp"
>
self
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
top_k
</span><span
class=
"p"
>
:
</span>
<span
class=
"nb"
>
int
</span>
<span
class=
"o"
>
=
</span>
<span
class=
"mi"
>
1
</span><span
class=
"p"
>
):
</span>
<span
class=
"nb"
>
super
</span><span
class=
"p"
>
(
</span><span
class=
"n"
>
Accuracy
</span><span
class=
"p"
>
,
</span>
<span
class=
"bp"
>
self
</span><span
class=
"p"
>
)
</span><span
class=
"o"
>
.
</span><span
class=
"fm"
>
__init__
</span><span
class=
"p"
>
()
</span>
<span
class=
"nb"
>
super
</span><span
class=
"p"
>
(
</span><span
class=
"n"
>
Accuracy
</span><span
class=
"p"
>
,
</span>
<span
class=
"bp"
>
self
</span><span
class=
"p"
>
)
</span><span
class=
"o"
>
.
</span><span
class=
"fm"
>
__init__
</span><span
class=
"p"
>
()
</span>
<span
class=
"bp"
>
self
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
top_k
</span>
<span
class=
"o"
>
=
</span>
<span
class=
"n"
>
top_k
</span>
<span
class=
"bp"
>
self
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
top_k
</span>
<span
class=
"o"
>
=
</span>
<span
class=
"n"
>
top_k
</span>
...
@@ -1263,12 +1311,12 @@ multiclass problems</p>
...
@@ -1263,12 +1311,12 @@ multiclass problems</p>
<details
class=
"quote"
>
<details
class=
"quote"
>
<summary>
Source code in
<code>
pytorch_widedeep/metrics.py
</code></summary>
<summary>
Source code in
<code>
pytorch_widedeep/metrics.py
</code></summary>
<div
class=
"highlight"
><table
class=
"highlighttable"
><tr><td
class=
"linenos"
><div
class=
"linenodiv"
><pre><span></span><span
class=
"normal"
>
84
</span>
<div
class=
"highlight"
><table
class=
"highlighttable"
><tr><td
class=
"linenos"
><div
class=
"linenodiv"
><pre><span></span><span
class=
"normal"
>
83
</span>
<span
class=
"normal"
>
84
</span>
<span
class=
"normal"
>
85
</span>
<span
class=
"normal"
>
85
</span>
<span
class=
"normal"
>
86
</span>
<span
class=
"normal"
>
86
</span>
<span
class=
"normal"
>
87
</span>
<span
class=
"normal"
>
87
</span>
<span
class=
"normal"
>
88
</span>
<span
class=
"normal"
>
88
</span></pre></div></td><td
class=
"code"
><div><pre><span></span><code><span
class=
"k"
>
def
</span>
<span
class=
"nf"
>
reset
</span><span
class=
"p"
>
(
</span><span
class=
"bp"
>
self
</span><span
class=
"p"
>
):
</span>
<span
class=
"normal"
>
89
</span></pre></div></td><td
class=
"code"
><div><pre><span></span><code><span
class=
"k"
>
def
</span>
<span
class=
"nf"
>
reset
</span><span
class=
"p"
>
(
</span><span
class=
"bp"
>
self
</span><span
class=
"p"
>
):
</span>
<span
class=
"w"
>
</span><span
class=
"sd"
>
"""
</span>
<span
class=
"w"
>
</span><span
class=
"sd"
>
"""
</span>
<span
class=
"sd"
>
resets counters to 0
</span>
<span
class=
"sd"
>
resets counters to 0
</span>
<span
class=
"sd"
>
"""
</span>
<span
class=
"sd"
>
"""
</span>
...
@@ -1338,14 +1386,14 @@ precision for each label, and finds their unweighted mean.</p>
...
@@ -1338,14 +1386,14 @@ precision for each label, and finds their unweighted mean.</p>
<details
class=
"quote"
>
<details
class=
"quote"
>
<summary>
Source code in
<code>
pytorch_widedeep/metrics.py
</code></summary>
<summary>
Source code in
<code>
pytorch_widedeep/metrics.py
</code></summary>
<div
class=
"highlight"
><table
class=
"highlighttable"
><tr><td
class=
"linenos"
><div
class=
"linenodiv"
><pre><span></span><span
class=
"normal"
>
135
</span>
<div
class=
"highlight"
><table
class=
"highlighttable"
><tr><td
class=
"linenos"
><div
class=
"linenodiv"
><pre><span></span><span
class=
"normal"
>
134
</span>
<span
class=
"normal"
>
135
</span>
<span
class=
"normal"
>
136
</span>
<span
class=
"normal"
>
136
</span>
<span
class=
"normal"
>
137
</span>
<span
class=
"normal"
>
137
</span>
<span
class=
"normal"
>
138
</span>
<span
class=
"normal"
>
138
</span>
<span
class=
"normal"
>
139
</span>
<span
class=
"normal"
>
139
</span>
<span
class=
"normal"
>
140
</span>
<span
class=
"normal"
>
140
</span>
<span
class=
"normal"
>
141
</span>
<span
class=
"normal"
>
141
</span></pre></div></td><td
class=
"code"
><div><pre><span></span><code><span
class=
"k"
>
def
</span>
<span
class=
"fm"
>
__init__
</span><span
class=
"p"
>
(
</span><span
class=
"bp"
>
self
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
average
</span><span
class=
"p"
>
:
</span>
<span
class=
"nb"
>
bool
</span>
<span
class=
"o"
>
=
</span>
<span
class=
"kc"
>
True
</span><span
class=
"p"
>
):
</span>
<span
class=
"normal"
>
142
</span></pre></div></td><td
class=
"code"
><div><pre><span></span><code><span
class=
"k"
>
def
</span>
<span
class=
"fm"
>
__init__
</span><span
class=
"p"
>
(
</span><span
class=
"bp"
>
self
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
average
</span><span
class=
"p"
>
:
</span>
<span
class=
"nb"
>
bool
</span>
<span
class=
"o"
>
=
</span>
<span
class=
"kc"
>
True
</span><span
class=
"p"
>
):
</span>
<span
class=
"nb"
>
super
</span><span
class=
"p"
>
(
</span><span
class=
"n"
>
Precision
</span><span
class=
"p"
>
,
</span>
<span
class=
"bp"
>
self
</span><span
class=
"p"
>
)
</span><span
class=
"o"
>
.
</span><span
class=
"fm"
>
__init__
</span><span
class=
"p"
>
()
</span>
<span
class=
"nb"
>
super
</span><span
class=
"p"
>
(
</span><span
class=
"n"
>
Precision
</span><span
class=
"p"
>
,
</span>
<span
class=
"bp"
>
self
</span><span
class=
"p"
>
)
</span><span
class=
"o"
>
.
</span><span
class=
"fm"
>
__init__
</span><span
class=
"p"
>
()
</span>
<span
class=
"bp"
>
self
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
average
</span>
<span
class=
"o"
>
=
</span>
<span
class=
"n"
>
average
</span>
<span
class=
"bp"
>
self
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
average
</span>
<span
class=
"o"
>
=
</span>
<span
class=
"n"
>
average
</span>
...
@@ -1386,12 +1434,12 @@ precision for each label, and finds their unweighted mean.</p>
...
@@ -1386,12 +1434,12 @@ precision for each label, and finds their unweighted mean.</p>
<details
class=
"quote"
>
<details
class=
"quote"
>
<summary>
Source code in
<code>
pytorch_widedeep/metrics.py
</code></summary>
<summary>
Source code in
<code>
pytorch_widedeep/metrics.py
</code></summary>
<div
class=
"highlight"
><table
class=
"highlighttable"
><tr><td
class=
"linenos"
><div
class=
"linenodiv"
><pre><span></span><span
class=
"normal"
>
144
</span>
<div
class=
"highlight"
><table
class=
"highlighttable"
><tr><td
class=
"linenos"
><div
class=
"linenodiv"
><pre><span></span><span
class=
"normal"
>
143
</span>
<span
class=
"normal"
>
144
</span>
<span
class=
"normal"
>
145
</span>
<span
class=
"normal"
>
145
</span>
<span
class=
"normal"
>
146
</span>
<span
class=
"normal"
>
146
</span>
<span
class=
"normal"
>
147
</span>
<span
class=
"normal"
>
147
</span>
<span
class=
"normal"
>
148
</span>
<span
class=
"normal"
>
148
</span></pre></div></td><td
class=
"code"
><div><pre><span></span><code><span
class=
"k"
>
def
</span>
<span
class=
"nf"
>
reset
</span><span
class=
"p"
>
(
</span><span
class=
"bp"
>
self
</span><span
class=
"p"
>
):
</span>
<span
class=
"normal"
>
149
</span></pre></div></td><td
class=
"code"
><div><pre><span></span><code><span
class=
"k"
>
def
</span>
<span
class=
"nf"
>
reset
</span><span
class=
"p"
>
(
</span><span
class=
"bp"
>
self
</span><span
class=
"p"
>
):
</span>
<span
class=
"w"
>
</span><span
class=
"sd"
>
"""
</span>
<span
class=
"w"
>
</span><span
class=
"sd"
>
"""
</span>
<span
class=
"sd"
>
resets counters to 0
</span>
<span
class=
"sd"
>
resets counters to 0
</span>
<span
class=
"sd"
>
"""
</span>
<span
class=
"sd"
>
"""
</span>
...
@@ -1461,14 +1509,14 @@ for each label, and finds their unweighted mean.</p>
...
@@ -1461,14 +1509,14 @@ for each label, and finds their unweighted mean.</p>
<details
class=
"quote"
>
<details
class=
"quote"
>
<summary>
Source code in
<code>
pytorch_widedeep/metrics.py
</code></summary>
<summary>
Source code in
<code>
pytorch_widedeep/metrics.py
</code></summary>
<div
class=
"highlight"
><table
class=
"highlighttable"
><tr><td
class=
"linenos"
><div
class=
"linenodiv"
><pre><span></span><span
class=
"normal"
>
201
</span>
<div
class=
"highlight"
><table
class=
"highlighttable"
><tr><td
class=
"linenos"
><div
class=
"linenodiv"
><pre><span></span><span
class=
"normal"
>
200
</span>
<span
class=
"normal"
>
201
</span>
<span
class=
"normal"
>
202
</span>
<span
class=
"normal"
>
202
</span>
<span
class=
"normal"
>
203
</span>
<span
class=
"normal"
>
203
</span>
<span
class=
"normal"
>
204
</span>
<span
class=
"normal"
>
204
</span>
<span
class=
"normal"
>
205
</span>
<span
class=
"normal"
>
205
</span>
<span
class=
"normal"
>
206
</span>
<span
class=
"normal"
>
206
</span>
<span
class=
"normal"
>
207
</span>
<span
class=
"normal"
>
207
</span></pre></div></td><td
class=
"code"
><div><pre><span></span><code><span
class=
"k"
>
def
</span>
<span
class=
"fm"
>
__init__
</span><span
class=
"p"
>
(
</span><span
class=
"bp"
>
self
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
average
</span><span
class=
"p"
>
:
</span>
<span
class=
"nb"
>
bool
</span>
<span
class=
"o"
>
=
</span>
<span
class=
"kc"
>
True
</span><span
class=
"p"
>
):
</span>
<span
class=
"normal"
>
208
</span></pre></div></td><td
class=
"code"
><div><pre><span></span><code><span
class=
"k"
>
def
</span>
<span
class=
"fm"
>
__init__
</span><span
class=
"p"
>
(
</span><span
class=
"bp"
>
self
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
average
</span><span
class=
"p"
>
:
</span>
<span
class=
"nb"
>
bool
</span>
<span
class=
"o"
>
=
</span>
<span
class=
"kc"
>
True
</span><span
class=
"p"
>
):
</span>
<span
class=
"nb"
>
super
</span><span
class=
"p"
>
(
</span><span
class=
"n"
>
Recall
</span><span
class=
"p"
>
,
</span>
<span
class=
"bp"
>
self
</span><span
class=
"p"
>
)
</span><span
class=
"o"
>
.
</span><span
class=
"fm"
>
__init__
</span><span
class=
"p"
>
()
</span>
<span
class=
"nb"
>
super
</span><span
class=
"p"
>
(
</span><span
class=
"n"
>
Recall
</span><span
class=
"p"
>
,
</span>
<span
class=
"bp"
>
self
</span><span
class=
"p"
>
)
</span><span
class=
"o"
>
.
</span><span
class=
"fm"
>
__init__
</span><span
class=
"p"
>
()
</span>
<span
class=
"bp"
>
self
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
average
</span>
<span
class=
"o"
>
=
</span>
<span
class=
"n"
>
average
</span>
<span
class=
"bp"
>
self
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
average
</span>
<span
class=
"o"
>
=
</span>
<span
class=
"n"
>
average
</span>
...
@@ -1509,12 +1557,12 @@ for each label, and finds their unweighted mean.</p>
...
@@ -1509,12 +1557,12 @@ for each label, and finds their unweighted mean.</p>
<details
class=
"quote"
>
<details
class=
"quote"
>
<summary>
Source code in
<code>
pytorch_widedeep/metrics.py
</code></summary>
<summary>
Source code in
<code>
pytorch_widedeep/metrics.py
</code></summary>
<div
class=
"highlight"
><table
class=
"highlighttable"
><tr><td
class=
"linenos"
><div
class=
"linenodiv"
><pre><span></span><span
class=
"normal"
>
210
</span>
<div
class=
"highlight"
><table
class=
"highlighttable"
><tr><td
class=
"linenos"
><div
class=
"linenodiv"
><pre><span></span><span
class=
"normal"
>
209
</span>
<span
class=
"normal"
>
210
</span>
<span
class=
"normal"
>
211
</span>
<span
class=
"normal"
>
211
</span>
<span
class=
"normal"
>
212
</span>
<span
class=
"normal"
>
212
</span>
<span
class=
"normal"
>
213
</span>
<span
class=
"normal"
>
213
</span>
<span
class=
"normal"
>
214
</span>
<span
class=
"normal"
>
214
</span></pre></div></td><td
class=
"code"
><div><pre><span></span><code><span
class=
"k"
>
def
</span>
<span
class=
"nf"
>
reset
</span><span
class=
"p"
>
(
</span><span
class=
"bp"
>
self
</span><span
class=
"p"
>
):
</span>
<span
class=
"normal"
>
215
</span></pre></div></td><td
class=
"code"
><div><pre><span></span><code><span
class=
"k"
>
def
</span>
<span
class=
"nf"
>
reset
</span><span
class=
"p"
>
(
</span><span
class=
"bp"
>
self
</span><span
class=
"p"
>
):
</span>
<span
class=
"w"
>
</span><span
class=
"sd"
>
"""
</span>
<span
class=
"w"
>
</span><span
class=
"sd"
>
"""
</span>
<span
class=
"sd"
>
resets counters to 0
</span>
<span
class=
"sd"
>
resets counters to 0
</span>
<span
class=
"sd"
>
"""
</span>
<span
class=
"sd"
>
"""
</span>
...
@@ -1592,15 +1640,15 @@ for each label, and find their unweighted mean.</p>
...
@@ -1592,15 +1640,15 @@ for each label, and find their unweighted mean.</p>
<details
class=
"quote"
>
<details
class=
"quote"
>
<summary>
Source code in
<code>
pytorch_widedeep/metrics.py
</code></summary>
<summary>
Source code in
<code>
pytorch_widedeep/metrics.py
</code></summary>
<div
class=
"highlight"
><table
class=
"highlighttable"
><tr><td
class=
"linenos"
><div
class=
"linenodiv"
><pre><span></span><span
class=
"normal"
>
273
</span>
<div
class=
"highlight"
><table
class=
"highlighttable"
><tr><td
class=
"linenos"
><div
class=
"linenodiv"
><pre><span></span><span
class=
"normal"
>
272
</span>
<span
class=
"normal"
>
273
</span>
<span
class=
"normal"
>
274
</span>
<span
class=
"normal"
>
274
</span>
<span
class=
"normal"
>
275
</span>
<span
class=
"normal"
>
275
</span>
<span
class=
"normal"
>
276
</span>
<span
class=
"normal"
>
276
</span>
<span
class=
"normal"
>
277
</span>
<span
class=
"normal"
>
277
</span>
<span
class=
"normal"
>
278
</span>
<span
class=
"normal"
>
278
</span>
<span
class=
"normal"
>
279
</span>
<span
class=
"normal"
>
279
</span>
<span
class=
"normal"
>
280
</span>
<span
class=
"normal"
>
280
</span></pre></div></td><td
class=
"code"
><div><pre><span></span><code><span
class=
"k"
>
def
</span>
<span
class=
"fm"
>
__init__
</span><span
class=
"p"
>
(
</span><span
class=
"bp"
>
self
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
beta
</span><span
class=
"p"
>
:
</span>
<span
class=
"nb"
>
int
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
average
</span><span
class=
"p"
>
:
</span>
<span
class=
"nb"
>
bool
</span>
<span
class=
"o"
>
=
</span>
<span
class=
"kc"
>
True
</span><span
class=
"p"
>
):
</span>
<span
class=
"normal"
>
281
</span></pre></div></td><td
class=
"code"
><div><pre><span></span><code><span
class=
"k"
>
def
</span>
<span
class=
"fm"
>
__init__
</span><span
class=
"p"
>
(
</span><span
class=
"bp"
>
self
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
beta
</span><span
class=
"p"
>
:
</span>
<span
class=
"nb"
>
int
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
average
</span><span
class=
"p"
>
:
</span>
<span
class=
"nb"
>
bool
</span>
<span
class=
"o"
>
=
</span>
<span
class=
"kc"
>
True
</span><span
class=
"p"
>
):
</span>
<span
class=
"nb"
>
super
</span><span
class=
"p"
>
(
</span><span
class=
"n"
>
FBetaScore
</span><span
class=
"p"
>
,
</span>
<span
class=
"bp"
>
self
</span><span
class=
"p"
>
)
</span><span
class=
"o"
>
.
</span><span
class=
"fm"
>
__init__
</span><span
class=
"p"
>
()
</span>
<span
class=
"nb"
>
super
</span><span
class=
"p"
>
(
</span><span
class=
"n"
>
FBetaScore
</span><span
class=
"p"
>
,
</span>
<span
class=
"bp"
>
self
</span><span
class=
"p"
>
)
</span><span
class=
"o"
>
.
</span><span
class=
"fm"
>
__init__
</span><span
class=
"p"
>
()
</span>
<span
class=
"bp"
>
self
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
beta
</span>
<span
class=
"o"
>
=
</span>
<span
class=
"n"
>
beta
</span>
<span
class=
"bp"
>
self
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
beta
</span>
<span
class=
"o"
>
=
</span>
<span
class=
"n"
>
beta
</span>
...
@@ -1642,12 +1690,12 @@ for each label, and find their unweighted mean.</p>
...
@@ -1642,12 +1690,12 @@ for each label, and find their unweighted mean.</p>
<details
class=
"quote"
>
<details
class=
"quote"
>
<summary>
Source code in
<code>
pytorch_widedeep/metrics.py
</code></summary>
<summary>
Source code in
<code>
pytorch_widedeep/metrics.py
</code></summary>
<div
class=
"highlight"
><table
class=
"highlighttable"
><tr><td
class=
"linenos"
><div
class=
"linenodiv"
><pre><span></span><span
class=
"normal"
>
283
</span>
<div
class=
"highlight"
><table
class=
"highlighttable"
><tr><td
class=
"linenos"
><div
class=
"linenodiv"
><pre><span></span><span
class=
"normal"
>
282
</span>
<span
class=
"normal"
>
283
</span>
<span
class=
"normal"
>
284
</span>
<span
class=
"normal"
>
284
</span>
<span
class=
"normal"
>
285
</span>
<span
class=
"normal"
>
285
</span>
<span
class=
"normal"
>
286
</span>
<span
class=
"normal"
>
286
</span>
<span
class=
"normal"
>
287
</span>
<span
class=
"normal"
>
287
</span></pre></div></td><td
class=
"code"
><div><pre><span></span><code><span
class=
"k"
>
def
</span>
<span
class=
"nf"
>
reset
</span><span
class=
"p"
>
(
</span><span
class=
"bp"
>
self
</span><span
class=
"p"
>
):
</span>
<span
class=
"normal"
>
288
</span></pre></div></td><td
class=
"code"
><div><pre><span></span><code><span
class=
"k"
>
def
</span>
<span
class=
"nf"
>
reset
</span><span
class=
"p"
>
(
</span><span
class=
"bp"
>
self
</span><span
class=
"p"
>
):
</span>
<span
class=
"w"
>
</span><span
class=
"sd"
>
"""
</span>
<span
class=
"w"
>
</span><span
class=
"sd"
>
"""
</span>
<span
class=
"sd"
>
resets precision and recall
</span>
<span
class=
"sd"
>
resets precision and recall
</span>
<span
class=
"sd"
>
"""
</span>
<span
class=
"sd"
>
"""
</span>
...
@@ -1717,12 +1765,12 @@ each label, and find their unweighted mean.</p>
...
@@ -1717,12 +1765,12 @@ each label, and find their unweighted mean.</p>
<details
class=
"quote"
>
<details
class=
"quote"
>
<summary>
Source code in
<code>
pytorch_widedeep/metrics.py
</code></summary>
<summary>
Source code in
<code>
pytorch_widedeep/metrics.py
</code></summary>
<div
class=
"highlight"
><table
class=
"highlighttable"
><tr><td
class=
"linenos"
><div
class=
"linenodiv"
><pre><span></span><span
class=
"normal"
>
332
</span>
<div
class=
"highlight"
><table
class=
"highlighttable"
><tr><td
class=
"linenos"
><div
class=
"linenodiv"
><pre><span></span><span
class=
"normal"
>
330
</span>
<span
class=
"normal"
>
331
</span>
<span
class=
"normal"
>
332
</span>
<span
class=
"normal"
>
333
</span>
<span
class=
"normal"
>
333
</span>
<span
class=
"normal"
>
334
</span>
<span
class=
"normal"
>
334
</span>
<span
class=
"normal"
>
335
</span>
<span
class=
"normal"
>
335
</span></pre></div></td><td
class=
"code"
><div><pre><span></span><code><span
class=
"k"
>
def
</span>
<span
class=
"fm"
>
__init__
</span><span
class=
"p"
>
(
</span><span
class=
"bp"
>
self
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
average
</span><span
class=
"p"
>
:
</span>
<span
class=
"nb"
>
bool
</span>
<span
class=
"o"
>
=
</span>
<span
class=
"kc"
>
True
</span><span
class=
"p"
>
):
</span>
<span
class=
"normal"
>
336
</span>
<span
class=
"normal"
>
337
</span></pre></div></td><td
class=
"code"
><div><pre><span></span><code><span
class=
"k"
>
def
</span>
<span
class=
"fm"
>
__init__
</span><span
class=
"p"
>
(
</span><span
class=
"bp"
>
self
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
average
</span><span
class=
"p"
>
:
</span>
<span
class=
"nb"
>
bool
</span>
<span
class=
"o"
>
=
</span>
<span
class=
"kc"
>
True
</span><span
class=
"p"
>
):
</span>
<span
class=
"nb"
>
super
</span><span
class=
"p"
>
(
</span><span
class=
"n"
>
F1Score
</span><span
class=
"p"
>
,
</span>
<span
class=
"bp"
>
self
</span><span
class=
"p"
>
)
</span><span
class=
"o"
>
.
</span><span
class=
"fm"
>
__init__
</span><span
class=
"p"
>
()
</span>
<span
class=
"nb"
>
super
</span><span
class=
"p"
>
(
</span><span
class=
"n"
>
F1Score
</span><span
class=
"p"
>
,
</span>
<span
class=
"bp"
>
self
</span><span
class=
"p"
>
)
</span><span
class=
"o"
>
.
</span><span
class=
"fm"
>
__init__
</span><span
class=
"p"
>
()
</span>
<span
class=
"bp"
>
self
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
average
</span>
<span
class=
"o"
>
=
</span>
<span
class=
"n"
>
average
</span>
<span
class=
"bp"
>
self
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
average
</span>
<span
class=
"o"
>
=
</span>
<span
class=
"n"
>
average
</span>
...
@@ -1761,11 +1809,11 @@ each label, and find their unweighted mean.</p>
...
@@ -1761,11 +1809,11 @@ each label, and find their unweighted mean.</p>
<details
class=
"quote"
>
<details
class=
"quote"
>
<summary>
Source code in
<code>
pytorch_widedeep/metrics.py
</code></summary>
<summary>
Source code in
<code>
pytorch_widedeep/metrics.py
</code></summary>
<div
class=
"highlight"
><table
class=
"highlighttable"
><tr><td
class=
"linenos"
><div
class=
"linenodiv"
><pre><span></span><span
class=
"normal"
>
339
</span>
<div
class=
"highlight"
><table
class=
"highlighttable"
><tr><td
class=
"linenos"
><div
class=
"linenodiv"
><pre><span></span><span
class=
"normal"
>
337
</span>
<span
class=
"normal"
>
338
</span>
<span
class=
"normal"
>
339
</span>
<span
class=
"normal"
>
340
</span>
<span
class=
"normal"
>
340
</span>
<span
class=
"normal"
>
341
</span>
<span
class=
"normal"
>
341
</span></pre></div></td><td
class=
"code"
><div><pre><span></span><code><span
class=
"k"
>
def
</span>
<span
class=
"nf"
>
reset
</span><span
class=
"p"
>
(
</span><span
class=
"bp"
>
self
</span><span
class=
"p"
>
):
</span>
<span
class=
"normal"
>
342
</span>
<span
class=
"normal"
>
343
</span></pre></div></td><td
class=
"code"
><div><pre><span></span><code><span
class=
"k"
>
def
</span>
<span
class=
"nf"
>
reset
</span><span
class=
"p"
>
(
</span><span
class=
"bp"
>
self
</span><span
class=
"p"
>
):
</span>
<span
class=
"w"
>
</span><span
class=
"sd"
>
"""
</span>
<span
class=
"w"
>
</span><span
class=
"sd"
>
"""
</span>
<span
class=
"sd"
>
resets counters to 0
</span>
<span
class=
"sd"
>
resets counters to 0
</span>
<span
class=
"sd"
>
"""
</span>
<span
class=
"sd"
>
"""
</span>
...
@@ -1824,13 +1872,13 @@ R^2 = 1 - \frac{\sum_{j=1}^n(y_j - \hat{y_j})^2}{\sum_{j=1}^n(y_j - \bar{y})^2}
...
@@ -1824,13 +1872,13 @@ R^2 = 1 - \frac{\sum_{j=1}^n(y_j - \hat{y_j})^2}{\sum_{j=1}^n(y_j - \bar{y})^2}
<details
class=
"quote"
>
<details
class=
"quote"
>
<summary>
Source code in
<code>
pytorch_widedeep/metrics.py
</code></summary>
<summary>
Source code in
<code>
pytorch_widedeep/metrics.py
</code></summary>
<div
class=
"highlight"
><table
class=
"highlighttable"
><tr><td
class=
"linenos"
><div
class=
"linenodiv"
><pre><span></span><span
class=
"normal"
>
374
</span>
<div
class=
"highlight"
><table
class=
"highlighttable"
><tr><td
class=
"linenos"
><div
class=
"linenodiv"
><pre><span></span><span
class=
"normal"
>
372
</span>
<span
class=
"normal"
>
373
</span>
<span
class=
"normal"
>
374
</span>
<span
class=
"normal"
>
375
</span>
<span
class=
"normal"
>
375
</span>
<span
class=
"normal"
>
376
</span>
<span
class=
"normal"
>
376
</span>
<span
class=
"normal"
>
377
</span>
<span
class=
"normal"
>
377
</span>
<span
class=
"normal"
>
378
</span>
<span
class=
"normal"
>
378
</span></pre></div></td><td
class=
"code"
><div><pre><span></span><code><span
class=
"k"
>
def
</span>
<span
class=
"fm"
>
__init__
</span><span
class=
"p"
>
(
</span><span
class=
"bp"
>
self
</span><span
class=
"p"
>
):
</span>
<span
class=
"normal"
>
379
</span>
<span
class=
"normal"
>
380
</span></pre></div></td><td
class=
"code"
><div><pre><span></span><code><span
class=
"k"
>
def
</span>
<span
class=
"fm"
>
__init__
</span><span
class=
"p"
>
(
</span><span
class=
"bp"
>
self
</span><span
class=
"p"
>
):
</span>
<span
class=
"bp"
>
self
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
numerator
</span>
<span
class=
"o"
>
=
</span>
<span
class=
"mi"
>
0
</span>
<span
class=
"bp"
>
self
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
numerator
</span>
<span
class=
"o"
>
=
</span>
<span
class=
"mi"
>
0
</span>
<span
class=
"bp"
>
self
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
denominator
</span>
<span
class=
"o"
>
=
</span>
<span
class=
"mi"
>
0
</span>
<span
class=
"bp"
>
self
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
denominator
</span>
<span
class=
"o"
>
=
</span>
<span
class=
"mi"
>
0
</span>
<span
class=
"bp"
>
self
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
num_examples
</span>
<span
class=
"o"
>
=
</span>
<span
class=
"mi"
>
0
</span>
<span
class=
"bp"
>
self
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
num_examples
</span>
<span
class=
"o"
>
=
</span>
<span
class=
"mi"
>
0
</span>
...
@@ -1870,14 +1918,14 @@ R^2 = 1 - \frac{\sum_{j=1}^n(y_j - \hat{y_j})^2}{\sum_{j=1}^n(y_j - \bar{y})^2}
...
@@ -1870,14 +1918,14 @@ R^2 = 1 - \frac{\sum_{j=1}^n(y_j - \hat{y_j})^2}{\sum_{j=1}^n(y_j - \bar{y})^2}
<details
class=
"quote"
>
<details
class=
"quote"
>
<summary>
Source code in
<code>
pytorch_widedeep/metrics.py
</code></summary>
<summary>
Source code in
<code>
pytorch_widedeep/metrics.py
</code></summary>
<div
class=
"highlight"
><table
class=
"highlighttable"
><tr><td
class=
"linenos"
><div
class=
"linenodiv"
><pre><span></span><span
class=
"normal"
>
382
</span>
<div
class=
"highlight"
><table
class=
"highlighttable"
><tr><td
class=
"linenos"
><div
class=
"linenodiv"
><pre><span></span><span
class=
"normal"
>
380
</span>
<span
class=
"normal"
>
381
</span>
<span
class=
"normal"
>
382
</span>
<span
class=
"normal"
>
383
</span>
<span
class=
"normal"
>
383
</span>
<span
class=
"normal"
>
384
</span>
<span
class=
"normal"
>
384
</span>
<span
class=
"normal"
>
385
</span>
<span
class=
"normal"
>
385
</span>
<span
class=
"normal"
>
386
</span>
<span
class=
"normal"
>
386
</span>
<span
class=
"normal"
>
387
</span>
<span
class=
"normal"
>
387
</span></pre></div></td><td
class=
"code"
><div><pre><span></span><code><span
class=
"k"
>
def
</span>
<span
class=
"nf"
>
reset
</span><span
class=
"p"
>
(
</span><span
class=
"bp"
>
self
</span><span
class=
"p"
>
):
</span>
<span
class=
"normal"
>
388
</span>
<span
class=
"normal"
>
389
</span></pre></div></td><td
class=
"code"
><div><pre><span></span><code><span
class=
"k"
>
def
</span>
<span
class=
"nf"
>
reset
</span><span
class=
"p"
>
(
</span><span
class=
"bp"
>
self
</span><span
class=
"p"
>
):
</span>
<span
class=
"w"
>
</span><span
class=
"sd"
>
"""
</span>
<span
class=
"w"
>
</span><span
class=
"sd"
>
"""
</span>
<span
class=
"sd"
>
resets counters to 0
</span>
<span
class=
"sd"
>
resets counters to 0
</span>
<span
class=
"sd"
>
"""
</span>
<span
class=
"sd"
>
"""
</span>
...
...
mkdocs/site/pytorch-widedeep/model_components.html
浏览文件 @
2ef478cf
此差异已折叠。
点击以展开。
mkdocs/site/pytorch-widedeep/model_components.md
浏览文件 @
2ef478cf
...
@@ -112,6 +112,12 @@ self-supervised pre-training with tabular data.
...
@@ -112,6 +112,12 @@ self-supervised pre-training with tabular data.
-
"!^_" # exclude all members starting with _
-
"!^_" # exclude all members starting with _
-
"!^forward$"
-
"!^forward$"
::: pytorch_widedeep.models.text.basic_transformer.Transformer
selection:
filters:
-
"!^_" # exclude all members starting with _
-
"!^forward$"
::: pytorch_widedeep.models.image.vision.Vision
::: pytorch_widedeep.models.image.vision.Vision
selection:
selection:
filters:
filters:
...
...
mkdocs/site/pytorch-widedeep/preprocessing.html
浏览文件 @
2ef478cf
此差异已折叠。
点击以展开。
mkdocs/site/pytorch-widedeep/preprocessing.md
浏览文件 @
2ef478cf
...
@@ -8,6 +8,8 @@ model component: ``wide``, ``deeptabular``, ``deepimage`` and ``deeptext``.
...
@@ -8,6 +8,8 @@ model component: ``wide``, ``deeptabular``, ``deepimage`` and ``deeptext``.
::: pytorch_widedeep.preprocessing.tab_preprocessor.TabPreprocessor
::: pytorch_widedeep.preprocessing.tab_preprocessor.TabPreprocessor
::: pytorch_widedeep.preprocessing.tab_preprocessor.Quantizer
::: pytorch_widedeep.preprocessing.text_preprocessor.TextPreprocessor
::: pytorch_widedeep.preprocessing.text_preprocessor.TextPreprocessor
::: pytorch_widedeep.preprocessing.image_preprocessor.ImagePreprocessor
::: pytorch_widedeep.preprocessing.image_preprocessor.ImagePreprocessor
mkdocs/site/pytorch-widedeep/self_supervised_pretraining.html
浏览文件 @
2ef478cf
...
@@ -798,6 +798,12 @@
...
@@ -798,6 +798,12 @@
...
@@ -1071,6 +1077,48 @@
...
@@ -1071,6 +1077,48 @@
<li
class=
"md-nav__item"
>
<a
href=
"../examples/18_feature_importance_via_attention_weights.html"
class=
"md-nav__link"
>
18_feature_importance_via_attention_weights
</a>
</li>
<li
class=
"md-nav__item"
>
<a
href=
"../examples/19_wide_and_deep_for_recsys_pt1.html"
class=
"md-nav__link"
>
19_wide_and_deep_for_recsys_pt1
</a>
</li>
<li
class=
"md-nav__item"
>
<a
href=
"../examples/19_wide_and_deep_for_recsys_pt2.html"
class=
"md-nav__link"
>
19_wide_and_deep_for_recsys_pt2
</a>
</li>
</ul>
</ul>
</nav>
</nav>
</li>
</li>
...
@@ -1620,7 +1668,8 @@ model's state dictionary</p>
...
@@ -1620,7 +1668,8 @@ model's state dictionary</p>
<details
class=
"quote"
>
<details
class=
"quote"
>
<summary>
Source code in
<code>
pytorch_widedeep/self_supervised_training/encoder_decoder_trainer.py
</code></summary>
<summary>
Source code in
<code>
pytorch_widedeep/self_supervised_training/encoder_decoder_trainer.py
</code></summary>
<div
class=
"highlight"
><table
class=
"highlighttable"
><tr><td
class=
"linenos"
><div
class=
"linenodiv"
><pre><span></span><span
class=
"normal"
>
215
</span>
<div
class=
"highlight"
><table
class=
"highlighttable"
><tr><td
class=
"linenos"
><div
class=
"linenodiv"
><pre><span></span><span
class=
"normal"
>
214
</span>
<span
class=
"normal"
>
215
</span>
<span
class=
"normal"
>
216
</span>
<span
class=
"normal"
>
216
</span>
<span
class=
"normal"
>
217
</span>
<span
class=
"normal"
>
217
</span>
<span
class=
"normal"
>
218
</span>
<span
class=
"normal"
>
218
</span>
...
@@ -1657,8 +1706,7 @@ model's state dictionary</p>
...
@@ -1657,8 +1706,7 @@ model's state dictionary</p>
<span
class=
"normal"
>
249
</span>
<span
class=
"normal"
>
249
</span>
<span
class=
"normal"
>
250
</span>
<span
class=
"normal"
>
250
</span>
<span
class=
"normal"
>
251
</span>
<span
class=
"normal"
>
251
</span>
<span
class=
"normal"
>
252
</span>
<span
class=
"normal"
>
252
</span></pre></div></td><td
class=
"code"
><div><pre><span></span><code><span
class=
"k"
>
def
</span>
<span
class=
"nf"
>
save
</span><span
class=
"p"
>
(
</span>
<span
class=
"normal"
>
253
</span></pre></div></td><td
class=
"code"
><div><pre><span></span><code><span
class=
"k"
>
def
</span>
<span
class=
"nf"
>
save
</span><span
class=
"p"
>
(
</span>
<span
class=
"bp"
>
self
</span><span
class=
"p"
>
,
</span>
<span
class=
"bp"
>
self
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
path
</span><span
class=
"p"
>
:
</span>
<span
class=
"nb"
>
str
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
path
</span><span
class=
"p"
>
:
</span>
<span
class=
"nb"
>
str
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
save_state_dict
</span><span
class=
"p"
>
:
</span>
<span
class=
"nb"
>
bool
</span>
<span
class=
"o"
>
=
</span>
<span
class=
"kc"
>
False
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
save_state_dict
</span><span
class=
"p"
>
:
</span>
<span
class=
"nb"
>
bool
</span>
<span
class=
"o"
>
=
</span>
<span
class=
"kc"
>
False
</span><span
class=
"p"
>
,
</span>
...
@@ -2276,7 +2324,8 @@ model's state dictionary</p>
...
@@ -2276,7 +2324,8 @@ model's state dictionary</p>
<details
class=
"quote"
>
<details
class=
"quote"
>
<summary>
Source code in
<code>
pytorch_widedeep/self_supervised_training/contrastive_denoising_trainer.py
</code></summary>
<summary>
Source code in
<code>
pytorch_widedeep/self_supervised_training/contrastive_denoising_trainer.py
</code></summary>
<div
class=
"highlight"
><table
class=
"highlighttable"
><tr><td
class=
"linenos"
><div
class=
"linenodiv"
><pre><span></span><span
class=
"normal"
>
263
</span>
<div
class=
"highlight"
><table
class=
"highlighttable"
><tr><td
class=
"linenos"
><div
class=
"linenodiv"
><pre><span></span><span
class=
"normal"
>
262
</span>
<span
class=
"normal"
>
263
</span>
<span
class=
"normal"
>
264
</span>
<span
class=
"normal"
>
264
</span>
<span
class=
"normal"
>
265
</span>
<span
class=
"normal"
>
265
</span>
<span
class=
"normal"
>
266
</span>
<span
class=
"normal"
>
266
</span>
...
@@ -2313,8 +2362,7 @@ model's state dictionary</p>
...
@@ -2313,8 +2362,7 @@ model's state dictionary</p>
<span
class=
"normal"
>
297
</span>
<span
class=
"normal"
>
297
</span>
<span
class=
"normal"
>
298
</span>
<span
class=
"normal"
>
298
</span>
<span
class=
"normal"
>
299
</span>
<span
class=
"normal"
>
299
</span>
<span
class=
"normal"
>
300
</span>
<span
class=
"normal"
>
300
</span></pre></div></td><td
class=
"code"
><div><pre><span></span><code><span
class=
"k"
>
def
</span>
<span
class=
"nf"
>
save
</span><span
class=
"p"
>
(
</span>
<span
class=
"normal"
>
301
</span></pre></div></td><td
class=
"code"
><div><pre><span></span><code><span
class=
"k"
>
def
</span>
<span
class=
"nf"
>
save
</span><span
class=
"p"
>
(
</span>
<span
class=
"bp"
>
self
</span><span
class=
"p"
>
,
</span>
<span
class=
"bp"
>
self
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
path
</span><span
class=
"p"
>
:
</span>
<span
class=
"nb"
>
str
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
path
</span><span
class=
"p"
>
:
</span>
<span
class=
"nb"
>
str
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
save_state_dict
</span><span
class=
"p"
>
:
</span>
<span
class=
"nb"
>
bool
</span>
<span
class=
"o"
>
=
</span>
<span
class=
"kc"
>
False
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
save_state_dict
</span><span
class=
"p"
>
:
</span>
<span
class=
"nb"
>
bool
</span>
<span
class=
"o"
>
=
</span>
<span
class=
"kc"
>
False
</span><span
class=
"p"
>
,
</span>
...
...
mkdocs/site/pytorch-widedeep/tab2vec.html
浏览文件 @
2ef478cf
...
@@ -791,6 +791,12 @@
...
@@ -791,6 +791,12 @@
...
@@ -1064,6 +1070,48 @@
...
@@ -1064,6 +1070,48 @@
<li
class=
"md-nav__item"
>
<a
href=
"../examples/18_feature_importance_via_attention_weights.html"
class=
"md-nav__link"
>
18_feature_importance_via_attention_weights
</a>
</li>
<li
class=
"md-nav__item"
>
<a
href=
"../examples/19_wide_and_deep_for_recsys_pt1.html"
class=
"md-nav__link"
>
19_wide_and_deep_for_recsys_pt1
</a>
</li>
<li
class=
"md-nav__item"
>
<a
href=
"../examples/19_wide_and_deep_for_recsys_pt2.html"
class=
"md-nav__link"
>
19_wide_and_deep_for_recsys_pt2
</a>
</li>
</ul>
</ul>
</nav>
</nav>
</li>
</li>
...
@@ -1550,7 +1598,7 @@ same applies to dataframes in case we choose to set
...
@@ -1550,7 +1598,7 @@ same applies to dataframes in case we choose to set
<span
class=
"sd"
>
"""
</span>
<span
class=
"sd"
>
"""
</span>
<span
class=
"n"
>
X_tab
</span>
<span
class=
"o"
>
=
</span>
<span
class=
"bp"
>
self
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
tab_preprocessor
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
transform
</span><span
class=
"p"
>
(
</span><span
class=
"n"
>
df
</span><span
class=
"p"
>
)
</span>
<span
class=
"n"
>
X_tab
</span>
<span
class=
"o"
>
=
</span>
<span
class=
"bp"
>
self
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
tab_preprocessor
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
transform
</span><span
class=
"p"
>
(
</span><span
class=
"n"
>
df
</span><span
class=
"p"
>
)
</span>
<span
class=
"n"
>
X
</span>
<span
class=
"o"
>
=
</span>
<span
class=
"n"
>
torch
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
from_numpy
</span><span
class=
"p"
>
(
</span><span
class=
"n"
>
X_tab
</span><span
class=
"
p"
>
)
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
to
</span><span
class=
"p"
>
(
</span><span
class=
"n"
>
device
</span><span
class=
"p"
>
)
</span>
<span
class=
"n"
>
X
</span>
<span
class=
"o"
>
=
</span>
<span
class=
"n"
>
torch
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
from_numpy
</span><span
class=
"p"
>
(
</span><span
class=
"n"
>
X_tab
</span><span
class=
"
o"
>
.
</span><span
class=
"n"
>
astype
</span><span
class=
"p"
>
(
</span><span
class=
"s2"
>
"
float
"
</span><span
class=
"p"
>
)
)
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
to
</span><span
class=
"p"
>
(
</span><span
class=
"n"
>
device
</span><span
class=
"p"
>
)
</span>
<span
class=
"k"
>
with
</span>
<span
class=
"n"
>
torch
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
no_grad
</span><span
class=
"p"
>
():
</span>
<span
class=
"k"
>
with
</span>
<span
class=
"n"
>
torch
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
no_grad
</span><span
class=
"p"
>
():
</span>
<span
class=
"n"
>
x_cat
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
x_cont
</span>
<span
class=
"o"
>
=
</span>
<span
class=
"bp"
>
self
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
vectorizer
</span><span
class=
"p"
>
(
</span><span
class=
"n"
>
X
</span><span
class=
"p"
>
)
</span>
<span
class=
"c1"
>
# type: ignore[operator]
</span>
<span
class=
"n"
>
x_cat
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
x_cont
</span>
<span
class=
"o"
>
=
</span>
<span
class=
"bp"
>
self
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
vectorizer
</span><span
class=
"p"
>
(
</span><span
class=
"n"
>
X
</span><span
class=
"p"
>
)
</span>
<span
class=
"c1"
>
# type: ignore[operator]
</span>
...
...
mkdocs/site/pytorch-widedeep/trainer.html
浏览文件 @
2ef478cf
此差异已折叠。
点击以展开。
mkdocs/site/pytorch-widedeep/utils/deeptabular_utils.html
浏览文件 @
2ef478cf
...
@@ -793,6 +793,12 @@
...
@@ -793,6 +793,12 @@
...
@@ -1066,6 +1072,48 @@
...
@@ -1066,6 +1072,48 @@
<li
class=
"md-nav__item"
>
<a
href=
"../../examples/18_feature_importance_via_attention_weights.html"
class=
"md-nav__link"
>
18_feature_importance_via_attention_weights
</a>
</li>
<li
class=
"md-nav__item"
>
<a
href=
"../../examples/19_wide_and_deep_for_recsys_pt1.html"
class=
"md-nav__link"
>
19_wide_and_deep_for_recsys_pt1
</a>
</li>
<li
class=
"md-nav__item"
>
<a
href=
"../../examples/19_wide_and_deep_for_recsys_pt2.html"
class=
"md-nav__link"
>
19_wide_and_deep_for_recsys_pt2
</a>
</li>
</ul>
</ul>
</nav>
</nav>
</li>
</li>
...
...
mkdocs/site/pytorch-widedeep/utils/fastai_transforms.html
浏览文件 @
2ef478cf
...
@@ -800,6 +800,12 @@
...
@@ -800,6 +800,12 @@
...
@@ -1073,6 +1079,48 @@
...
@@ -1073,6 +1079,48 @@
<li
class=
"md-nav__item"
>
<a
href=
"../../examples/18_feature_importance_via_attention_weights.html"
class=
"md-nav__link"
>
18_feature_importance_via_attention_weights
</a>
</li>
<li
class=
"md-nav__item"
>
<a
href=
"../../examples/19_wide_and_deep_for_recsys_pt1.html"
class=
"md-nav__link"
>
19_wide_and_deep_for_recsys_pt1
</a>
</li>
<li
class=
"md-nav__item"
>
<a
href=
"../../examples/19_wide_and_deep_for_recsys_pt2.html"
class=
"md-nav__link"
>
19_wide_and_deep_for_recsys_pt2
</a>
</li>
</ul>
</ul>
</nav>
</nav>
</li>
</li>
...
@@ -1478,9 +1526,9 @@ their corresponding index</p>
...
@@ -1478,9 +1526,9 @@ their corresponding index</p>
<details
class=
"quote"
>
<details
class=
"quote"
>
<summary>
Source code in
<code>
pytorch_widedeep/utils/fastai_transforms.py
</code></summary>
<summary>
Source code in
<code>
pytorch_widedeep/utils/fastai_transforms.py
</code></summary>
<div
class=
"highlight"
><table
class=
"highlighttable"
><tr><td
class=
"linenos"
><div
class=
"linenodiv"
><pre><span></span><span
class=
"normal"
>
35
7
</span>
<div
class=
"highlight"
><table
class=
"highlighttable"
><tr><td
class=
"linenos"
><div
class=
"linenodiv"
><pre><span></span><span
class=
"normal"
>
35
8
</span>
<span
class=
"normal"
>
35
8
</span>
<span
class=
"normal"
>
35
9
</span>
<span
class=
"normal"
>
3
59
</span></pre></div></td><td
class=
"code"
><div><pre><span></span><code><span
class=
"k"
>
def
</span>
<span
class=
"fm"
>
__init__
</span><span
class=
"p"
>
(
</span><span
class=
"bp"
>
self
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
itos
</span><span
class=
"p"
>
:
</span>
<span
class=
"n"
>
Collection
</span><span
class=
"p"
>
[
</span><span
class=
"nb"
>
str
</span><span
class=
"p"
>
]):
</span>
<span
class=
"normal"
>
3
60
</span></pre></div></td><td
class=
"code"
><div><pre><span></span><code><span
class=
"k"
>
def
</span>
<span
class=
"fm"
>
__init__
</span><span
class=
"p"
>
(
</span><span
class=
"bp"
>
self
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
itos
</span><span
class=
"p"
>
:
</span>
<span
class=
"n"
>
Collection
</span><span
class=
"p"
>
[
</span><span
class=
"nb"
>
str
</span><span
class=
"p"
>
]):
</span>
<span
class=
"bp"
>
self
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
itos
</span>
<span
class=
"o"
>
=
</span>
<span
class=
"n"
>
itos
</span>
<span
class=
"bp"
>
self
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
itos
</span>
<span
class=
"o"
>
=
</span>
<span
class=
"n"
>
itos
</span>
<span
class=
"bp"
>
self
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
stoi
</span>
<span
class=
"o"
>
=
</span>
<span
class=
"n"
>
defaultdict
</span><span
class=
"p"
>
(
</span><span
class=
"nb"
>
int
</span><span
class=
"p"
>
,
</span>
<span
class=
"p"
>
{
</span><span
class=
"n"
>
v
</span><span
class=
"p"
>
:
</span>
<span
class=
"n"
>
k
</span>
<span
class=
"k"
>
for
</span>
<span
class=
"n"
>
k
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
v
</span>
<span
class=
"ow"
>
in
</span>
<span
class=
"nb"
>
enumerate
</span><span
class=
"p"
>
(
</span><span
class=
"bp"
>
self
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
itos
</span><span
class=
"p"
>
)})
</span>
<span
class=
"bp"
>
self
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
stoi
</span>
<span
class=
"o"
>
=
</span>
<span
class=
"n"
>
defaultdict
</span><span
class=
"p"
>
(
</span><span
class=
"nb"
>
int
</span><span
class=
"p"
>
,
</span>
<span
class=
"p"
>
{
</span><span
class=
"n"
>
v
</span><span
class=
"p"
>
:
</span>
<span
class=
"n"
>
k
</span>
<span
class=
"k"
>
for
</span>
<span
class=
"n"
>
k
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
v
</span>
<span
class=
"ow"
>
in
</span>
<span
class=
"nb"
>
enumerate
</span><span
class=
"p"
>
(
</span><span
class=
"bp"
>
self
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
itos
</span><span
class=
"p"
>
)})
</span>
</code></pre></div></td></tr></table></div>
</code></pre></div></td></tr></table></div>
...
@@ -1524,15 +1572,15 @@ their corresponding index</p>
...
@@ -1524,15 +1572,15 @@ their corresponding index</p>
<details
class=
"quote"
>
<details
class=
"quote"
>
<summary>
Source code in
<code>
pytorch_widedeep/utils/fastai_transforms.py
</code></summary>
<summary>
Source code in
<code>
pytorch_widedeep/utils/fastai_transforms.py
</code></summary>
<div
class=
"highlight"
><table
class=
"highlighttable"
><tr><td
class=
"linenos"
><div
class=
"linenodiv"
><pre><span></span><span
class=
"normal"
>
361
</span>
<div
class=
"highlight"
><table
class=
"highlighttable"
><tr><td
class=
"linenos"
><div
class=
"linenodiv"
><pre><span></span><span
class=
"normal"
>
362
</span>
<span
class=
"normal"
>
362
</span>
<span
class=
"normal"
>
363
</span>
<span
class=
"normal"
>
363
</span>
<span
class=
"normal"
>
364
</span>
<span
class=
"normal"
>
364
</span>
<span
class=
"normal"
>
365
</span>
<span
class=
"normal"
>
365
</span>
<span
class=
"normal"
>
366
</span>
<span
class=
"normal"
>
366
</span>
<span
class=
"normal"
>
367
</span>
<span
class=
"normal"
>
367
</span>
<span
class=
"normal"
>
368
</span>
<span
class=
"normal"
>
368
</span>
<span
class=
"normal"
>
369
</span></pre></div></td><td
class=
"code"
><div><pre><span></span><code><span
class=
"k"
>
def
</span>
<span
class=
"nf"
>
numericalize
</span><span
class=
"p"
>
(
</span><span
class=
"bp"
>
self
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
t
</span><span
class=
"p"
>
:
</span>
<span
class=
"n"
>
Collection
</span><span
class=
"p"
>
[
</span><span
class=
"nb"
>
str
</span><span
class=
"p"
>
])
</span>
<span
class=
"o"
>
-
>
</span>
<span
class=
"n"
>
List
</span><span
class=
"p"
>
[
</span><span
class=
"nb"
>
int
</span><span
class=
"p"
>
]:
</span>
<span
class=
"normal"
>
369
</span>
<span
class=
"normal"
>
370
</span></pre></div></td><td
class=
"code"
><div><pre><span></span><code><span
class=
"k"
>
def
</span>
<span
class=
"nf"
>
numericalize
</span><span
class=
"p"
>
(
</span><span
class=
"bp"
>
self
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
t
</span><span
class=
"p"
>
:
</span>
<span
class=
"n"
>
Collection
</span><span
class=
"p"
>
[
</span><span
class=
"nb"
>
str
</span><span
class=
"p"
>
])
</span>
<span
class=
"o"
>
-
>
</span>
<span
class=
"n"
>
List
</span><span
class=
"p"
>
[
</span><span
class=
"nb"
>
int
</span><span
class=
"p"
>
]:
</span>
<span
class=
"w"
>
</span><span
class=
"sd"
>
"""
Convert a list of tokens ``t`` to their ids.
</span>
<span
class=
"w"
>
</span><span
class=
"sd"
>
"""
Convert a list of tokens ``t`` to their ids.
</span>
<span
class=
"sd"
>
Returns
</span>
<span
class=
"sd"
>
Returns
</span>
...
@@ -1573,15 +1621,15 @@ their corresponding index</p>
...
@@ -1573,15 +1621,15 @@ their corresponding index</p>
<details
class=
"quote"
>
<details
class=
"quote"
>
<summary>
Source code in
<code>
pytorch_widedeep/utils/fastai_transforms.py
</code></summary>
<summary>
Source code in
<code>
pytorch_widedeep/utils/fastai_transforms.py
</code></summary>
<div
class=
"highlight"
><table
class=
"highlighttable"
><tr><td
class=
"linenos"
><div
class=
"linenodiv"
><pre><span></span><span
class=
"normal"
>
371
</span>
<div
class=
"highlight"
><table
class=
"highlighttable"
><tr><td
class=
"linenos"
><div
class=
"linenodiv"
><pre><span></span><span
class=
"normal"
>
372
</span>
<span
class=
"normal"
>
372
</span>
<span
class=
"normal"
>
373
</span>
<span
class=
"normal"
>
373
</span>
<span
class=
"normal"
>
374
</span>
<span
class=
"normal"
>
374
</span>
<span
class=
"normal"
>
375
</span>
<span
class=
"normal"
>
375
</span>
<span
class=
"normal"
>
376
</span>
<span
class=
"normal"
>
376
</span>
<span
class=
"normal"
>
377
</span>
<span
class=
"normal"
>
377
</span>
<span
class=
"normal"
>
378
</span>
<span
class=
"normal"
>
378
</span>
<span
class=
"normal"
>
379
</span></pre></div></td><td
class=
"code"
><div><pre><span></span><code><span
class=
"k"
>
def
</span>
<span
class=
"nf"
>
textify
</span><span
class=
"p"
>
(
</span><span
class=
"bp"
>
self
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
nums
</span><span
class=
"p"
>
:
</span>
<span
class=
"n"
>
Collection
</span><span
class=
"p"
>
[
</span><span
class=
"nb"
>
int
</span><span
class=
"p"
>
],
</span>
<span
class=
"n"
>
sep
</span><span
class=
"o"
>
=
</span><span
class=
"s2"
>
"
"
</span><span
class=
"p"
>
)
</span>
<span
class=
"o"
>
-
>
</span>
<span
class=
"n"
>
List
</span><span
class=
"p"
>
[
</span><span
class=
"nb"
>
str
</span><span
class=
"p"
>
]:
</span>
<span
class=
"normal"
>
379
</span>
<span
class=
"normal"
>
380
</span></pre></div></td><td
class=
"code"
><div><pre><span></span><code><span
class=
"k"
>
def
</span>
<span
class=
"nf"
>
textify
</span><span
class=
"p"
>
(
</span><span
class=
"bp"
>
self
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
nums
</span><span
class=
"p"
>
:
</span>
<span
class=
"n"
>
Collection
</span><span
class=
"p"
>
[
</span><span
class=
"nb"
>
int
</span><span
class=
"p"
>
],
</span>
<span
class=
"n"
>
sep
</span><span
class=
"o"
>
=
</span><span
class=
"s2"
>
"
"
</span><span
class=
"p"
>
)
</span>
<span
class=
"o"
>
-
>
</span>
<span
class=
"n"
>
List
</span><span
class=
"p"
>
[
</span><span
class=
"nb"
>
str
</span><span
class=
"p"
>
]:
</span>
<span
class=
"w"
>
</span><span
class=
"sd"
>
"""
Convert a list of ``nums`` (or indexes) to their tokens.
</span>
<span
class=
"w"
>
</span><span
class=
"sd"
>
"""
Convert a list of ``nums`` (or indexes) to their tokens.
</span>
<span
class=
"sd"
>
Returns
</span>
<span
class=
"sd"
>
Returns
</span>
...
@@ -1614,9 +1662,9 @@ their corresponding index</p>
...
@@ -1614,9 +1662,9 @@ their corresponding index</p>
<details
class=
"quote"
>
<details
class=
"quote"
>
<summary>
Source code in
<code>
pytorch_widedeep/utils/fastai_transforms.py
</code></summary>
<summary>
Source code in
<code>
pytorch_widedeep/utils/fastai_transforms.py
</code></summary>
<div
class=
"highlight"
><table
class=
"highlighttable"
><tr><td
class=
"linenos"
><div
class=
"linenodiv"
><pre><span></span><span
class=
"normal"
>
38
8
</span>
<div
class=
"highlight"
><table
class=
"highlighttable"
><tr><td
class=
"linenos"
><div
class=
"linenodiv"
><pre><span></span><span
class=
"normal"
>
38
9
</span>
<span
class=
"normal"
>
3
89
</span>
<span
class=
"normal"
>
3
90
</span>
<span
class=
"normal"
>
39
0
</span></pre></div></td><td
class=
"code"
><div><pre><span></span><code><span
class=
"k"
>
def
</span>
<span
class=
"nf"
>
save
</span><span
class=
"p"
>
(
</span><span
class=
"bp"
>
self
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
path
</span><span
class=
"p"
>
):
</span>
<span
class=
"normal"
>
39
1
</span></pre></div></td><td
class=
"code"
><div><pre><span></span><code><span
class=
"k"
>
def
</span>
<span
class=
"nf"
>
save
</span><span
class=
"p"
>
(
</span><span
class=
"bp"
>
self
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
path
</span><span
class=
"p"
>
):
</span>
<span
class=
"w"
>
</span><span
class=
"sd"
>
"""
Save the attribute ``self.itos`` in ``path``
"""
</span>
<span
class=
"w"
>
</span><span
class=
"sd"
>
"""
Save the attribute ``self.itos`` in ``path``
"""
</span>
<span
class=
"n"
>
pickle
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
dump
</span><span
class=
"p"
>
(
</span><span
class=
"bp"
>
self
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
itos
</span><span
class=
"p"
>
,
</span>
<span
class=
"nb"
>
open
</span><span
class=
"p"
>
(
</span><span
class=
"n"
>
path
</span><span
class=
"p"
>
,
</span>
<span
class=
"s2"
>
"
wb
"
</span><span
class=
"p"
>
))
</span>
<span
class=
"n"
>
pickle
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
dump
</span><span
class=
"p"
>
(
</span><span
class=
"bp"
>
self
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
itos
</span><span
class=
"p"
>
,
</span>
<span
class=
"nb"
>
open
</span><span
class=
"p"
>
(
</span><span
class=
"n"
>
path
</span><span
class=
"p"
>
,
</span>
<span
class=
"s2"
>
"
wb
"
</span><span
class=
"p"
>
))
</span>
</code></pre></div></td></tr></table></div>
</code></pre></div></td></tr></table></div>
...
@@ -1638,7 +1686,7 @@ their corresponding index</p>
...
@@ -1638,7 +1686,7 @@ their corresponding index</p>
</span>
</span>
<a
href=
"#pytorch_widedeep.utils.fastai_transforms.Vocab.create"
class=
"headerlink"
title=
"Permanent link"
>
¶
</a></h3>
<a
href=
"#pytorch_widedeep.utils.fastai_transforms.Vocab.create"
class=
"headerlink"
title=
"Permanent link"
>
¶
</a></h3>
<div
class=
"highlight"
><pre><span></span><code><span
class=
"n"
>
create
</span><span
class=
"p"
>
(
</span><span
class=
"n"
>
tokens
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
max_vocab
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
min_freq
</span><span
class=
"p"
>
)
</span>
<div
class=
"highlight"
><pre><span></span><code><span
class=
"n"
>
create
</span><span
class=
"p"
>
(
</span><span
class=
"n"
>
tokens
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
max_vocab
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
min_freq
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
pad_idx
</span><span
class=
"o"
>
=
</span><span
class=
"kc"
>
None
</span><span
class=
"p"
>
)
</span>
</code></pre></div>
</code></pre></div>
<div
class=
"doc doc-contents "
>
<div
class=
"doc doc-contents "
>
...
@@ -1660,10 +1708,11 @@ strings (e.g. list of tokenized sentences)</p>
...
@@ -1660,10 +1708,11 @@ strings (e.g. list of tokenized sentences)</p>
–
<p>
maximum vocabulary size
</p>
–
<p>
maximum vocabulary size
</p>
</li>
</li>
<li
class=
"field-body"
>
<li
class=
"field-body"
>
<b>
min_freq
</b>
<b>
pad_idx
</b>
(
<code>
int
</code>
)
(
<code><span
title=
"pytorch_widedeep.wdtypes.Optional"
>
Optional
</span>
[int]
</code>
)
–
<p>
minimum frequency that a token has to appear to be part of the
–
<p>
padding index. If
<code>
None
</code>
, Fastai's Tokenizer leaves the 0 index
vocabulary
</p>
for the unknown token (
<em>
'xxunk'
</em>
) and defaults to 1 for the padding
token (
<em>
'xxpad'
</em>
).
</p>
</li>
</li>
</ul>
</ul>
...
@@ -1692,8 +1741,7 @@ classification/Regression tasks. Please see the <a href="https://docs.fast.ai/te
...
@@ -1692,8 +1741,7 @@ classification/Regression tasks. Please see the <a href="https://docs.fast.ai/te
<details
class=
"quote"
>
<details
class=
"quote"
>
<summary>
Source code in
<code>
pytorch_widedeep/utils/fastai_transforms.py
</code></summary>
<summary>
Source code in
<code>
pytorch_widedeep/utils/fastai_transforms.py
</code></summary>
<div
class=
"highlight"
><table
class=
"highlighttable"
><tr><td
class=
"linenos"
><div
class=
"linenodiv"
><pre><span></span><span
class=
"normal"
>
392
</span>
<div
class=
"highlight"
><table
class=
"highlighttable"
><tr><td
class=
"linenos"
><div
class=
"linenodiv"
><pre><span></span><span
class=
"normal"
>
393
</span>
<span
class=
"normal"
>
393
</span>
<span
class=
"normal"
>
394
</span>
<span
class=
"normal"
>
394
</span>
<span
class=
"normal"
>
395
</span>
<span
class=
"normal"
>
395
</span>
<span
class=
"normal"
>
396
</span>
<span
class=
"normal"
>
396
</span>
...
@@ -1741,8 +1789,28 @@ classification/Regression tasks. Please see the <a href="https://docs.fast.ai/te
...
@@ -1741,8 +1789,28 @@ classification/Regression tasks. Please see the <a href="https://docs.fast.ai/te
<span
class=
"normal"
>
438
</span>
<span
class=
"normal"
>
438
</span>
<span
class=
"normal"
>
439
</span>
<span
class=
"normal"
>
439
</span>
<span
class=
"normal"
>
440
</span>
<span
class=
"normal"
>
440
</span>
<span
class=
"normal"
>
441
</span></pre></div></td><td
class=
"code"
><div><pre><span></span><code><span
class=
"nd"
>
@classmethod
</span>
<span
class=
"normal"
>
441
</span>
<span
class=
"k"
>
def
</span>
<span
class=
"nf"
>
create
</span><span
class=
"p"
>
(
</span><span
class=
"bp"
>
cls
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
tokens
</span><span
class=
"p"
>
:
</span>
<span
class=
"n"
>
Tokens
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
max_vocab
</span><span
class=
"p"
>
:
</span>
<span
class=
"nb"
>
int
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
min_freq
</span><span
class=
"p"
>
:
</span>
<span
class=
"nb"
>
int
</span><span
class=
"p"
>
)
</span>
<span
class=
"o"
>
-
>
</span>
<span
class=
"s2"
>
"
Vocab
"
</span><span
class=
"p"
>
:
</span>
<span
class=
"normal"
>
442
</span>
<span
class=
"normal"
>
443
</span>
<span
class=
"normal"
>
444
</span>
<span
class=
"normal"
>
445
</span>
<span
class=
"normal"
>
446
</span>
<span
class=
"normal"
>
447
</span>
<span
class=
"normal"
>
448
</span>
<span
class=
"normal"
>
449
</span>
<span
class=
"normal"
>
450
</span>
<span
class=
"normal"
>
451
</span>
<span
class=
"normal"
>
452
</span>
<span
class=
"normal"
>
453
</span>
<span
class=
"normal"
>
454
</span>
<span
class=
"normal"
>
455
</span></pre></div></td><td
class=
"code"
><div><pre><span></span><code><span
class=
"nd"
>
@classmethod
</span>
<span
class=
"k"
>
def
</span>
<span
class=
"nf"
>
create
</span><span
class=
"p"
>
(
</span>
<span
class=
"bp"
>
cls
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
tokens
</span><span
class=
"p"
>
:
</span>
<span
class=
"n"
>
Tokens
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
max_vocab
</span><span
class=
"p"
>
:
</span>
<span
class=
"nb"
>
int
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
min_freq
</span><span
class=
"p"
>
:
</span>
<span
class=
"nb"
>
int
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
pad_idx
</span><span
class=
"p"
>
:
</span>
<span
class=
"n"
>
Optional
</span><span
class=
"p"
>
[
</span><span
class=
"nb"
>
int
</span><span
class=
"p"
>
]
</span>
<span
class=
"o"
>
=
</span>
<span
class=
"kc"
>
None
</span><span
class=
"p"
>
,
</span>
<span
class=
"p"
>
)
</span>
<span
class=
"o"
>
-
>
</span>
<span
class=
"s2"
>
"
Vocab
"
</span><span
class=
"p"
>
:
</span>
<span
class=
"w"
>
</span><span
class=
"sa"
>
r
</span><span
class=
"sd"
>
"""
Create a vocabulary object from a set of tokens.
</span>
<span
class=
"w"
>
</span><span
class=
"sa"
>
r
</span><span
class=
"sd"
>
"""
Create a vocabulary object from a set of tokens.
</span>
<span
class=
"sd"
>
Parameters
</span>
<span
class=
"sd"
>
Parameters
</span>
...
@@ -1753,9 +1821,10 @@ classification/Regression tasks. Please see the <a href="https://docs.fast.ai/te
...
@@ -1753,9 +1821,10 @@ classification/Regression tasks. Please see the <a href="https://docs.fast.ai/te
<span
class=
"sd"
>
strings (e.g. list of tokenized sentences)
</span>
<span
class=
"sd"
>
strings (e.g. list of tokenized sentences)
</span>
<span
class=
"sd"
>
max_vocab: int
</span>
<span
class=
"sd"
>
max_vocab: int
</span>
<span
class=
"sd"
>
maximum vocabulary size
</span>
<span
class=
"sd"
>
maximum vocabulary size
</span>
<span
class=
"sd"
>
min_freq: int
</span>
<span
class=
"sd"
>
pad_idx: int, Optional, default = None
</span>
<span
class=
"sd"
>
minimum frequency that a token has to appear to be part of the
</span>
<span
class=
"sd"
>
padding index. If `None`, Fastai
'
s Tokenizer leaves the 0 index
</span>
<span
class=
"sd"
>
vocabulary
</span>
<span
class=
"sd"
>
for the unknown token (_
'
xxunk
'
_) and defaults to 1 for the padding
</span>
<span
class=
"sd"
>
token (_
'
xxpad
'
_).
</span>
<span
class=
"sd"
>
Examples
</span>
<span
class=
"sd"
>
Examples
</span>
<span
class=
"sd"
>
--------
</span>
<span
class=
"sd"
>
--------
</span>
...
@@ -1778,12 +1847,18 @@ classification/Regression tasks. Please see the <a href="https://docs.fast.ai/te
...
@@ -1778,12 +1847,18 @@ classification/Regression tasks. Please see the <a href="https://docs.fast.ai/te
<span
class=
"sd"
>
Vocab
</span>
<span
class=
"sd"
>
Vocab
</span>
<span
class=
"sd"
>
An instance of a `Vocab` object
</span>
<span
class=
"sd"
>
An instance of a `Vocab` object
</span>
<span
class=
"sd"
>
"""
</span>
<span
class=
"sd"
>
"""
</span>
<span
class=
"n"
>
freq
</span>
<span
class=
"o"
>
=
</span>
<span
class=
"n"
>
Counter
</span><span
class=
"p"
>
(
</span><span
class=
"n"
>
p
</span>
<span
class=
"k"
>
for
</span>
<span
class=
"n"
>
o
</span>
<span
class=
"ow"
>
in
</span>
<span
class=
"n"
>
tokens
</span>
<span
class=
"k"
>
for
</span>
<span
class=
"n"
>
p
</span>
<span
class=
"ow"
>
in
</span>
<span
class=
"n"
>
o
</span><span
class=
"p"
>
)
</span>
<span
class=
"n"
>
freq
</span>
<span
class=
"o"
>
=
</span>
<span
class=
"n"
>
Counter
</span><span
class=
"p"
>
(
</span><span
class=
"n"
>
p
</span>
<span
class=
"k"
>
for
</span>
<span
class=
"n"
>
o
</span>
<span
class=
"ow"
>
in
</span>
<span
class=
"n"
>
tokens
</span>
<span
class=
"k"
>
for
</span>
<span
class=
"n"
>
p
</span>
<span
class=
"ow"
>
in
</span>
<span
class=
"n"
>
o
</span><span
class=
"p"
>
)
</span>
<span
class=
"n"
>
itos
</span>
<span
class=
"o"
>
=
</span>
<span
class=
"p"
>
[
</span><span
class=
"n"
>
o
</span>
<span
class=
"k"
>
for
</span>
<span
class=
"n"
>
o
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
c
</span>
<span
class=
"ow"
>
in
</span>
<span
class=
"n"
>
freq
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
most_common
</span><span
class=
"p"
>
(
</span><span
class=
"n"
>
max_vocab
</span><span
class=
"p"
>
)
</span>
<span
class=
"k"
>
if
</span>
<span
class=
"n"
>
c
</span>
<span
class=
"o"
>
>
=
</span>
<span
class=
"n"
>
min_freq
</span><span
class=
"p"
>
]
</span>
<span
class=
"n"
>
itos
</span>
<span
class=
"o"
>
=
</span>
<span
class=
"p"
>
[
</span><span
class=
"n"
>
o
</span>
<span
class=
"k"
>
for
</span>
<span
class=
"n"
>
o
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
c
</span>
<span
class=
"ow"
>
in
</span>
<span
class=
"n"
>
freq
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
most_common
</span><span
class=
"p"
>
(
</span><span
class=
"n"
>
max_vocab
</span><span
class=
"p"
>
)
</span>
<span
class=
"k"
>
if
</span>
<span
class=
"n"
>
c
</span>
<span
class=
"o"
>
>
=
</span>
<span
class=
"n"
>
min_freq
</span><span
class=
"p"
>
]
</span>
<span
class=
"k"
>
for
</span>
<span
class=
"n"
>
o
</span>
<span
class=
"ow"
>
in
</span>
<span
class=
"nb"
>
reversed
</span><span
class=
"p"
>
(
</span><span
class=
"n"
>
defaults
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
text_spec_tok
</span><span
class=
"p"
>
):
</span>
<span
class=
"k"
>
for
</span>
<span
class=
"n"
>
o
</span>
<span
class=
"ow"
>
in
</span>
<span
class=
"nb"
>
reversed
</span><span
class=
"p"
>
(
</span><span
class=
"n"
>
defaults
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
text_spec_tok
</span><span
class=
"p"
>
):
</span>
<span
class=
"k"
>
if
</span>
<span
class=
"n"
>
o
</span>
<span
class=
"ow"
>
in
</span>
<span
class=
"n"
>
itos
</span><span
class=
"p"
>
:
</span>
<span
class=
"k"
>
if
</span>
<span
class=
"n"
>
o
</span>
<span
class=
"ow"
>
in
</span>
<span
class=
"n"
>
itos
</span><span
class=
"p"
>
:
</span>
<span
class=
"n"
>
itos
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
remove
</span><span
class=
"p"
>
(
</span><span
class=
"n"
>
o
</span><span
class=
"p"
>
)
</span>
<span
class=
"n"
>
itos
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
remove
</span><span
class=
"p"
>
(
</span><span
class=
"n"
>
o
</span><span
class=
"p"
>
)
</span>
<span
class=
"n"
>
itos
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
insert
</span><span
class=
"p"
>
(
</span><span
class=
"mi"
>
0
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
o
</span><span
class=
"p"
>
)
</span>
<span
class=
"n"
>
itos
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
insert
</span><span
class=
"p"
>
(
</span><span
class=
"mi"
>
0
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
o
</span><span
class=
"p"
>
)
</span>
<span
class=
"k"
>
if
</span>
<span
class=
"n"
>
pad_idx
</span>
<span
class=
"ow"
>
is
</span>
<span
class=
"ow"
>
not
</span>
<span
class=
"kc"
>
None
</span><span
class=
"p"
>
:
</span>
<span
class=
"n"
>
itos
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
remove
</span><span
class=
"p"
>
(
</span><span
class=
"n"
>
PAD
</span><span
class=
"p"
>
)
</span>
<span
class=
"n"
>
itos
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
insert
</span><span
class=
"p"
>
(
</span><span
class=
"n"
>
pad_idx
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
PAD
</span><span
class=
"p"
>
)
</span>
<span
class=
"n"
>
itos
</span>
<span
class=
"o"
>
=
</span>
<span
class=
"n"
>
itos
</span><span
class=
"p"
>
[:
</span><span
class=
"n"
>
max_vocab
</span><span
class=
"p"
>
]
</span>
<span
class=
"n"
>
itos
</span>
<span
class=
"o"
>
=
</span>
<span
class=
"n"
>
itos
</span><span
class=
"p"
>
[:
</span><span
class=
"n"
>
max_vocab
</span><span
class=
"p"
>
]
</span>
<span
class=
"k"
>
if
</span>
<span
class=
"p"
>
(
</span>
<span
class=
"k"
>
if
</span>
<span
class=
"p"
>
(
</span>
<span
class=
"nb"
>
len
</span><span
class=
"p"
>
(
</span><span
class=
"n"
>
itos
</span><span
class=
"p"
>
)
</span>
<span
class=
"o"
>
<
</span>
<span
class=
"n"
>
max_vocab
</span>
<span
class=
"nb"
>
len
</span><span
class=
"p"
>
(
</span><span
class=
"n"
>
itos
</span><span
class=
"p"
>
)
</span>
<span
class=
"o"
>
<
</span>
<span
class=
"n"
>
max_vocab
</span>
...
@@ -1819,11 +1894,11 @@ classification/Regression tasks. Please see the <a href="https://docs.fast.ai/te
...
@@ -1819,11 +1894,11 @@ classification/Regression tasks. Please see the <a href="https://docs.fast.ai/te
<details
class=
"quote"
>
<details
class=
"quote"
>
<summary>
Source code in
<code>
pytorch_widedeep/utils/fastai_transforms.py
</code></summary>
<summary>
Source code in
<code>
pytorch_widedeep/utils/fastai_transforms.py
</code></summary>
<div
class=
"highlight"
><table
class=
"highlighttable"
><tr><td
class=
"linenos"
><div
class=
"linenodiv"
><pre><span></span><span
class=
"normal"
>
4
43
</span>
<div
class=
"highlight"
><table
class=
"highlighttable"
><tr><td
class=
"linenos"
><div
class=
"linenodiv"
><pre><span></span><span
class=
"normal"
>
4
57
</span>
<span
class=
"normal"
>
4
44
</span>
<span
class=
"normal"
>
4
58
</span>
<span
class=
"normal"
>
4
45
</span>
<span
class=
"normal"
>
4
59
</span>
<span
class=
"normal"
>
4
46
</span>
<span
class=
"normal"
>
4
60
</span>
<span
class=
"normal"
>
4
47
</span></pre></div></td><td
class=
"code"
><div><pre><span></span><code><span
class=
"nd"
>
@classmethod
</span>
<span
class=
"normal"
>
4
61
</span></pre></div></td><td
class=
"code"
><div><pre><span></span><code><span
class=
"nd"
>
@classmethod
</span>
<span
class=
"k"
>
def
</span>
<span
class=
"nf"
>
load
</span><span
class=
"p"
>
(
</span><span
class=
"bp"
>
cls
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
path
</span><span
class=
"p"
>
):
</span>
<span
class=
"k"
>
def
</span>
<span
class=
"nf"
>
load
</span><span
class=
"p"
>
(
</span><span
class=
"bp"
>
cls
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
path
</span><span
class=
"p"
>
):
</span>
<span
class=
"w"
>
</span><span
class=
"sd"
>
"""
Load an intance of :obj:`Vocab` contained in ``path``
"""
</span>
<span
class=
"w"
>
</span><span
class=
"sd"
>
"""
Load an intance of :obj:`Vocab` contained in ``path``
"""
</span>
<span
class=
"n"
>
itos
</span>
<span
class=
"o"
>
=
</span>
<span
class=
"n"
>
pickle
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
load
</span><span
class=
"p"
>
(
</span><span
class=
"nb"
>
open
</span><span
class=
"p"
>
(
</span><span
class=
"n"
>
path
</span><span
class=
"p"
>
,
</span>
<span
class=
"s2"
>
"
rb
"
</span><span
class=
"p"
>
))
</span>
<span
class=
"n"
>
itos
</span>
<span
class=
"o"
>
=
</span>
<span
class=
"n"
>
pickle
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
load
</span><span
class=
"p"
>
(
</span><span
class=
"nb"
>
open
</span><span
class=
"p"
>
(
</span><span
class=
"n"
>
path
</span><span
class=
"p"
>
,
</span>
<span
class=
"s2"
>
"
rb
"
</span><span
class=
"p"
>
))
</span>
...
...
mkdocs/site/pytorch-widedeep/utils/image_utils.html
浏览文件 @
2ef478cf
...
@@ -800,6 +800,12 @@
...
@@ -800,6 +800,12 @@
...
@@ -1073,6 +1079,48 @@
...
@@ -1073,6 +1079,48 @@
<li
class=
"md-nav__item"
>
<a
href=
"../../examples/18_feature_importance_via_attention_weights.html"
class=
"md-nav__link"
>
18_feature_importance_via_attention_weights
</a>
</li>
<li
class=
"md-nav__item"
>
<a
href=
"../../examples/19_wide_and_deep_for_recsys_pt1.html"
class=
"md-nav__link"
>
19_wide_and_deep_for_recsys_pt1
</a>
</li>
<li
class=
"md-nav__item"
>
<a
href=
"../../examples/19_wide_and_deep_for_recsys_pt2.html"
class=
"md-nav__link"
>
19_wide_and_deep_for_recsys_pt2
</a>
</li>
</ul>
</ul>
</nav>
</nav>
</li>
</li>
...
...
mkdocs/site/pytorch-widedeep/utils/index.html
浏览文件 @
2ef478cf
...
@@ -752,6 +752,12 @@
...
@@ -752,6 +752,12 @@
...
@@ -1025,6 +1031,48 @@
...
@@ -1025,6 +1031,48 @@
<li
class=
"md-nav__item"
>
<a
href=
"../../examples/18_feature_importance_via_attention_weights.html"
class=
"md-nav__link"
>
18_feature_importance_via_attention_weights
</a>
</li>
<li
class=
"md-nav__item"
>
<a
href=
"../../examples/19_wide_and_deep_for_recsys_pt1.html"
class=
"md-nav__link"
>
19_wide_and_deep_for_recsys_pt1
</a>
</li>
<li
class=
"md-nav__item"
>
<a
href=
"../../examples/19_wide_and_deep_for_recsys_pt2.html"
class=
"md-nav__link"
>
19_wide_and_deep_for_recsys_pt2
</a>
</li>
</ul>
</ul>
</nav>
</nav>
</li>
</li>
...
...
mkdocs/site/pytorch-widedeep/utils/text_utils.html
浏览文件 @
2ef478cf
此差异已折叠。
点击以展开。
mkdocs/site/quick_start.html
浏览文件 @
2ef478cf
...
@@ -758,6 +758,12 @@
...
@@ -758,6 +758,12 @@
...
@@ -1031,6 +1037,48 @@
...
@@ -1031,6 +1037,48 @@
<li
class=
"md-nav__item"
>
<a
href=
"examples/18_feature_importance_via_attention_weights.html"
class=
"md-nav__link"
>
18_feature_importance_via_attention_weights
</a>
</li>
<li
class=
"md-nav__item"
>
<a
href=
"examples/19_wide_and_deep_for_recsys_pt1.html"
class=
"md-nav__link"
>
19_wide_and_deep_for_recsys_pt1
</a>
</li>
<li
class=
"md-nav__item"
>
<a
href=
"examples/19_wide_and_deep_for_recsys_pt2.html"
class=
"md-nav__link"
>
19_wide_and_deep_for_recsys_pt2
</a>
</li>
</ul>
</ul>
</nav>
</nav>
</li>
</li>
...
...
mkdocs/site/search/search_index.json
浏览文件 @
2ef478cf
此差异已折叠。
点击以展开。
mkdocs/site/sitemap.xml
浏览文件 @
2ef478cf
此差异已折叠。
点击以展开。
mkdocs/site/sitemap.xml.gz
浏览文件 @
2ef478cf
无法预览此类型文件
mkdocs/sources/examples/18_feature_importance_via_attention_weights.ipynb
0 → 100644
浏览文件 @
2ef478cf
此差异已折叠。
点击以展开。
mkdocs/sources/examples/19_wide_and_deep_for_recsys_pt1.ipynb
0 → 100644
浏览文件 @
2ef478cf
此差异已折叠。
点击以展开。
mkdocs/sources/examples/19_wide_and_deep_for_recsys_pt2.ipynb
0 → 100644
浏览文件 @
2ef478cf
此差异已折叠。
点击以展开。
mkdocs/sources/index.md
浏览文件 @
2ef478cf
此差异已折叠。
点击以展开。
mkdocs/sources/installation.md
浏览文件 @
2ef478cf
此差异已折叠。
点击以展开。
mkdocs/sources/pytorch-widedeep/model_components.md
浏览文件 @
2ef478cf
此差异已折叠。
点击以展开。
mkdocs/sources/pytorch-widedeep/preprocessing.md
浏览文件 @
2ef478cf
此差异已折叠。
点击以展开。
pytorch_widedeep/models/tabular/transformers/_attention_layers.py
浏览文件 @
2ef478cf
此差异已折叠。
点击以展开。
pytorch_widedeep/models/tabular/transformers/_encoders.py
浏览文件 @
2ef478cf
此差异已折叠。
点击以展开。
pytorch_widedeep/models/tabular/transformers/tab_transformer.py
浏览文件 @
2ef478cf
此差异已折叠。
点击以展开。
pytorch_widedeep/models/text/basic_transformer.py
浏览文件 @
2ef478cf
此差异已折叠。
点击以展开。
pytorch_widedeep/preprocessing/tab_preprocessor.py
浏览文件 @
2ef478cf
此差异已折叠。
点击以展开。
pytorch_widedeep/preprocessing/text_preprocessor.py
浏览文件 @
2ef478cf
此差异已折叠。
点击以展开。
pytorch_widedeep/utils/fastai_transforms.py
浏览文件 @
2ef478cf
此差异已折叠。
点击以展开。
pytorch_widedeep/utils/text_utils.py
浏览文件 @
2ef478cf
此差异已折叠。
点击以展开。
pytorch_widedeep/version.py
浏览文件 @
2ef478cf
此差异已折叠。
点击以展开。
tests/test_model_components/test_mc_attn_layers.py
0 → 100644
浏览文件 @
2ef478cf
此差异已折叠。
点击以展开。
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录