Awesome TensorFlow
TensorFlowを扱う資料や関連プロジェクトをまとめたAwesomeリストです。
目次
チュートリアル
- TensorFlow Tutorial 1 - TensorFlow の基礎から少し興味深い応用まで。
- TensorFlow Tutorial 2 - Google の TensorFlow を基盤とする深層学習入門。Newmu の Theano チュートリアルを直接移植。
- TensorFlow Tutorial 3 - 詳細に文書化されたコードと YouTube 動画を備えた、深層学習と TensorFlow の初心者向けチュートリアル。
- TensorFlow Examples - 初心者向け TensorFlow チュートリアルとコード例。
- Sungjoon’s TensorFlow-101 - Python と Jupyter Notebook で書かれた TensorFlow チュートリアル。
- Terry Um’s TensorFlow Exercises - ほかの TensorFlow サンプルのコードを再作成。
- Raspberry Pi 3へのTensorFlow導入 - Raspberry Pi 上で適切にコンパイル・動作する TensorFlow。
- 時系列の分類 - 携帯電話のセンサーデータに LSTM を使う TensorFlow の再帰型ニューラルネットワーク分類。
- AndroidでTensorFlowを始める - 最初の TensorFlow Android アプリを構築。
- 時系列の予測 - このアーキテクチャが持つ幅広い可能性への入門として、単純なデータセットで seq2seq モデルを使う方法を学びます。
- Single Image Random Dot Stereograms - SIRDS は3Dデータを2D画像で表現する方法。遠近法による隠線のない Waterfall Plot 形式で科学データを表示できます。
- CS20 SI: TensorFlow for DeepLearning Research - 2017年の Stanford TensorFlow 講座 - シラバス - 非公式動画
- TensorFlow World - 詳細な文書を備えた、簡潔ですぐ使える TensorFlow チュートリアル。
- Effective Tensorflow - TensorFlow の How-to とベストプラクティス。基礎から高度なトピックまで扱います。
- TensorLayer - TensorFlow 公式チュートリアルのモジュール式実装(中国語)。
- Tensorflow Estimator APIを理解する Estimator API の概念、利用時期、利用理由の概要。
- Introduction to TensorFlow for Artificial Intelligence, Machine Learning, and Deep Learning - Coursera が提供する TensorFlow 入門。
- Convolutional Neural Networks in TensorFlow - Coursera が提供する TensorFlow の畳み込みニューラルネットワーク講座。
- TensorLayerX - TensorFlow を PyTorch のように使用(APIドキュメント)。
モデル/プロジェクト
- Tensorflow-Project-Template - TensorFlow プロジェクト向けのシンプルで優れた設計のテンプレート。
- Domain Transfer Network - 教師なし Cross-Domain Image Generation の実装。
- Show, Attend and Tell - Attention ベースの Image Caption Generator。
- Neural Style Neural Styleの実装。
- SRGAN - Generative Adversarial Network を使った写実的な単一画像超解像。
- Pretty Tensor - 高水準の Builder API を提供。
- Neural Style - 神経スタイルの実装
- AlexNet3D - AlexNet3D の実装。単純な AlexNet モデルを3D畳み込み層(conv3d)で構成。
- TensorFlow White Paper Notes - TensorFlow White Paper の注釈・要約、SVG図、ドキュメントリンク。
- NeuralArt - A Neural Algorithm of Artistic Style の実装。
- Generative Handwriting Demo using TensorFlow - Alex Graves の論文にあるランダム手書き生成部分の実装試行。
- Neural Turing Machine in TensorFlow - Neural Turing Machine の実装。
- GoogleNet Convolutional Neural Network Groups Movie Scenes By Setting - 動画に現れる物体、場所などに基づいて検索、絞り込み、説明を行います。
- TensorFlowによるShakespeare文体と現代英語間のニューラル機械翻訳 - 現代英語から Shakespeare 文体へ、またはその逆へ変換する単一言語翻訳。
- Chatbot - 「A neural conversational model」の実装。
- Seq2seq-Chatbot - 200行のコードによる Chatbot。
- DCGAN - Deep Convolutional Generative Adversarial Networks。
- GAN-CLS - テキストから画像を生成する Generative Adversarial Synthesis。
- im2im - Generative Adversarial Network による教師なし Image-to-Image Translation。
- Improved CycleGAN - 対応なし Image-to-Image Translation。
- DAGAN - 高速な圧縮センシング MRI 再構成。
- Colornet - 白黒画像を着色するニューラルネットワーク - 白黒画像を着色するニューラルネットワーク。
- Neural Caption Generator - 「Show and Tell」の実装。
- Neural Caption Generator with Attention - 「Show, Attend and Tell」の実装。
- Weakly_detector - 「Learning Deep Features for Discriminative Localization」の実装。
- Dynamic Capacity Networks - 「Dynamic Capacity Networks」の実装。
- HMM in TensorFlow - HMM の Viterbi・Forward/Backward アルゴリズム実装。
- DeepOSM - OpenStreetMap の特徴と衛星画像で TensorFlow ニューラルネットを学習。
- DQN-tensorflow - Devsisters.com による、OpenAI Gym を使った DeepMind「Human-Level Control through Deep Reinforcement Learning」の TensorFlow 実装。
- Policy Gradient - Atari Ping Pong のプレイ用。
- Deep Q-Network - Frozen Lake ゲームのプレイ用。
- AC - 離散行動空間ゲーム(Cartpole)向け Actor Critic。
- A3C - 連続行動空間(Bipedal Walker)向け Asynchronous Advantage Actor Critic(A3C)。
- DAGGER - Gym Torcs のプレイ用。
- TRPO - 連続・離散行動空間向け。
- Highway Network - 「Training Very Deep Networks」の TensorFlow 実装。ブログ記事付き。
- Hierarchical Attention Networks - 「Hierarchical Attention Networks for Document Classification」の TensorFlow 実装。
- Sentence Classification with CNN - 「Convolutional Neural Networks for Sentence Classification」の TensorFlow 実装。ブログ記事付き。
- End-To-End Memory Networks - End-To-End Memory Networks の実装。
- Character-Aware Neural Language Models - Character-Aware Neural Language Models の TensorFlow 実装。
- YOLO TensorFlow ++ - 「YOLO: Real-Time Object Detection」の TensorFlow 実装。学習とモバイル端末上での実際のリアルタイム動作に対応。
- Wavenet - 音声生成向け WaveNet Generative Neural Network Architecture の TensorFlow 実装。
- Mnemonic Descent Method - 「Mnemonic Descent Method: A recurrent process applied for end-to-end face alignment」の TensorFlow 実装。
- Tensorflowを使ったCNN可視化 - 「Visualizing and Understanding Convolutional Networks」の TensorFlow 実装。
- VGAN Tensorflow - Vondrick ほかによる MIT 「Generating Videos with Scene Dynamics」 の TensorFlow 実装。
- TensorFlowの3D Convolutional Neural Networks - Torfi ほかによる「話者検証向け3D Convolutional Neural Networks」の TensorFlow 実装。
- U-Net - 脳腫瘍セグメンテーション向け。
- Spatial Transformer Networks - 変換関数を学習。
- Lip Reading - TensorFlowの3DアーキテクチャによるCross Audio-Visual Recognition - Torfi ほかによる「Cross Audio-Visual Recognition in the Wild Using Deep Learning」の TensorFlow 実装。
- Attentive Object Tracking - 「Hierarchical Attentive Recurrent Tracking」の実装。
- グラフ補完とリンク予測向けHolographic Embeddings - Holographic Embeddings of Knowledge Graphs の実装。
- 教師なしオブジェクトカウント - 「Attend, Infer, Repeat」の実装。
- Tensorflow FastText - Facebook fastText に着想を得たシンプルな Embedding ベースのテキスト分類器。
- MusicGenreClassification - 10秒の音声ストリームからニューラルネットワークで音楽ジャンルを分類。
- Kubeflow - Kubernetes で TensorFlow を簡単に使うためのフレームワーク。
- TensorNets - 事前学習済み重みを持つ40以上の人気 Computer Vision モデル。
- Ladder Network - Keras と TensorFlow による半教師あり学習向け Ladder Network 実装。
- TF-Unet - 画像セグメンテーション向けに Keras で実装した汎用 U-Network。
- Sarus TF2 Models - 再利用しやすい明快な TensorFlow 2 コードで実装された近年の生成モデルの長いリスト(Plain Autoencoder、VAE、VQ-VAE、PixelCNN、Gated PixelCNN、PixelCNN++、PixelSNAIL、Conditional Neural Processes)。
- Model Maker - TensorFlow Lite モデルの学習、評価、デプロイを簡素化する転移学習ライブラリ(画像分類、物体検出、テキスト分類、BERT質問応答、音声分類、推薦などに対応。APIリファレンス)。
TensorFlow採用事例
- YOLO TensorFlow - 「YOLO: Real-Time Object Detection」の実装。
- android-yolo - TensorFlow を使い、YOLO ネットワークで Android 上のリアルタイム物体検出を実現。
- Magenta - 音楽・芸術生成における Machine Intelligence の最先端を進める研究プロジェクト。
ライブラリ
- TensorFlow Estimators - 機械学習プログラミングを大幅に簡素化する高水準 TensorFlow API(元は tensorflow/skflow)。
- TensorFlowのRインターフェース - Estimators、Keras、Datasets など TensorFlow API の R インターフェース。
- Lattice - TensorFlow による単調較正補間 Look-Up Table の実装。
- tensorflow.rb - SWIG を使った Ruby 向け TensorFlow ネイティブインターフェース。
- tflearn - 高水準 API を備えた深層学習ライブラリ。
- TensorLayer - 研究者・エンジニア向けの深層学習・強化学習ライブラリ。
- TensorFlow-Slim - モデル定義用の高水準ライブラリ。
- TensorFrames - Apache Spark 向け TensorFlow Binding。
- TensorForce - 応用強化学習向け TensorFlow ライブラリ。
- TensorFlowOnSpark - Apache Spark で分散 TensorFlow を可能にする Yahoo! の取り組み。
- caffe-tensorflow - Caffe モデルを TensorFlow 形式へ変換。
- keras - TensorFlow と Theano 向けの最小限でモジュール式の深層学習ライブラリ。
- SyntaxNet: Neural Models of Syntax - Globally Normalized Transition-Based Neural Networks, Andor et al. (2016) で説明されたモデルの TensorFlow 実装。
- keras-js - GPU 対応で Keras モデル(TensorFlow Backend)をブラウザーで実行。
- NNFlow - ROOT NTuple を Numpy Array へ変換して読み込み、Google TensorFlow で使えるシンプルなフレームワーク。
- Sonnet - 複雑なニューラルネットワークを構築する、TensorFlow 上の DeepMind 製ライブラリ。
- tensorpack - 学習速度と大規模データセットに重点を置く、TensorFlow 上の Neural Network Toolbox。
- tf-encrypted - 暗号化データ上で機械学習を行う TensorFlow レイヤー。
- pytorch2keras - PyTorch モデルを Keras(TensorFlow Backend)形式へ変換。
- gluon2keras - Gluon モデルを Keras(TensorFlow Backend)形式へ変換。
- TensorIO - TensorFlow Lite モデルをモバイル端末へデプロイする軽量クロスプラットフォームライブラリ。
- StellarGraph - グラフ構造(ネットワーク構造)データの機械学習を行う Python ライブラリ。
- DeepBay - 一般的なアーキテクチャスタックを使いやすい Plug-and-Play モジュールとして実装する高水準 Keras 補完。
- Tensorflow-Probability - 現代的ハードウェア上で確率モデルと深層学習を容易に組み合わせる TensorFlow ベースの確率的プログラミング。
- TensorLayerX - TensorFlow を含むすべてのハードウェア、Backend、OS に対応する統合深層学習フレームワーク。
- Txeo - TensorFlow のモダンな C++ ラッパー。
ツール/ユーティリティ
- Speedster - 最先端の最適化技法を自動適用し、ハードウェア上で推論を最大限高速化。
- Guild AI - TensorFlow 向け Task Runner と Package Manager。
- ML Workspace - 機械学習とデータサイエンス向けのオールインワン Web IDE。TensorFlow、Jupyter、VS Code、TensorBoard など多数のツール/ライブラリを1つの Docker Image に統合。
- create-tf-app - 環境管理、Lint、Logging を扱う TensorFlow プロジェクト構築 CLI。
動画
- TensorFlow Guide 1 - 導入・利用ガイド。
- TensorFlow Guide 2 - 最初の動画の続編。
- TensorFlow Basic Usage - 基本的な利用方法のガイド。
- TensorFlow Deep MNIST for Experts - Deep MNIST を解説。
- TensorFlow Udacity Deep Learning - 1GBのデータを使える Cloud 9 オンラインサービスへ TensorFlow を無料導入する基本手順。
- GoogleがTensorFlowを誰でも利用可能にしたい理由
- TensorFlow Silicon Valley Meet Up 2016年1月19日の動画
- TensorFlow Silicon Valley Meet Up 2016年1月21日の動画
- Stanford CS224d Lecture 7 - Introduction to TensorFlow, 2016年4月19日 - Richard Socher による CS224d「Deep Learning for Natural Language Processing」。
- Diving into Machine Learning through TensorFlow - PyCon 2016 Portland Oregon。Julia Ferraioli、Amy Unruh、Eli Bixby によるスライドとコード。
- Large Scale Deep Learning with TensorFlow - Jeff Dean による Spark Summit 2016 基調講演。
- Tensorflow and deep learning - without at PhD - Martin Görner による講演。
- Tensorflow and deep learning - without at PhD, Part 2 (Google Cloud Next ‘17) - Martin Görner による講演。
- TensorFlowを使ったGoの画像認識 - Alex Pliutau による講演。
論文
- TensorFlow: Large-Scale Machine Learning on Heterogeneous Distributed Systems - TensorFlow Interface と、Google が構築したその実装について説明。
- TensorFlow Estimators: Managing Simplicity vs. Flexibility in High-Level Machine Learning Frameworks
- TF.Learn: TensorFlow’s High-level Module for Distributed Machine Learning
- Comparative Study of Deep Learning Software Frameworks - 複数の深層学習アーキテクチャを対象に、単一マシンのマルチスレッド CPU と GPU(Nvidia Titan X)で各フレームワークの性能を評価。
- Distributed TensorFlow with MPI - Message Passing Interface(MPI)を使い、Google TensorFlow を大規模クラスター上で実行できるよう拡張。
- Globally Normalized Transition-Based Neural Networks - SyntaxNet の背後にあるモデルを説明。
- TensorFlow: A system for large-scale machine learning - 既存システムと対比して TensorFlow Dataflow Model を説明し、優れた性能を示します。
- TensorLayer: A Versatile Library for Efficient Deep Learning Development - 研究者・エンジニアによる深層学習システム開発の効率化を目指す汎用 Python ライブラリを説明(ACM MM 2017 Best Open Source Software Award 受賞)。
公式発表
- TensorFlow: smarter machine learning, for everyone - TensorFlow 入門。
- Announcing SyntaxNet: The World’s Most Accurate Parser Goes Open Source - SyntaxNet の公開。Natural Language Understanding システムの基盤となる、TensorFlow 実装のオープンソースニューラルネットワークフレームワーク。
ブログ記事
- Tensorflow公式ブログ
- TensorFlowがAIを変える理由
- TensorFlow for Poets - TensorFlow の実装を解説。
- Introduction to Scikit Flow - Simplified Interface to TensorFlow - 主要機能を図解。
- Building Machine Learning Estimator in TensorFlow - TensorFlow Learn Estimator の内部を理解。
- TensorFlow - Not Just For Deep Learning
- indico Machine Learning TeamによるTensorFlowの見解
- The Good, Bad, & Ugly of TensorFlow - 急速に進化した6か月の調査(問題点を修正するヒント、Hack、コードを含む)。Indico の Dan Kuster、2016年5月9日。
- Fizz Buzz in TensorFlow - Joel Grus によるジョーク。
- RNNs In TensorFlow, A Practical Guide And Undocumented Features - GitHub の完全なコード例を含む段階的ガイド。
- TensorBoardを使ったTensorFlow画像分類再学習の可視化
- TFRecords Guide セマンティックセグメンテーションと TFRecord ファイル形式の処理。
- TensorFlow Android Guide - Android TensorFlow Machine Learning の例。
- 現代的Intel® ArchitectureにおけるTensorFlow最適化 - Intel/Google の協力に基づく、Intel® Xeon® および Intel® Xeon Phi™ プロセッサー環境の TensorFlow 最適化を紹介。
- Coca-Colaの画像認識アプリ 利用者入力の Feedback Loop を持つ、Coca-Cola 商品コード画像認識ニューラルネットワーク。
- TensorFlowはどのように動くか 機械学習ライブラリ TensorFlow の仕組み。
コミュニティ
書籍
- Machine Learning with TensorFlow 2nd edition、著者:Dr. Chris A. Mattmann(UCLA Chief Data and Artificial Intelligence Officer、Tika in Action著者)。数学要素の多い AI・ML を初心者にも親しみやすく実践的に解説。TensorFlow 2 と書籍の最新版へ更新。
- First Contact with TensorFlow、著者:Jordi Torres(UPC Barcelona Tech 教授、Barcelona Supercomputing Center Research Manager・Senior Advisor)。
- Deep Learning with Python - Jason Brownlee による、Keras を使って Theano と TensorFlow 上で深層学習モデルを開発する方法。
- TensorFlow for Machine Intelligence - Graph Computing の基礎から深層学習モデル、本番環境での利用まで、TensorFlow の完全ガイド。Bleeding Edge Press。
- Getting Started with TensorFlow - Google の最新数値計算ライブラリを動かし、データを深く掘り下げる方法。著者:Giancarlo Zaccone。
- Hands-On Machine Learning with Scikit-Learn and TensorFlow – YouTube 動画分類チーム元責任者 Aurélien Geron 著。ML の基礎、TensorFlow による複数サーバー・GPUでの深層ネットの学習とデプロイ、最新 CNN・RNN・Autoencoder、強化学習(Deep Q)を扱います。
- Building Machine Learning Projects with Tensorflow – Rodolfo Bonnin 著。さまざまな状況で TensorFlow に何ができるかを示すプロジェクトを収録。モデル学習、機械学習、深層学習、各種ニューラルネットワークを扱い、TensorFlow の使い方と Tensor によるデータ層の探索を実践的に学べます。
- Deep Learning using TensorLayer - Hao Dong ほか著。深層学習と TensorFlow・TensorLayer による実装の両方を扱います。
- TensorFlow 2.0 in Action - Thushan Ganegedara 著。TensorFlow 2.0 の新機能で深層学習モデルを構築する実践ガイド。魅力的なプロジェクト、平易な表現、最新アルゴリズムを収録。
- Probabilistic Programming and Bayesian Methods for Hackers - Cameron Davidson-Pilon 著。tensorflow-probability(または PyMC2/3)を使った Bayes 手法と確率的グラフィカルモデル入門。
コントリビューション
コントリビューションをいつでも歓迎します。
このリストへ貢献する場合は、Pull Request を送るか @jtoy へ連絡してください。 また、次の理由により掲載リポジトリを非推奨にすべきと気づいた場合もお知らせください。
- リポジトリ所有者が「このライブラリは保守されていない」と明示している。
- 長期間(2〜3年)コミットされていない。
詳細はガイドラインをご覧ください。
クレジット
- Python ライブラリの一部は vinta
- 見つけた少数の Go 資料はこのページ