Pytorch、Tensorflow、およびKerasのニューラルネットワークグラフとトレーニングメトリック用の軽量ライブラリ。
HiddenLayerはシンプルで、拡張が簡単で、Jupyterノートブックでうまく機能します。 Tensorboardなどの高度なツールを交換することではなく、タスクには高度なツールが大きすぎる場合の場合です。 HiddenLayerはWaleed AbdullaとPhil Ferriereによって書かれ、MITライセンスの下でライセンスされています。
HiddenLayerを使用して、Jupyter Notebookでニューラルネットワークのグラフをレンダリングするか、PDFまたはPNGファイルにレンダリングします。 Tensorflow、Pytorch、およびKerasについては、Jupyter Notebookの例を参照してください。

グラフは、高レベルのアーキテクチャを通信するように設計されています。したがって、低レベルの詳細はデフォルトで非表示になります(例:重量初期化ops、勾配、共通層タイプの内部操作など)。 HiddenLayerはまた、一般的に使用されるレイヤーのシーケンスを一緒に折りたたみます。たとえば、畳み込み - > relu-> maxpoolシーケンスは非常に一般的であるため、簡単にするために1つのボックスにマージされます。
グラフのカスタマイズ
非表示および折りたたみノードのルールは完全にカスタマイズ可能です。 graph expressionsとtransforms使用して、独自のルールを追加できます。たとえば、このルールは、ResNet101のボトルネックブロックのすべてのノードを1つのノードに折ります。
# Fold bottleneck blocks
ht.Fold("((ConvBnRelu > ConvBnRelu > ConvBn) | ConvBn) > Add > Relu",
"BottleneckBlock", "Bottleneck Block"),

Jupyter Notebookでトレーニング実験を実行する場合、これが便利であると思うかもしれません。これを使用して、損失と精度、重みのヒストグラムをプロットしたり、数層の活性化を視覚化したりできます。

外のjupyterノートブック:
Jupyter Notebook以外のHiddenLayerも使用できます。コマンドラインから実行されているPythonスクリプトでは、メトリック用に別のウィンドウが開きます。また、GUIのないサーバーを使用している場合は、後で検査するためにグラフのスナップショットをPNGファイルに保存できます。このユースケースの例については、history_canvas.pyを参照してください。
HiddenLayerは小さなライブラリです。基本をカバーしますが、自分のユースケースのために拡張する必要があります。たとえば、モデルの精度をプロットではなくパイチャートとして表現するとします。これは、 Canvasクラスを拡張し、次のような新しい方法を追加することで実行できます。
class MyCanvas(hl.Canvas):
"""Extending Canvas to add a pie chart method."""
def draw_pie(self, metric):
# set square aspect ratio
self.ax.axis('equal')
# Get latest value of the metric
value = np.clip(metric.data[-1], 0, 1)
# Draw pie chart
self.ax.pie([value, 1-value], labels=["Accuracy", ""])
例については、pytorch_train.ipynbまたはtf_train.ipynbを参照してください。

keras_train.ipynbノートブックには、検証メトリックとともに混乱マトリックスをプロットするカスタムCanvasを作成する方法を示す実際のトレーニング例が含まれています。

Pytorch:
pytorch_graph.ipynb :このノートブックは、いくつかの一般的なPytorchモデルのグラフを生成する方法を示しています。pytorch_train.ipynb :トレーニングメトリックの追跡と表示について説明します。history_canvas.pyなしでhiddenlayerを使用する例。Tensorflow:
tf_graph.ipynb :このノートブックは、さまざまなTFスリムモデルのグラフを生成する方法を示しています。tf_train.ipynb :Tensorflowを使用したトレーニングメトリックの追跡と視覚化を実証します。history_canvas.pyなしでhiddenlayerを使用する例。ケラス:
keras_graph.ipynb :このノートブックは、さまざまなKerasモデルのグラフを生成する方法を示しています。keras_train.ipynb :モデルグラフ化、トレーニングメトリックの視覚化、および各トレーニングエポックの最後に混乱マトリックスをプロットするためにサブクラス化Canvasを使用するカスタムケラスコールバックを作成する方法を示します。HiddenLayerはMITライセンスの下でリリースされます。お気軽に拡張するか、ニーズに合わせてカスタマイズしてください。これが早期リリースであるため、バグを発見した場合は、それらを報告するか、プルリクエストを送信してください。
新機能を提供したい場合は、追加したいことをいくつか紹介しますが、それには決してなりませんでした。
a。 python3、numpy、matplotlib、およびjupyterノートブック。
b。 TensorflowまたはPytorchのいずれか
c。 GraphvizとそのPythonラッパーは、ネットワークグラフを生成します。それをインストールする最も簡単な方法です
Condaを使用する場合:
conda install graphviz python-graphvizさもないと:
pip3 install graphvizライブラリをローカルに編集またはカスタマイズする場合は、これを使用してください。
# Clone the repository
git clone [email protected]:waleedka/hiddenlayer.git
cd hiddenlayer
# Install in dev mode
pip install -e .pip install hiddenlayersite-packagesにインストールしますライブラリの最新バージョンをインストールするだけの場合は、以下を使用してください。
pip install git+https://github.com/waleedka/hiddenlayer.git