# TensorRec: A TensorFlow Recommendation Framework in Python

This repository profile is provided by osrepos.com, an open source repository discovery platform.

Source: osrepos.com
Repository profile: https://osrepos.com/repo/jfkirk-tensorrec
Generated for open source discovery and AI-assisted research.

TensorRec is a Python recommendation system built on TensorFlow, designed for quickly developing and customizing recommendation algorithms. It allows users to define custom representation and loss functions while handling data manipulation, scoring, and ranking. Although not under active development, it provides a solid foundation for understanding and implementing recommender systems.

GitHub: https://github.com/jfkirk/tensorrec
OSRepos URL: https://osrepos.com/repo/jfkirk-tensorrec

## Summary

TensorRec is a Python recommendation system built on TensorFlow, designed for quickly developing and customizing recommendation algorithms. It allows users to define custom representation and loss functions while handling data manipulation, scoring, and ranking. Although not under active development, it provides a solid foundation for understanding and implementing recommender systems.

## Topics

- framework
- machine-learning
- python
- recommendation-algorithm
- recommendation-system
- recommender-system
- tensorflow
- data-science

## Repository Information

Last analyzed by OSRepos: Sun May 17 2026 12:55:13 GMT+0100 (Western European Summer Time)
Detail views: 7
GitHub clicks: 18

## Safety Notice

OSRepos shares public repositories for knowledge and discovery only. Review source code, dependencies, licenses, and security implications before running or installing anything.

## Content

## Introduction
TensorRec is a powerful Python recommendation system built on TensorFlow, allowing developers to quickly create and customize recommendation algorithms. It provides a flexible framework where you can define your own representation or embedding functions and loss functions, while TensorRec efficiently manages the underlying data manipulation, scoring, and ranking processes to generate recommendations.

It's important to note that TensorRec is not under active development. However, the maintainer is open to reviewing pull requests, making it a valuable resource for learning and exploring TensorFlow-based recommender systems. A TensorRec system processes three key data inputs: `user_features`, `item_features`, and `interactions`, using them to learn and produce ranked recommendations.

## Installation
Getting started with TensorRec is straightforward. You can install it using pip:

bash
pip install tensorrec


## Examples
Here's a basic example demonstrating how to use TensorRec to build, fit, and evaluate a recommendation model:

python
import numpy as np
import tensorrec

# Build the model with default parameters
model = tensorrec.TensorRec()

# Generate some dummy data
interactions, user_features, item_features = tensorrec.util.generate_dummy_data(
    num_users=100,
    num_items=150,
    interaction_density=.05
)

# Fit the model for 5 epochs
model.fit(interactions, user_features, item_features, epochs=5, verbose=True)

# Predict scores and ranks for all users and all items
predictions = model.predict(user_features=user_features,
                            item_features=item_features)
predicted_ranks = model.predict_rank(user_features=user_features,
                                     item_features=item_features)

# Calculate and print the recall at 10
r_at_k = tensorrec.eval.recall_at_k(predicted_ranks, interactions, k=10)
print(np.mean(r_at_k))


## Why Use TensorRec?
TensorRec offers a flexible approach to building recommendation systems, allowing deep customization of core components like representation and loss functions. It abstracts away much of the boilerplate, enabling developers to focus on the algorithm's logic and experimentation.

While development is not active, its well-structured design and clear examples make it an excellent educational tool for understanding TensorFlow-based recommenders. For those seeking actively maintained alternatives, the project maintainer suggests exploring TensorFlow Ranking, Spotlight, or LightFM.

## Links
*   **GitHub Repository:** [jfkirk/tensorrec](https://github.com/jfkirk/tensorrec "TensorRec GitHub Repository")
*   **Official Wiki:** [TensorRec Wiki](https://github.com/jfkirk/tensorrec/wiki "TensorRec Wiki")
*   **Original Blog Post:** [A Recommendation Engine Framework in TensorFlow](https://medium.com/@jameskirk1/tensorrec-a-recommendation-engine-framework-in-tensorflow-d85e4f0874e8 "Original Blog Post on Medium")
*   **Introduction to Recommender Systems Slides:** [Architecting Recommender Systems](https://www.slideshare.net/JamesKirk58/boston-ml-architecting-recommender-systems "Slideshare Presentation")
*   **PyPI:** [tensorrec on PyPI](https://pypi.org/project/tensorrec/ "TensorRec on PyPI")