(self, feature_columns, include_sparse=True, include_dense=True)
| 54 | self.dnn_linear = nn.Linear(dnn_hidden_units[-1], 1, bias=False).to(device) |
| 55 | |
| 56 | def compute_input_dim(self, feature_columns, include_sparse=True, include_dense=True): |
| 57 | sparse_feature_columns = list( |
| 58 | filter(lambda x: isinstance(x, (SparseFeat, VarLenSparseFeat)), feature_columns)) if len( |
| 59 | feature_columns) else [] |
| 60 | dense_feature_columns = list( |
| 61 | filter(lambda x: isinstance(x, DenseFeat), feature_columns)) if len(feature_columns) else [] |
| 62 | field_size = len(sparse_feature_columns) |
| 63 | |
| 64 | dense_input_dim = sum(map(lambda x: x.dimension, dense_feature_columns)) |
| 65 | embedding_size = sparse_feature_columns[0].embedding_dim |
| 66 | sparse_input_dim = field_size * (field_size - 1) * embedding_size |
| 67 | input_dim = 0 |
| 68 | |
| 69 | if include_sparse: |
| 70 | input_dim += sparse_input_dim |
| 71 | if include_dense: |
| 72 | input_dim += dense_input_dim |
| 73 | |
| 74 | return input_dim |
| 75 | |
| 76 | def forward(self, X): |
| 77 | sparse_embedding_list, dense_value_list = self.input_from_feature_columns(X, self.dnn_feature_columns, |
no outgoing calls
no test coverage detected