Skip to content

Commit 7ab8bc6

Browse files
author
浅梦
authored
v0.8.1 release (#276)
- Improve the reproducibility - Fix some bugs
1 parent 62d2afc commit 7ab8bc6

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

55 files changed

+229
-254
lines changed

.github/workflows/ci.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ jobs:
1818
strategy:
1919
matrix:
2020
python-version: [3.6,3.7]
21-
tf-version: [1.4.0,1.15.0,2.1.0,2.2.0]
21+
tf-version: [1.4.0,1.15.0,2.1.0,2.3.0]
2222

2323
exclude:
2424
- python-version: 3.7

README.md

Lines changed: 18 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -53,12 +53,28 @@ Let's [**Get Started!**](https://deepctr-doc.readthedocs.io/en/latest/Quick-Star
5353
| FiBiNET | [RecSys 2019][FiBiNET: Combining Feature Importance and Bilinear feature Interaction for Click-Through Rate Prediction](https://arxiv.org/pdf/1905.09433.pdf) |
5454
| FLEN | [arxiv 2019][FLEN: Leveraging Field for Scalable CTR Prediction](https://arxiv.org/pdf/1911.04690.pdf) |
5555

56+
## Citation
5657

58+
- Weichen Shen. (2018). DeepCTR: Easy-to-use,Modular and Extendible package of deep-learning based CTR models. https://github.com/shenweichen/deepctr.
5759

58-
## DisscussionGroup
60+
61+
If you find this code useful in your research, please cite it using the following BibTeX:
62+
63+
```bibtex
64+
@misc{shen2018deepctr,
65+
author = {Weichen Shen},
66+
title = {DeepCTR: Easy-to-use,Modular and Extendible package of deep-learning based CTR models},
67+
year = {2018},
68+
publisher = {GitHub},
69+
journal = {GitHub Repository},
70+
howpublished = {\url{https://github.com/shenweichen/deepctr}},
71+
}
72+
```
73+
74+
## DisscussionGroup 交流群
5975

6076
Please follow our wechat to join group:
6177
- 公众号:**浅梦的学习笔记**
6278
- wechat ID: **deepctrbot**
6379

64-
![wechat](./docs/pics/weichennote.png)
80+
![wechat](./docs/pics/code.png)

deepctr/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
from .utils import check_version
22

3-
__version__ = '0.8.0'
3+
__version__ = '0.8.1'
44
check_version(__version__)

deepctr/estimator/inputs.py

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,10 @@ def input_fn_tfrecord(filenames, feature_description, label=None, batch_size=256
2323
shuffle_factor=10, prefetch_factor=1,
2424
):
2525
def _parse_examples(serial_exmp):
26-
features = tf.parse_single_example(serial_exmp, features=feature_description)
26+
try:
27+
features = tf.parse_single_example(serial_exmp, features=feature_description)
28+
except AttributeError:
29+
features = tf.io.parse_single_example(serial_exmp, features=feature_description)
2730
if label is not None:
2831
labels = features.pop(label)
2932
return features, labels
@@ -39,8 +42,10 @@ def input_fn():
3942

4043
if prefetch_factor > 0:
4144
dataset = dataset.prefetch(buffer_size=batch_size * prefetch_factor)
42-
43-
iterator = dataset.make_one_shot_iterator()
45+
try:
46+
iterator = dataset.make_one_shot_iterator()
47+
except AttributeError:
48+
iterator = tf.compat.v1.data.make_one_shot_iterator(dataset)
4449

4550
return iterator.get_next()
4651

deepctr/estimator/models/autoint.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -77,15 +77,15 @@ def _model_fn(features, labels, mode, config):
7777
dnn_use_bn, seed)(dnn_input, training=train_flag)
7878
stack_out = tf.keras.layers.Concatenate()([att_output, deep_out])
7979
final_logit = tf.keras.layers.Dense(
80-
1, use_bias=False, activation=None)(stack_out)
80+
1, use_bias=False, kernel_initializer=tf.keras.initializers.glorot_normal(seed))(stack_out)
8181
elif len(dnn_hidden_units) > 0: # Only Deep
8282
deep_out = DNN(dnn_hidden_units, dnn_activation, l2_reg_dnn, dnn_dropout,
8383
dnn_use_bn, seed)(dnn_input, training=train_flag)
8484
final_logit = tf.keras.layers.Dense(
85-
1, use_bias=False, activation=None)(deep_out)
85+
1, use_bias=False, kernel_initializer=tf.keras.initializers.glorot_normal(seed))(deep_out)
8686
elif att_layer_num > 0: # Only Interacting Layer
8787
final_logit = tf.keras.layers.Dense(
88-
1, use_bias=False, activation=None)(att_output)
88+
1, use_bias=False, kernel_initializer=tf.keras.initializers.glorot_normal(seed))(att_output)
8989
else: # Error
9090
raise NotImplementedError
9191

