|
| 1 | +import os |
| 2 | + |
1 | 3 | import numpy as np |
2 | 4 | import pandas as pd |
3 | 5 | import torch |
4 | 6 | from sklearn.preprocessing import LabelEncoder |
5 | | -from tensorflow.python.keras.preprocessing.sequence import pad_sequences |
| 7 | + |
| 8 | +try: |
| 9 | + from tensorflow.keras.preprocessing.sequence import pad_sequences |
| 10 | +except Exception: |
| 11 | + def pad_sequences(sequences, maxlen=None, dtype='int32', padding='pre', truncating='pre', value=0): |
| 12 | + if maxlen is None: |
| 13 | + maxlen = max(len(seq) for seq in sequences) |
| 14 | + x = np.full((len(sequences), maxlen), value, dtype=dtype) |
| 15 | + for idx, seq in enumerate(sequences): |
| 16 | + if truncating == 'pre': |
| 17 | + trunc = seq[-maxlen:] |
| 18 | + else: |
| 19 | + trunc = seq[:maxlen] |
| 20 | + trunc = np.asarray(trunc, dtype=dtype) |
| 21 | + if padding == 'post': |
| 22 | + x[idx, :len(trunc)] = trunc |
| 23 | + else: |
| 24 | + x[idx, -len(trunc):] = trunc |
| 25 | + return x |
6 | 26 |
|
7 | 27 | from deepctr_torch.inputs import SparseFeat, VarLenSparseFeat, get_feature_names |
8 | 28 | from deepctr_torch.models import DeepFM |
@@ -64,4 +84,6 @@ def split(x): |
64 | 84 | model = DeepFM(linear_feature_columns, dnn_feature_columns, task='regression', device=device) |
65 | 85 |
|
66 | 86 | model.compile("adam", "mse", metrics=['mse'], ) |
67 | | - history = model.fit(model_input, data[target].values, batch_size=256, epochs=10, verbose=2, validation_split=0.2) |
| 87 | + epochs = int(os.getenv("DEEPCTR_EXAMPLE_EPOCHS", "10")) |
| 88 | + history = model.fit(model_input, data[target].values, batch_size=256, epochs=epochs, verbose=2, |
| 89 | + validation_split=0.2) |
0 commit comments