Convert Figma logo to code with AI

jtoy logoawesome-tensorflow

TensorFlow - A curated list of dedicated resources http://tensorflow.org

17,178
3,021
17,178
30

Top Related Projects

185,446

An Open Source Machine Learning Framework for Everyone

61,580

Deep Learning for humans

82,049

Tensors and Dynamic neural networks in Python with strong GPU acceleration

17,500

Microsoft Cognitive Toolkit (CNTK), an open source deep-learning toolkit

20,763

Lightweight, Portable, Flexible Distributed/Mobile Deep Learning with Dynamic, Mutation-aware Dataflow Dep Scheduler; for Python, R, Julia, Scala, Go, Javascript and more

29,761

Composable transformations of Python+NumPy programs: differentiate, vectorize, JIT to GPU/TPU, and more

Quick Overview

The jtoy/awesome-tensorflow repository is a curated list of TensorFlow resources, tools, and projects. It serves as a comprehensive collection of TensorFlow-related content, including tutorials, libraries, models, and applications. This repository aims to help developers, researchers, and enthusiasts find valuable resources for working with TensorFlow.

Pros

  • Extensive collection of TensorFlow resources in one place
  • Regularly updated with new content and contributions from the community
  • Well-organized into categories for easy navigation
  • Includes both official and community-created resources

Cons

  • May be overwhelming for beginners due to the large amount of information
  • Some links may become outdated over time
  • Quality of resources can vary, as it includes community contributions
  • Lacks detailed descriptions or reviews of individual resources

Getting Started

To use this awesome list:

  1. Visit the repository at https://github.com/jtoy/awesome-tensorflow
  2. Browse through the categories to find resources that interest you
  3. Click on the links to access the resources directly
  4. Consider starring the repository to easily find it later
  5. If you know of a great TensorFlow resource that's not listed, consider contributing by opening a pull request

Competitor Comparisons

185,446

An Open Source Machine Learning Framework for Everyone

Pros of tensorflow

  • Official repository with the most up-to-date source code and documentation
  • Comprehensive codebase with full implementation of TensorFlow framework
  • Active development and regular updates from Google and contributors

Cons of tensorflow

  • Large repository size, which can be overwhelming for beginners
  • Requires more technical knowledge to navigate and contribute
  • May contain experimental features that are not yet stable

Code comparison

tensorflow:

import tensorflow as tf

model = tf.keras.Sequential([
  tf.keras.layers.Dense(64, activation='relu'),
  tf.keras.layers.Dense(10, activation='softmax')
])

awesome-tensorflow:

# Awesome TensorFlow

A curated list of awesome TensorFlow experiments, libraries, and projects.

## What is TensorFlow?
TensorFlow is an open source software library for numerical computation...

Summary

tensorflow is the official repository for the TensorFlow framework, offering the complete source code and documentation. It's actively maintained by Google and the community, providing the most up-to-date features and improvements.

awesome-tensorflow, on the other hand, is a curated list of TensorFlow resources, projects, and experiments. It serves as a valuable reference for developers looking for TensorFlow-related content but doesn't contain the actual framework code.

While tensorflow is more suitable for those who want to work directly with the framework or contribute to its development, awesome-tensorflow is an excellent starting point for discovering TensorFlow projects and learning resources.

61,580

Deep Learning for humans

Pros of Keras

  • Actual deep learning framework with full implementation
  • Extensive documentation and tutorials for users
  • Large community and ecosystem of extensions/plugins

Cons of Keras

  • More complex to set up and use for beginners
  • Larger codebase to navigate and understand
  • May have performance overhead compared to raw TensorFlow

Code Comparison

Keras:

from keras.models import Sequential
from keras.layers import Dense

model = Sequential([
    Dense(32, input_shape=(784,), activation='relu'),
    Dense(10, activation='softmax')
])

Awesome TensorFlow:

# No direct code implementation
# Repository is a curated list of TensorFlow resources

Summary

Keras is a full-fledged deep learning framework built on top of TensorFlow, offering a high-level API for building and training neural networks. It provides a complete ecosystem for deep learning development.

Awesome TensorFlow, on the other hand, is a curated list of TensorFlow resources, tutorials, and tools. It doesn't provide any direct implementation but serves as a valuable reference for TensorFlow users.

While Keras offers a more comprehensive solution for deep learning projects, Awesome TensorFlow provides a collection of resources that can be beneficial for both beginners and experienced TensorFlow users looking for specific tools or tutorials.

82,049

Tensors and Dynamic neural networks in Python with strong GPU acceleration

Pros of PyTorch

  • More dynamic and flexible computational graph
  • Easier debugging and intuitive Python-like coding style
  • Stronger community support and faster-growing ecosystem

Cons of PyTorch

  • Slightly steeper learning curve for beginners
  • Fewer pre-trained models and tools compared to TensorFlow
  • Less support for production deployment and mobile/embedded devices

Code Comparison

PyTorch:

import torch

x = torch.tensor([1, 2, 3])
y = torch.tensor([4, 5, 6])
z = torch.add(x, y)

Awesome-TensorFlow (TensorFlow):

import tensorflow as tf

x = tf.constant([1, 2, 3])
y = tf.constant([4, 5, 6])
z = tf.add(x, y)

Summary

PyTorch offers a more dynamic and flexible approach to deep learning, with easier debugging and a Python-like coding style. It has gained significant popularity and community support in recent years. However, it may have a steeper learning curve for beginners and fewer pre-trained models compared to TensorFlow.

Awesome-TensorFlow, being a curated list of TensorFlow resources, provides access to a wide range of tools, models, and tutorials. TensorFlow itself offers better support for production deployment and mobile/embedded devices but may be less intuitive for some developers.

Both frameworks are powerful and widely used in the deep learning community, with the choice often depending on specific project requirements and personal preferences.

17,500

Microsoft Cognitive Toolkit (CNTK), an open source deep-learning toolkit

Pros of CNTK

  • Developed and maintained by Microsoft, ensuring enterprise-level support and reliability
  • Offers better performance for recurrent neural networks (RNNs) and long short-term memory (LSTM) networks
  • Provides native support for distributed training across multiple GPUs and machines

Cons of CNTK

  • Smaller community and ecosystem compared to TensorFlow
  • Less extensive documentation and tutorials available
  • Steeper learning curve for beginners in deep learning

Code Comparison

CNTK example:

import cntk as C

x = C.input_variable(2)
y = C.layers.Dense(1)(x)
z = C.sigmoid(y)

model = C.train.Trainer(z, (y, z), C.sgd(z.parameters, 0.1))

awesome-tensorflow example:

import tensorflow as tf

x = tf.placeholder(tf.float32, shape=[None, 2])
y = tf.layers.dense(x, 1)
z = tf.sigmoid(y)

model = tf.train.GradientDescentOptimizer(0.1).minimize(z)

Note: awesome-tensorflow is not a framework but a curated list of TensorFlow resources. The code example provided is for TensorFlow itself.

20,763

Lightweight, Portable, Flexible Distributed/Mobile Deep Learning with Dynamic, Mutation-aware Dataflow Dep Scheduler; for Python, R, Julia, Scala, Go, Javascript and more

Pros of MXNet

  • Full-fledged deep learning framework with comprehensive documentation
  • Supports multiple programming languages (Python, C++, R, Julia, etc.)
  • Highly scalable for distributed training on multiple GPUs/machines

Cons of MXNet

  • Steeper learning curve compared to curated resource lists
  • Requires more setup and configuration for beginners
  • Less focused on TensorFlow-specific resources and tutorials

Code Comparison

MXNet example:

import mxnet as mx
from mxnet import nd, autograd, gluon

# Define and train a simple neural network
net = gluon.nn.Sequential()
net.add(gluon.nn.Dense(10, activation='relu'))
net.add(gluon.nn.Dense(2))
net.initialize()

