def _get_sequence_dense_tensor_state(column, features): state_manager = fc._StateManagerImpl(fc_lib.DenseFeatures(column), trainable=True) column.create_state(state_manager) dense_tensor, lengths = column.get_sequence_dense_tensor( fc.FeatureTransformationCache(features), state_manager) return dense_tensor, lengths, state_manager
def fc2_implements_resources(): """Returns true if imported TF version implements resources for FCv2.""" if not hasattr(feature_column_v2, "DenseColumn"): return False if not hasattr(feature_column_v2, "_StateManagerImpl"): return False state_manager = feature_column_v2._StateManagerImpl( # pylint: disable=protected-access layer=None, trainable=False) try: state_manager.add_resource("COLUMN_DUMMY", "RESOURCE_DUMMY", True) except NotImplementedError: return False return True
def __init__(self, feature_columns, expected_column_type, trainable, name, partitioner=None, **kwargs): super(_BaseFeaturesLayer, self).__init__( name=name, trainable=trainable, **kwargs) self._feature_columns = feature_column_v2._normalize_feature_columns( # pylint: disable=protected-access feature_columns) self._state_manager = feature_column_v2._StateManagerImpl( # pylint: disable=protected-access self, self.trainable) self._partitioner = partitioner for column in self._feature_columns: if not isinstance(column, expected_column_type): raise ValueError( 'Items of feature_columns must be a {}. ' 'You can wrap a categorical column with an ' 'embedding_column or indicator_column. Given: {}'.format( expected_column_type, column))