Bot releases are hidden (Show)
This is the 0.5.3 release of TensorFlow Ranking. We release a ranking distillation benchmark called RD-Suite that will accompany a research paper.
We also include a new ranking loss, YetiLogisticLoss: Adapted to neural network models from the Yeti loss implementation for GBDT.
Published by aijunbai over 1 year ago
This is the 0.5.2 release of TensorFlow Ranking. We fix bugs and make a few improvements to the library. We also update the API reference on www.tensorflow.org/ranking and on Github docs.
Published by lyyanlely almost 2 years ago
This is the 0.5.1 release of TensorFlow Ranking. We provide new ranking losses, metrics, layers, and pipeline based on the latest research progresses in Learning to Rank and Unbiased Ranking. We also update the API reference on www.tensorflow.org/ranking and on Github docs. The new changes include:
Dependencies: The following packages will be installed as required when installing tensorflow-ranking
.
tensorflow-serving-api>= 2.0.0, < 3.0.0
tensorflow>=2.7.0
.
Published by ramakumar1729 almost 3 years ago
This is the 0.5.0 release of TensorFlow Ranking. We provide a detailed overview, tutorial notebooks and API reference on www.tensorflow.org/ranking. The new changes are:
tf-models-official
package to reduce install time. Users of tfr.ext.task
or modules that depend on the above package will need to manually install it.Published by HongleiZhuang about 3 years ago
This is the 0.4.2 release of TensorFlow Ranking. The main changes are the TFR-BERT module based on the Orbit framework in tf-models, which facilitates users to write customized training loops. The new components are:
TFR-BERT in Orbit
RankingDataLoader
, which parses an ELWC formatted data record into tensorsRankingTask
, which specifies the behaviors of each training and evaluation step, as well as the training losses and evaluation metrics.RankingDataConfig
and RankingTaskConfig
to store configurations for above classes.TFRBertDataLoader
, which subclasses the RankingDataLoader
and further specifies the feature specs of a TFR-BERT model.TFRBertScorer
and TFRBertModelBuilder
, which defines a model builder that can create a TFR-BERT ranking model as a Keras model, based on tf-models’ implementation of BERT encoder.TFRBertTask
, which is a subclass of RankingTask
. It defines the build_model
behavior. It also defines the initialization
method which would load an pretrained BERT checkpoint to initialize the encoder. It also provides the function to output the prediction results along with query ids and document ids.TFRBertDataConfig
, TFRBertModelConfig
and TFRBertConfig
which stores configurations for above classes.Dependencies: The following packages will be installed as required when installing tensorflow-ranking
.
tf-models-official >= 2.5.0
tensorflow-serving-api>= 2.0.0, < 3.0.0
tensorflow==2.5.0
.Published by ramakumar1729 over 3 years ago
This release is one of the major releases for TF-Ranking. It provides full support to build and train a native Keras model for ranking problems. It includes necessary Keras layers for a ranking model, a module to construct a model in a flexible manner, and a pipeline to train a model with minimal boilerplate. To get started, please follow the example here. In addition, the new release adds RaggedTensor
support in losses and metrics and we provide a handy example to show how to use it in a ranking model.
The new components are listed below:
Keras Layers:
create_tower
function to create a feedforward neural network with batch normalization and dropout.GAMLayer
, a Keras layer which implements the neural generalized additive ranking model.DocumentInteractionAttention
layer to ensure SavedModel is restored correctly.ModelBuilder to build tf.keras.Model
using Functional API:
AbstractModelBuilder
class for users to inherit.ModelBuilder
class that wraps the boilerplate code to build tf.keras.Model
for a ranking model.InputCreator
abstract class to implement create_inputs
in ModelBuilder
.
FeatureSpecInputCreator
class to create inputs from feature_spec
s.TypeSpecInputCreator
class to create inputs from type_spec
s.Preprocessor
abstract class to implement preprocess
in ModelBuilder
.
PreprocessorWithSpec
class to do Keras preprocessing or feature transformations with functions specified in Specs.Scorer
abstract class to implement score
in ModelBuilder
.
UnivariateScorer
class to implement univariate scoring functions.
DNNScorer
class to implement fully connected DNN univariate scoring.GAMScorer
class to implement feature based GAM univariate scoring.Pipeline to wrap the boilerplate codes for training:
AbstractDatasetBuilder
abstract class to build and serve the dataset for training.BaseDatasetBuilder
class to build training and validation datasets and signatures for SavedModel from feature_spec
s.
SimpleDatasetBuilder
class to build datasets with a single label feature spec.MultiLabelDatasetBuilder
class to build datasets for multi-task learning.DatasetHparams
dataclass to specify all hyper-parameters used in BaseDatasetBuilder
class.AbstractPipeline
abstract class to train and validate the ranking tf.keras.Model
.ModelFitPipeline
class to train the ranking models using model.fit()
compatible with distribution strategies.
SimplePipeline
class for single-task training.MultiTaskPipeline
class for multi-task training.SimplePipeline
.PipelineHparams
dataclass to specify all hyper-parameters used in ModelFitPipeline
class.strategy_utils
helper module to support tf.distribute
strategies.RaggedTensor support in losses and metrics:
tfr.keras.losses
and metrics in tfr.keras.metrics
support to act on tf.RaggedTensor
inputs. To do so, set argument ragged=True
when defining the loss and metric objects:
loss = tf.keras.losses.SoftmaxLoss(name=’softmax_loss’, ragged=True)
get
to get the losses and metrics support ragged tensors: loss = tf.keras.losses.get(‘softmax_loss’, ragged=True)
model.fit()
with ragged inputs and outputs.Dependencies: The following packages will be installed as required when installing tensorflow-ranking
.
tf-models-official >= 2.5.0
tensorflow-serving-api>= 2.0.0, < 3.0.0
tensorflow==2.5.0
.
Published by ramakumar1729 over 3 years ago
This is the 0.3.3 release of TensorFlow Ranking. It depends on tf-models-official >= 2.4.0
and tensorflow-serving-api>= 2.0.0, < 3.0.0
. It is compatible with tensorflow==2.4.1
. All of these packages will be installed as required packages when installing tensorflow-ranking
.
The main changes in this release contain the Document Interaction Network (DIN) layer and layers for training Keras models using Functional API. The new components are listed below:
Document Interaction Network: See paper.
tfr.keras.layers.DocumentInteractionAttention
: A keras layer to model cross-document interactions. Applies cross-document attention across valid examples identified using a mask.Keras Layers: for easy transformation of context and example features and related utilities.
tfr.keras.layers.FlattenList
: Flattens the batch_size
dimension and the list_size
dimension for the example_features
and expands list_size
times for the context_features
.tfr.keras.layers.ConcatFeatures
: Concatenates context features and example features in a listwise manner.tfr.keras.layers.RestoreList
: Output layer to restore batch_size
dimension and list_size
dimension for the output shape of logits.Others
tfr.keras.metrics.get(metric_key)
: Add a get
metric factory for keras metrics.mask
tensor which indicates number of valid examples via mask_feature_name
argument in tfr.data._RankingDataParser
and all associated input data parsing and serving_input_fn
builders.Published by HongleiZhuang about 4 years ago
In the latest release of TensorFlow Ranking v0.3.2, we introduce TFR-BERT extension to better support ranking models for text data based on BERT. BERT is a pre-trained language representation model which has achieved substantial improvement over numerous NLP tasks. We find that fine-tuning BERT with ranking losses further improve the ranking performance (arXiv). You can read detailed information about what is included in TFR-BERT extension here. There is also an example showing how to use TFR-BERT here.
Published by HongleiZhuang over 4 years ago
This is the 0.3.1 release of TensorFlow Ranking. It depends on tensorflow-serving-api==2.1.0
and is fully compatible with tensorflow==2.2.0
. Both will be installed as required packages when installing tensorflow-ranking
.
The main changes in this release are canned Neural RankGAM estimator, canned DNN estimators, canned Neural RankGAM keras models and their examples. The new components are:
Neural RankGAM
make_gam_ranking_estimator
, which makes a canned estimator of a neural ranking generalized additive model. An example client to showcase the usage of make_gam_ranking_estimator
.
make_dnn_ranking_estimator
, which makes a canned estimator of a feed-forward neural network for ranking. An example client to showcase the usage of make_dnn_ranking_estimator
.
GAMRankingNetwork
, which encapsulates Neural RankGAM models in a keras ranking network. An example client to showcase the usage of GAMRankingNetwork
.
Keras
tfr.keras.feature.serialize_feature_columns
and tfr.keras.feature.deserialize_feature_columns
. RankingNetwork’s get_config
and from_config
methods rely on this.Published by ramakumar1729 over 4 years ago
This is the 0.3.0 release of TensorFlow Ranking. It depends on tensorflow-serving-api==2.1.0
and is fully compatible with tensorflow==2.1.0
. Both will be installed as required packages when installing tensorflow-ranking
.
The main changes in this release are related to the DNN Estimator Builder and Keras APIs.
A DNN Estimator Builder is available at tfr.estimator.make_dnn_ranking_estimator()
.
For Keras, we provide an example to showcase the use of Keras APIs to build ranking models , and a documentation providing step-by-step user instructions outlining the Keras user journey.
The new Keras components are:
Losses: Ranking losses in Keras object oriented loss format, along with a base class and a factory method. The APIs are:
tfr.keras.losses.get(loss_key)
tfr.keras.losses._RankingLoss
tfr.keras.losses.*
Metrics: Ranking metrics in Keras object oriented metric format, along with a base class and a default metrics getter method. The APIs are:
Feature Transformations: tfr.keras.feature.EncodeListwiseFeatures, to convert sparse ranking features to dense. The APIs are:
Ranking Network: Base classes for building Ranking Networks, which define scoring logic. The APIs are:
Premade Networks: We support premade architectures users can access out-of-the-box. The APIs are:
Keras Model : Ranking models can be built using Keras Functional Model API. The APIs are:
Integration with Estimators and RankingPipeline: Keras model can be converted to Estimator to use Estimator’s training utilities and is compatible with RankingPipeline. The APIs for conversion are:
Published by hanshuguang-google over 4 years ago
This is the 0.2.3 release of TensorFlow Ranking. It depends on tensorflow-serving-api==2.1.0
and is fully compatible with tensorflow==2.1.0
. Both will be installed as required packages when installing tensorflow-ranking
.
The main changes in this release are:
EstimatorBuilder
Class to encapsulate boilerplate codes when constructing a TF-ranking model Estimator
. Clients can access it via tfr.estimator.EstimatorBuilder
.RankingPipeline
Class to hide the boilerplate codes regarding the train and eval data reading, train and eval specs definition, dataset building, exporting strategies. With this, clients can construct a RankingPipeline
object using tfr.ext.pipeline.RankingPipeline
and then call train_and_eval()
to run the pipeline.tfr.ext.pipeline.RankingPipeline
.Published by ramakumar1729 over 4 years ago
This is the 0.2.2 release of TensorFlow Ranking. It depends on tensorflow-serving-api==2.1.0
and is fully compatible with tensorflow==2.1.0
. Both will be installed as required packages when installing tensorflow-ranking
.
The main changes in this release are:
Published by ramakumar1729 almost 5 years ago
This is the 0.2.1 release of TensorFlow Ranking. It depends on tensorflow-serving-api==2.0.0
and is fully compatible with tensorflow==2.0.0
. Both will be installed as required packages when installing tensorflow-ranking
.
The main changes in this release are:
ELWC
format.LIBSVM
generator from tfr.data
and updated the docs.NDCG
configurable.MAP
as a ranking metric.topn
parameter to MRR
metric.Published by xuanhuiwang almost 5 years ago
This is the 0.2.0 release of TensorFlow Ranking. It depends on tensorflow-serving-api>=2.0.0
and is fully compatible with tensorflow==2.0.0
. Both will be installed as required packages when installing tensorflow-ranking
.
There is no new functionality added compared with v0.1.6. This release marks a milestone that our future development will be based on TensorFlow 2.0.
Published by xuanhuiwang almost 5 years ago
This is the 0.1.6 release of TensorFlow Ranking. We add the dependency to tensorflow-serving-api
to use tensorflow.serving.ExampleListWithContext
as our input data format. It is tested and stable against TensorFlow 1.15.0 and TensorFlow 2.0.0. The main changes in this release are:
tensorflow.serving.ExampleListWithContext
as our input data format (commit). This is a more user-friendly format than the ExampleInExample
one.TFRecord
. The stored format can be ExampleListhWithContext
or other format defined in data.py.Published by ramakumar1729 about 5 years ago
This is the 0.1.5 release of TensorFlow Ranking. It is tested and stable against TensorFlow version 1.14.0 and TensorFlow version 2.0 RC0. The main changes in this release are:
input_size
argument for tfr.feature. encode_listwise_features
and infer it automatically in the function.Published by ramakumar1729 about 5 years ago
This is the 0.1.4 release of TensorFlow Ranking. It is tested and stable against TensorFlow version 1.14.0 and TensorFlow version 2.0 RC0. The main changes in this release are:
Announcement:
A hands-on tutorial for TF-Ranking, with relevant theoretical background will be presented on Oct 2 at ICTIR 2019, hosted in Santa Clara, CA. Please consider attending!
Published by ramakumar1729 over 5 years ago
This is the 0.1.3 release of TensorFlow Ranking. It is tested and stable against TensorFlow version 1.14.0. The main changes in this release are: