【TensorFlow】GitHubからアクセスできるものは何?

TensorFlowを利用したプログラムの開発は進んでいますか?

TensorFlow以外に、TensorBoardTensorFlow PlaygroundといったTensorFlowに関連がありそうなプロジェクトを目にしたことがあると思います。

今日は、「TensorBoardやTensorFlow Playground以外に関連プロジェクトはどれくらいあるの?」という疑問に答えます!

TensorFlowの周辺にも視野を広げて、活用できそうなモノがないか探してみましょう!

目次

TensorFlowとは

TensorFlowは、機械学習や深層学習のプログラムを実装する際に使用できるライブラリです。

GitHubで開発が進められており、ソースコードも自由にダウンロードできます。

TensorFlowとは何か?については、以下の記事で説明していますので、よく分からない方は確認してみてくださいね。

もちろん、インストールについても触れられていますので、安心してください!

TensorFlowのGitHub

TensorFlow関連プロジェクトの目次とでもいうべきページと、TensorFlow本体が置いてあるTensorFlowリポジトリは、別のURLで提供されています。

TensorFlow関連プロジェクトのページ

tensorflow-github01

参考:https://github.com/tensorflow

TensorFlow本体のリポジトリ

tensorflow-github02

参考:https://github.com/tensorflow/tensorflow

TensorFlow関連プロジェクトのページからアクセスできる関連プロジェクト

TensorFlow関連プロジェクトのページからアクセスできるプロジェクトをざっと紹介します。

正直、何?というものもありますが、一部、唸るようなプロジェクトもありますので、ぜひご覧ください。

TensorFlowや機械学習を理解する

TensorFlowを理解したり、機械学習を理解したりすることの助けになるようなプロジェクトです。

視覚的に面白いモノも含めましたので、playgroundや、embedding-projector-standaloneは、ぜひご覧ください。

lucidはキレイですが、理解するのは難しいです。

TensorFlowでモデルができあがってからなら、TensorBoardも面白いです。

playground

TensorFlow Playgroundを開発するプロジェクト

参考:https://github.com/tensorflow/playground

TensorFlow Playgroundについては、以下の記事でも取り上げました。

embedding-projector-standalone

多次元データを視覚化するEmbedding Projectorを開発するプロジェクト

参考:https://github.com/tensorflow/embedding-projector-standalone

lucid

TensorFlowのモデルが学習した内容を可視化するためのプロダクトを開発するプロジェクト

参考:https://github.com/tensorflow/lucid

tensorboard

TensorFlowの処理を視覚化するためのプロジェクト

参考:https://github.com/tensorflow/tensorboard

tensorstore

TensorBoardストレージコードのプレースホルダを提供するプロジェクト

参考:https://github.com/tensorflow/tensorstore

tensorboard-plugin-example

TensorBoardプラグインのサンプルプロジェクト

参考:https://github.com/tensorflow/tensorboard-plugin-example

workshops

TensorFlowワークショップイベントで利用したデータをホストするプロジェクト

参考:https://github.com/tensorflow/workshops

models

TensorFlowで構築したモデルをまとめたプロジェクト。CIFAR-10を学習するモデル(CNN)や、PTBデータセットを学習するモデル(RNN)などがある

参考:https://github.com/tensorflow/models

CIFAR-10やPTBデータセットを学習するモデルについては、以下の記事で取り上げました。


【TensorFlow】RNNの公式チュートリアルに挑戦!
更新日:2024年3月1日

nmt

ニューラル機械翻訳の公式チュートリアルをホストするプロジェクト

参考:https://github.com/tensorflow/nmt

ニューラル機械翻訳の公式チュートリアルについては、以下の記事で取り上げました。

様々なプログラミング言語からTensorFlowを利用する

PythonJavaC++以外のプログラミング言語からもTensorFlowを利用できるようになりそうですね。楽しみです。

haskell

HaskellでTensorFlowを利用するプロジェクト

参考:https://github.com/haskell

tfjs

ハードウェアアクセラレーションに対応したJavaScriptライブラリであるTensorFlow.jsを開発するプロジェクト

参考:https://github.com/tensorflow/tfjs

tfjs-core

TensorFlow.jsの中心となるプロジェクト

参考:https://github.com/tensorflow/tfjs-core

tfjs-layers

TensorFlow.jsの高レベルなモデル構築APIを開発するプロジェクト

参考:https://github.com/tensorflow/tfjs-layers

tfjs-models

TensorFlow.jsの学習済モデルをホストするプロジェクト

参考:https://github.com/tensorflow/tfjs-models

tfjs-converter

TensorFlowやKerasで構築したモデルをTensorFlow.jsで利用するためのプロジェクト

参考:https://github.com/tensorflow/tfjs-converter

tfjs-examples

TensorFlow.jsのサンプルをまとめたプロジェクト

参考:https://github.com/tensorflow/tfjs-examples

tfjs-website