deepctr/estimator/models/ccpm.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,7 @@ def _model_fn(features, labels, mode, config):
8282
flatten_result = tf.keras.layers.Flatten()(pooling_result)
8383
dnn_out = DNN(dnn_hidden_units, l2_reg=l2_reg_dnn,
8484
dropout_rate=dnn_dropout, seed=seed)(flatten_result, training=train_flag)
85-
dnn_logit = tf.keras.layers.Dense(1, use_bias=False)(dnn_out)
85+
dnn_logit = tf.keras.layers.Dense(1, use_bias=False, kernel_initializer=tf.keras.initializers.glorot_normal(seed))(dnn_out)
8686

8787
logits = linear_logits + dnn_logit
8888

deepctr/estimator/models/dcn.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -68,16 +68,16 @@ def _model_fn(features, labels, mode, config):
6868
cross_out = CrossNet(cross_num, l2_reg=l2_reg_cross)(dnn_input)
6969
stack_out = tf.keras.layers.Concatenate()([cross_out, deep_out])
7070
final_logit = tf.keras.layers.Dense(
71-
1, use_bias=False, activation=None)(stack_out)
71+
1, use_bias=False, kernel_initializer=tf.keras.initializers.glorot_normal(seed))(stack_out)
7272
elif len(dnn_hidden_units) > 0: # Only Deep
7373
deep_out = DNN(dnn_hidden_units, dnn_activation, l2_reg_dnn, dnn_dropout,
7474
dnn_use_bn, seed)(dnn_input, training=train_flag)
7575
final_logit = tf.keras.layers.Dense(
76-
1, use_bias=False, activation=None)(deep_out)
76+
1, use_bias=False, kernel_initializer=tf.keras.initializers.glorot_normal(seed))(deep_out)
7777
elif cross_num > 0: # Only Cross
7878
cross_out = CrossNet(cross_num, l2_reg=l2_reg_cross)(dnn_input)
7979
final_logit = tf.keras.layers.Dense(
80-
1, use_bias=False, activation=None)(cross_out)
80+
1, use_bias=False, kernel_initializer=tf.keras.initializers.glorot_normal(seed))(cross_out)
8181
else: # Error
8282
raise NotImplementedError
8383

deepctr/estimator/models/deepfm.py

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,6 @@
1010

1111
import tensorflow as tf
1212

13-
from tensorflow.python.keras.initializers import glorot_normal
14-
1513
from ..feature_column import get_linear_logit, input_from_feature_columns
1614
from ..utils import deepctr_model_fn, DNN_SCOPE_NAME, variable_scope
1715
from ...layers.core import DNN
@@ -68,7 +66,7 @@ def _model_fn(features, labels, mode, config):
6866
dnn_output = DNN(dnn_hidden_units, dnn_activation, l2_reg_dnn, dnn_dropout,
6967
dnn_use_bn, seed)(dnn_input, training=train_flag)
7068
dnn_logit = tf.keras.layers.Dense(
71-
1, use_bias=False, activation=None, kernel_initializer=glorot_normal(seed=seed))(dnn_output)
69+
1, use_bias=False, kernel_initializer=tf.keras.initializers.glorot_normal(seed=seed))(dnn_output)
7270

7371
logits = linear_logits + fm_logit + dnn_logit
7472

deepctr/estimator/models/fibinet.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,7 @@ def _model_fn(features, labels, mode, config):
7171
dnn_out = DNN(dnn_hidden_units, dnn_activation, l2_reg_dnn, dnn_dropout,
7272
False, seed)(dnn_input, training=train_flag)
7373
dnn_logit = Dense(
74-
1, use_bias=False, activation=None)(dnn_out)
74+
1, use_bias=False, kernel_initializer=tf.keras.initializers.glorot_normal(seed))(dnn_out)
7575

7676
logits = linear_logits + dnn_logit
7777

deepctr/estimator/models/fnn.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ def _model_fn(features, labels, mode, config):
5656
deep_out = DNN(dnn_hidden_units, dnn_activation, l2_reg_dnn,
5757
dnn_dropout, False, seed)(dnn_input, training=train_flag)
5858
dnn_logit = tf.keras.layers.Dense(
59-
1, use_bias=False, activation=None)(deep_out)
59+
1, use_bias=False, kernel_initializer=tf.keras.initializers.glorot_normal(seed))(deep_out)
6060

6161
logits = linear_logits + dnn_logit
6262

0 commit comments

Comments
 (0)