✨🧠 The ecosystem that has grown up around @TensorFlow in the last few years blows my mind. There's just so much functionality, compared to some of the other, newer frameworks.
👉Consider this an ever-expanding thread for me to take notes + wrap my brain around products. Ready?
1) @TensorFlow Extended (TFX)
It's no secret that I 💕 #TFX and all of its tooling for deploying machine learning models into production. If you care about keeping your models up-to-date and monitoring them, you should check out the product + its paper.
tensorflow.org/tfx/?hl=zh-cn
2) @TensorFlow Hub
If you want to train your model on a small data set, or improve generalization, you'll need to use something called transfer learning. #TFHub modules make it easy—and are available in an #OSS marketplace: tfhub.dev.
site: tensorflow.org/hub/
3) #TFX - Data Validation
How can you automatically ensure that the data being used to retrain your model is of the same format, source, naming conventions, etc., as the data that was used to train your model initially?
For online training, this is huge!
tensorflow.org/tfx/data_valid…
4) #TFX - @TensorFlow Transform
On a similar vein, you'll probably want to automatically preprocess the data you use to retrain: nprmalizing specific features, converting strings to a numeric value, etc. Transform does this for single examples + batches.
tensorflow.org/tfx/transform/…
5) #TFX - Model Analysis
⚖️ My favorite use case for @TensorFlow Model Analysis is to check for any potential ethical issues in my model's input data or in its inferencing. You can interrogate data to ensure that no groups are being negatively impacted.
tensorflow.org/tfx/model_anal…
6) #TFX - Serving
Serving makes it easy to deploy new algorithms + experiments, but keep the same server architecture+APIs. It works out of the box with @TensorFlow and can support other models, as well.
(@JeremiahHarmsen et al own it - go say hi! 😊)
tensorflow.org/serving/?hl=zh…
7) @TensorBoard
A ridiculousy cool visualization tool that comes out-of-the-box with @TensorFlow. #TensorBoard visualizes logs that are collected as your model runs; and has dashboards for scalars, histograms, distributions, graphs, images, audio, more.
tensorflow.org/guide/summarie…
8) @TensorFlow Lite (#TFLite)
🤳Allows you to deploy models on mobile + embedded devices. If you've seen the nifty @Android apps that detect diseases on plant leaves, or tiny @Raspberry_Pi-equipped robots with #AI skills, they're probably using #TFLite.
tensorflow.org/lite/
9) @TensorFlowJS
This is a #JavaScript library for training and deploying ML models in the browser and on Node.js. If you've used and loved @TensorFlow Playground, or the #GAN playground, #tfjs is behind both of 'em.
Its team is amazing, as well! 💕
js.tensorflow.org
10) #Swift for @TensorFlow
Swift for @TensorFlow catches type errors and shape mismatches before running your code, and has Automatic Differentiation built in. It gives you eager execution, and *much* better usability.
I need to play with this more...
tensorflow.org/swift/
11) #Keras
#Keras is now embedded within @TensorFlow as tf.keras, which means that if you don't want to poke around in low-level weeds, you can still implement graphs + build models with the user-friendliness of a high-level API. 😊
More coming in 2.0!
tensorflow.org/guide/keras
12) Tensor2Tensor
I 💕 this.
#Tensor2Tensor is an #OSS library of deep learning models and datasets designed to make deep learning more accessible and accelerate ML research. It also offers a high-level guide for when to deploy those models, and why.
github.com/tensorflow/ten…
13) XLA (Accelerated Linear Algebra)
XLA is a domain-specific compiler for linear algebra that optimizes @TensorFlow computations. The results are improvements in speed, memory use, portability on server + mobile platforms.
Psst, hardware accelerators!
tensorflow.org/xla/
14) Edge TPUs
Small ASICs that provide high performance machine learning inferencing for low-power #IoT devices. For example: edge TPUs can execute state-of-the-art mobile vision models such as MobileNet V2 at 100+ fps, in a power efficient manner.
cloud.google.com/edge-tpu/
15) Magenta 👩🎤
As a musician, Magenta makes me so dang happy.
You can map 8-button input to a full 88-key piano; automatically create melodic accompaniments; use machine learning to display visuals for music; transcribe tunes; generate new sounds; more.
magenta.tensorflow.org
16) 🌱Seedbank
This also doesn't get talked about *nearly* enough.
Seedbank is an ever-expanding collection of interactive machine learning examples that you can use, modify, experiment with, and grow to meet your needs+use case. research.google.com/seedbank/
17) 📒@GoogleColab
😀Okay, so they're not specific to @TensorFlow - but this is such a wonderful tool that I'd be remiss not to mention it! Interactive #Python notebooks, free to use - and you can toggle between CPU/GPU/TPU or local/remote backends!
18) @TensorFlow Probability
#DeepLearning is great, but, as a data scientist, you'll probably want to encode domain specific knowledge to inform your models: Monte Carlo, variational inferencing, Bayesian techniques, vector-quantized autoencoders, more.
tensorflow.org/probability/
19) Model Garden 🌻
There's also this crazypants **huge** collection of models that have been open-sourced by @GoogleAI and the @TensorFlow community, including samples and code snippets. Everything from boosted trees to neural program synthesis. 😳
github.com/tensorflow/mod…
20) 🤖 Dopamine
A rad, easily-grokkable framework for prototyping reinforcement learning algorithms. Focus areas: easy experimentation, flexibility, reliability, and reproducibility.
(Note: not an official @Google product!)
github.com/google/dopamine
21) 🧬Nucleus
Nucleus is a library of Python and C++ code designed to make it easy to read, write and analyze data in common genomics file formats like SAM or VCF. It also offers painless integration with @TensorFlow / tfrecords.
github.com/google/nucleus
22) @TensorFlow Research Cloud (TFRC)
A cluster of 1,000 @GoogleCloud TPUs that provides the machine learning research community with a total of 180 petaflops of raw compute power — at no charge, free, $0 — to support the next wave of breakthroughs.
tensorflow.org/tfrc/
23) @TensorFlow Community
👫 Not a specific product, but vital for a healthy ecosystem.
@GoogleAI's new focus on community - spearheaded by @Edd - features mailing lists, a social media presence, special interest groups, & direct input for new / changing features in TensorFlow.
24) 📰 @TensorFlow Documentation
Did you know all of our docs have been placed on @GitHub? Contributions and suggestions from the community are welcome! Go ping @billylamberta et al for how to get started. 😊
Style guide: tensorflow.org/community/docu…
Issues: github.com/tensorflow/ten…
25) @TensorFlow with #rstats
@fly_upside_down, @rstudio, & @fchollet have created an R interface for developers. It uses high-level #Keras + Estimator APIs; and gives more control when you need to tweak networks at a lower level.
There's even a book! 📕
tensorflow.rstudio.com
26) AdaNet
Algorithms for adaptively learning the structure of / optimizing the weights for deep neural networks. If you want to learn more about automated machine learning internals, its tutorials are a great place to start!
🧠github.com/tensorflow/ada…
📰arxiv.org/abs/1607.01097
27) 🔍 Lucid
Interpretability—being able to explain why DNNs make the decisions they do—is *vital* for ethical machine learning and for the application of deep learning to high-consequence use cases.
📒 @GoogleColab tutorials, code, @distillpub articles: github.com/tensorflow/luc…
28) Testing with Concept Activation Vectors
A similar vein: most interpretability methods show importance weights in each input feature (e.g, pixel). TCAV instead shows importance of high level concepts (e.g., color, gender, race)—how humans communicate.
github.com/tensorflow/tcav
⚖️ PS: if you're interested in ensuring your algorithms are behaving in an ethical manner, I highly recommend taking @GoogleAI's 70min fairness in machine learning crash course:
📚developers.google.com/machine-learni…
👫Be sure to check out the PAIR project, as well: ai.google/research/teams…
29) 🐎cleverhans
If your models are only as good as their input data, bad actors can strike by manipulating or contaminating it. Enter cleverhans, @goodfellow_ian's library for benchmarking vulnerability to adversarial attacks!
👉github.com/tensorflow/cle…
🎼Want to be sure to mention this #Magenta project:
You've heard of OCR—automatically detecting alphanumeric characters in images. This is the same concept applied to sheet music: notes are automatically transcribed into a structured format (MusicXML) 🎶
github.com/tensorflow/moo…
30) 🛠️#Rust + #Haskell Bindings and a C# API
I mentioned #rstats support, and want to make sure to mention these other community-driven projects, as well. (TensorFlowSharp was created by @migueldeicaza! 😊)
github.com/tensorflow/rust
github.com/tensorflow/has…
github.com/migueldeicaza/…
📊 For an excellent overview of getting started with @TensorFlow #DataValidation - inferring schemas, checking data drift and skew, etc. - check out this blogpost: medium.com/tensorflow/int…
📒 The team has also released an example @ProjectJupyter notebook: github.com/tensorflow/dat…
📈 Note: the package is pip-installable, and can be used for many kinds of data quality checks - even outside of @TensorFlow machine learning experiments.
Two common use-cases within ML pipelines: (1) validation of continuously arriving data; (2) training/serving skew detection.
✨📊 The free #dataviz tool you see displayed here is called Facets, and was created by People & AI Research (PAIR).
💡Its motivation is to help machine learning and data science practitioners build better models by understanding patterns in their data.
pair-code.github.io/facets/
✨🥁 If you have a hankering to experiment with @TensorFlowJS in a friendly setting, try @codepen! Fork interesting examples, riff on their HTML / CSS / #JavaScript, reshare.
This example is powered by the Drums RNN model from @GoogleAI's Magenta project: codepen.io/teropa/details…
31) TF-Ranking
A @TensorFlow library focused on ordering lists of items to maximize list utility.
Supports pairwise or listwise loss functions, multi-item scoring, ranking metric optimization, and unbiased learning-to-rank!
👩💻 ai.googleblog.com/2018/12/tf-ran…
📊 github.com/tensorflow/ran…
32) Mesh
If you need batch splitting (data-parallel training), you probably don't need Mesh; but if you do intense distributed deep learning (ex: 5 billion parameters; a large # of activations that can't fit on one device; etc.), you should check it out!
33) 🤫 @TensorFlow Privacy
#Python library that includes implementations of optimizers for training machine learning models with differential privacy.
🔐 The library includes tutorials and analysis tools for computing the privacy guarantees provided.
github.com/tensorflow/pri…
Share this Scrolly Tale with your friends.
A Scrolly Tale is a new way to read Twitter threads with a more visually immersive experience.
Discover more beautiful Scrolly Tales like this.