trainer = gluon.Trainer(net.collect_params(), 'sgd', {'learning_rate': 0.1})

Awesome TensorFlow (no code, as it's a curated list):

# Awesome TensorFlow

A curated list of awesome TensorFlow experiments, libraries, and projects.

## What is TensorFlow?
TensorFlow is an open source software library for numerical computation...

## Contents
- [Tutorials](#tutorials)
- [Models/Projects](#models-projects)
- [Libraries](#libraries)
29,761

Composable transformations of Python+NumPy programs: differentiate, vectorize, JIT to GPU/TPU, and more

Pros of JAX

  • More flexible and composable than TensorFlow, allowing for easier customization of models and training loops
  • Faster compilation and execution times, especially for complex models and large datasets
  • Better support for automatic differentiation and vectorization

Cons of JAX

  • Smaller ecosystem and fewer pre-built models compared to TensorFlow's extensive library
  • Steeper learning curve for developers not familiar with functional programming concepts
  • Less comprehensive documentation and tutorials for beginners

Code Comparison

JAX:

import jax.numpy as jnp
from jax import grad, jit

def loss(params, x, y):
    return jnp.sum((params[0] * x + params[1] - y) ** 2)

grad_loss = jit(grad(loss))

TensorFlow:

import tensorflow as tf

def loss(params, x, y):
    return tf.reduce_sum(tf.square(params[0] * x + params[1] - y))

grad_loss = tf.function(lambda p, x, y: tf.gradients(loss(p, x, y), p))

Both examples show a simple linear regression loss function and its gradient computation. JAX's syntax is more concise and uses NumPy-like operations, while TensorFlow relies on its own operations and requires explicit function decoration for optimization.

Convert Figma logo designs to code with AI

Visual Copilot

Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.

Try Visual Copilot

README

Awesome TensorFlow Awesome

A curated list of awesome TensorFlow experiments, libraries, and projects. Inspired by awesome-machine-learning.

What is TensorFlow?

TensorFlow is an open source software library for numerical computation using data flow graphs. In other words, the best way to build deep learning models.

More info here.

Table of Contents

Tutorials

Models/Projects

Powered by TensorFlow

  • YOLO TensorFlow - Implementation of 'YOLO : Real-Time Object Detection'
  • android-yolo - Real-time object detection on Android using the YOLO network, powered by TensorFlow.
  • Magenta - Research project to advance the state of the art in machine intelligence for music and art generation

Libraries

  • TensorFlow Estimators - high-level TensorFlow API that greatly simplifies machine learning programming (originally tensorflow/skflow)
  • R Interface to TensorFlow - R interface to TensorFlow APIs, including Estimators, Keras, Datasets, etc.
  • Lattice - Implementation of Monotonic Calibrated Interpolated Look-Up Tables in TensorFlow
  • tensorflow.rb - TensorFlow native interface for ruby using SWIG
  • tflearn - Deep learning library featuring a higher-level API
  • TensorLayer - Deep learning and reinforcement learning library for researchers and engineers
  • TensorFlow-Slim - High-level library for defining models
  • TensorFrames - TensorFlow binding for Apache Spark
  • TensorForce - TensorForce: A TensorFlow library for applied reinforcement learning
  • TensorFlowOnSpark - initiative from Yahoo! to enable distributed TensorFlow with Apache Spark.
  • caffe-tensorflow - Convert Caffe models to TensorFlow format
  • keras - Minimal, modular deep learning library for TensorFlow and Theano
  • SyntaxNet: Neural Models of Syntax - A TensorFlow implementation of the models described in Globally Normalized Transition-Based Neural Networks, Andor et al. (2016)
  • keras-js - Run Keras models (tensorflow backend) in the browser, with GPU support
  • NNFlow - Simple framework allowing to read-in ROOT NTuples by converting them to a Numpy array and then use them in Google Tensorflow.
  • Sonnet - Sonnet is DeepMind's library built on top of TensorFlow for building complex neural networks.
  • tensorpack - Neural Network Toolbox on TensorFlow focusing on training speed and on large datasets.
  • tf-encrypted - Layer on top of TensorFlow for doing machine learning on encrypted data
  • pytorch2keras - Convert PyTorch models to Keras (with TensorFlow backend) format
  • gluon2keras - Convert Gluon models to Keras (with TensorFlow backend) format
  • TensorIO - Lightweight, cross-platform library for deploying TensorFlow Lite models to mobile devices.
  • StellarGraph - Machine Learning on Graphs, a Python library for machine learning on graph-structured (network-structured) data.
  • DeepBay - High-Level Keras Complement for implement common architectures stacks, served as easy to use plug-n-play modules
  • Tensorflow-Probability - Probabalistic programming built on TensorFlow that makes it easy to combine probabilistic models and deep learning on modern hardware.
  • TensorLayerX - TensorLayerX: A Unified Deep Learning Framework for All Hardwares, Backends and OS, including TensorFlow.

Tools/Utilities

  • Speedster - Automatically apply SOTA optimization techniques to achieve the maximum inference speed-up on your hardware.
  • Guild AI - Task runner and package manager for TensorFlow
  • ML Workspace - All-in-one web IDE for machine learning and data science. Combines Tensorflow, Jupyter, VS Code, Tensorboard, and many other tools/libraries into one Docker image.
  • create-tf-app - Project builder command line tool for Tensorflow covering environment management, linting, and logging.

Videos

Papers

Official announcements

Blog posts

Community

Books

  • Machine Learning with TensorFlow by Nishant Shukla, computer vision researcher at UCLA and author of Haskell Data Analysis Cookbook. This book makes the math-heavy topic of ML approachable and practicle to a newcomer.
  • First Contact with TensorFlow by Jordi Torres, professor at UPC Barcelona Tech and a research manager and senior advisor at Barcelona Supercomputing Center
  • Deep Learning with Python - Develop Deep Learning Models on Theano and TensorFlow Using Keras by Jason Brownlee
  • TensorFlow for Machine Intelligence - Complete guide to use TensorFlow from the basics of graph computing, to deep learning models to using it in production environments - Bleeding Edge Press
  • Getting Started with TensorFlow - Get up and running with the latest numerical computing library by Google and dive deeper into your data, by Giancarlo Zaccone
  • Hands-On Machine Learning with Scikit-Learn and TensorFlow – by Aurélien Geron, former lead of the YouTube video classification team. Covers ML fundamentals, training and deploying deep nets across multiple servers and GPUs using TensorFlow, the latest CNN, RNN and Autoencoder architectures, and Reinforcement Learning (Deep Q).
  • Building Machine Learning Projects with Tensorflow – by Rodolfo Bonnin. This book covers various projects in TensorFlow that expose what can be done with TensorFlow in different scenarios. The book provides projects on training models, machine learning, deep learning, and working with various neural networks. Each project is an engaging and insightful exercise that will teach you how to use TensorFlow and show you how layers of data can be explored by working with Tensors.
  • Deep Learning using TensorLayer - by Hao Dong et al. This book covers both deep learning and the implmentation by using TensorFlow and TensorLayer.
  • TensorFlow 2.0 in Action - by Thushan Ganegedara. This practical guide to building deep learning models with the new features of TensorFlow 2.0 is filled with engaging projects, simple language, and coverage of the latest algorithms.
  • Probabilistic Programming and Bayesian Methods for Hackers - by Cameron Davidson-Pilon. Introduction to Bayesian methods and probabalistic graphical models using tensorflow-probability (and, alternatively PyMC2/3).

Contributions

Your contributions are always welcome!

If you want to contribute to this list (please do), send me a pull request or contact me @jtoy Also, if you notice that any of the above listed repositories should be deprecated, due to any of the following reasons:

  • Repository's owner explicitly say that "this library is not maintained".
  • Not committed for long time (2~3 years).

More info on the guidelines

Credits