TensorFlow.jsのWebサイト(https://js.tensorflow.org/)を構築するためのプロジェクト

参考:https://github.com/tensorflow/tfjs-website

tfjs-node

TensorFlow.jsをNode.jsで動かすためのプロジェクト。TenosrFlow.jsは、JavaScriptでTensorFlowを利用するプロダクトである

参考:https://github.com/tensorflow/tfjs-node

rust

RustでTensorFlowを利用するためのプロジェクト

参考:https://github.com/tensorflow/rust

swift

SwiftでTensorFlowを利用するためのプロジェクト

参考:https://github.com/tensorflow/swift

swift-bindings

Swift for TensorFlowを作成するためのプロダクトを開発するプロジェクト

参考:https://github.com/tensorflow/swift-bindings

swift-models

Swift for TensorFlowで作成したモデルをホストするプロジェクト

参考:https://github.com/tensorflow/swift-models

TensorFlowを応用する

囲碁AIを作るなど、TensorFlowを応用したプロジェクトです。

minigo

TensorFlowを使用してニューラルネットワークを構築した囲碁AIを開発するプロジェクト。Google製囲碁AIとして非常に有名なAlphaGoではない

参考:https://github.com/tensorflow/minigo

magenta

美術や音楽を創造する際の機械学習の役割を探る研究プロジェクト

参考:https://github.com/tensorflow/magenta

magenta-js

magentaをブラウザで実行するためのプロジェクト

参考:https://github.com/tensorflow/magenta-js

magenta-demos

magentaのデモをホストするプロジェクト

参考:https://github.com/tensorflow/magenta-demos

moonlight

楽譜(PNG画像)を読み込みMusicXMLを出力するプロダクトを開発するプロジェクト

参考:https://github.com/tensorflow/moonlight

kfac

Kronecker-Factored Approximate Curvature(K-FAC)を実装するプロジェクト

参考:https://github.com/tensorflow/kfac

deepmath

深層学習や機械学習技術を使った自動定理証明を改善するプロジェクト。自動定理証明は、コンピュータプログラムによって数学的定理に対する証明を発見することである

参考:https://github.com/tensorflow/deepmath

TensorFlow関連の成果を共有する

TensorFlowを利用して開発したモデルなどを他の人と共有するときに便利そうなプロジェクトです。

serving

機械学習モデルを本番環境で運用するために柔軟で高性能なサービスシステムを開発するプロジェクト

参考:https://github.com/tensorflow/serving

hub

TensorFlowにおいて様々なリソースや学習済モデルを共有するためのプラットフォームを開発するプロジェクト

参考:https://github.com/tensorflow/hub

tpu

CLOUD TPUで使用されるモデルとツールを開発するプロジェクト

参考:https://github.com/tensorflow/tpu

ecosystem

TensorFlowを他のオープンソースフレームワークと統合する例をホストするプロジェクト。dockerkubernetesMarathonhadoopsparkなどと統合する例が含まれている

参考:https://github.com/tensorflow/ecosystem

その他

その他、うまく分類できなかったプロジェクト群です。

tensor2tensor

TensorFlowで構築した主要要素(モデルなど)の再現や入れ替えを容易にするプロジェクト

参考:https://github.com/tensor2tensor

benchmarks

TensorFlowのベンチマーク(性能テスト)用コードを開発するためのプロジェクト

参考:https://github.com/tensorflow/benchmarks

profiler-ui

TensorFlowのモデルをプロファイリングするためのGUIを提供するプロジェクト

参考:https://github.com/tensorflow/profiler-ui

model-analysis

TensorFlowのモデルを評価するためのライブラリを開発するプロジェクト

参考:https://github.com/tensorflow/model-analysis

cleverhans

敵対的サンプル(意図的なノイズ)を生成するサンプルを生成するライブラリを開発するプロジェクト

参考:https://github.com/tensorflow/cleverhans

lattice

機械学習の訓練データにノイズがあった場合でも正しく学習させるためのプロジェクト

参考:https://github.com/tensorflow/lattice

transform

TensorFlowを利用してデータを前処理するためのライブラリを開発するプロジェクト

参考:https://github.com/tensorflow/transform

metadata

TensorFlowを使用して機械学習モデルをトレーニングする際に役立つメタデータの標準表現を提供するプロジェクト

参考:https://github.com/tensorflow/metadata

fold

構造化データを使用するモデルを作成するためのライブラリを開発するためのプロジェクト

参考:https://github.com/tensorflow/fold

agents

TensorFlowを使って強化学習を行うためのインフラを提供するプロジェクト

参考:https://github.com/tensorflow/agents

probability

TensorFlowにおける確率論的推論と統計解析のためのライブラリを開発するプロジェクト

参考:https://github.com/tensorflow/probability

compression

参考:https://github.com/tensorflow/compression

TensorFlowのためのデータ圧縮ライブラリを開発するプロジェクト

まとめ

TensorFlowだけでも理解することが大変なのに、TensorFlowの周辺プロダクトがこれほど沢山公開されているとは、本当に驚きますね。

自分に必要そうであったり、興味が湧いたプロジェクトがあれば、ぜひ試してみて、分かったことをブログ記事を書いていただければと思います!

私も、理解できないところは多々あり、世界はどんどん進んでいることを実感しました。

がんばりましょう!

この記事を書いた人

侍エンジニア塾は「人生を変えるプログラミング学習」をコンセンプトに、過去多くのフリーランスエンジニアを輩出したプログラミングスクールです。侍テック編集部では技術系コンテンツを中心に有用な情報を発信していきます。

目次