より高度なAPIを備えたTensorFlow用ディープラーニングライブラリ TFLearn(翻訳)

AI 人工知能

[box class=”pink_box”]
本記事は、TFLearnのドキュメンテーションサイト(home)を翻訳(適宜意訳)したものです。 誤り等あればご指摘いただけたら幸いです。
[/box]

はじめに

TFlearnは、Tensorflowの上に構築されたモジュラーで透過的なディープラーニングライブラリです。TensorFlowに高レベルのAPIを提供するように設計されており、完全に透過的で互換性がありながら実装を、容易にし、かつスピードアップすることができます。

TFLearnの機能は次のとおりです。

  • チュートリアルとサンプルを使用して、使いやすいディープニューラルネットワークを実装するための高度なAPIを理解してください
  • 高度にモジュール化されたニューラルネットワーク層、正則化ツール、オプティマイザ、メトリックによる高速プロトタイプの作成
  • Tensorflowを完全に透過します。すべての関数はTensorに基づいて構築され、TFLearnとは独立して使用できます
  • 強力なヘルパー機能として、複数の入力、出力、オプティマイザをサポート、TensorFlowグラフを訓練する機能を備えています
  • ウェイト、グラデーション、アクティベーションなどの詳細を含む、簡単で美しいグラフのビジュアライゼーション機能
  • 複数のCPU / GPUを使用するための簡単なデバイス配置

この高レベルなAPIは現在、Convolutions、LSTM、BiRNN、BatchNorm、PReLU、Residual networks、Generative networksなどの最新のディープラーニングモデルのほとんどをサポートしています。今後もTFLearnは最新のディープラーニング技術をフォローしていきます。

注意:最新のTFLearn(v0.3)は、TensorFlow v1.0以降とのみ互換性があります。

概要

コードの例

# Classification
tflearn.init_graph(num_cores=8, gpu_memory_fraction=0.5)

net = tflearn.input_data(shape=[None, 784])
net = tflearn.fully_connected(net, 64)
net = tflearn.dropout(net, 0.5)
net = tflearn.fully_connected(net, 10, activation='softmax')
net = tflearn.regression(net, optimizer='adam', loss='categorical_crossentropy')

model = tflearn.DNN(net)
model.fit(X, Y)
# Sequence Generation
net = tflearn.input_data(shape=[None, 100, 5000])
net = tflearn.lstm(net, 64)
net = tflearn.dropout(net, 0.5)
net = tflearn.fully_connected(net, 5000, activation='softmax')
net = tflearn.regression(net, optimizer='adam', loss='categorical_crossentropy')

model = tflearn.SequenceGenerator(net, dictionary=idx, seq_maxlen=100)
model.fit(X, Y)
model.generate(50, temperature=1.0)

こちらにはもっと多くのサンプルコードがあります。

どこから始めれば良いか

TFLearnをインストールするには、「Installation Guide」を参照してください。

Tensorflowのバージョンが1.0未満の場合、Tensorflowをアップグレードしてください。

はじめに:「Getting Started with TFLearn」「TFLearn Tutorials」を参照してください。

その他のサンプルコードについては、「Examples List」を参照してください。

APIを参照するには、「API Documentation」を確認してください。

モデルの可視化

グラフ

Graph

損失と正確さ(複数回)

Loss acc

レイヤー

Layer visualization

ソース

GitHub:https://github.com/tflearn/tflearn