用於Pytorch,Tensorflow和Keras的神經網絡圖和培訓指標的輕量級庫。
Hiddenlayer簡單,易於擴展,並且與Jupyter筆記本電腦效果很好。它不是打算替換高級工具,例如張量板,而是要替換高級工具太大而無法完成任務的情況。 Hiddlelayer由Waleed Abdulla和Phil Ferriere撰寫,並獲得MIT許可證的許可。
使用hiddenlayer在jupyter筆記本或pdf或png文件中渲染神經網絡的圖。請參閱Jupyter筆記本電腦示例,有關Tensorflow,Pytorch和Keras。

這些圖旨在傳達高級體系結構。因此,默認情況下隱藏了低級細節(例如,權重初始化操作,漸變,公共層類型的內部操作,...等)。 Hidden Layerer還將層的常用序列折疊在一起。例如,卷積 - > relu-> maxpool序列非常普遍,因此為簡單起見,它們被合併到一個框中。
自定義圖
隱藏和折疊節點的規則是完全可自定義的。您可以使用graph expressions並transforms來添加自己的規則。例如,該規則將Resnet101的瓶頸塊的所有節點折疊成一個節點。
# Fold bottleneck blocks
ht.Fold("((ConvBnRelu > ConvBnRelu > ConvBn) | ConvBn) > Add > Relu",
"BottleneckBlock", "Bottleneck Block"),

如果您在Jupyter筆記本中運行培訓實驗,則可能會發現這很有用。您可以使用它來繪製損失和準確性,權重直方圖或可視化幾層的激活。

外面jupyter筆記本:
您也可以在Jupyter筆記本外使用Hidden Layer。在從命令行運行的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 :一個不使用GUI的隱藏器的示例。TensorFlow:
tf_graph.ipynb :本筆記本說明瞭如何為各種TF Slim模型生成圖形。tf_train.ipynb :用張量指標演示跟踪和可視化訓練指標。history_canvas.py :一個不使用GUI的隱藏器的示例。凱拉斯:
keras_graph.ipynb :本筆記本說明瞭如何為各種keras模型生成圖形。keras_train.ipynb :演示模型圖形,訓練指標的可視化以及如何創建自定義的keras回調,該回調使用子分類的Canvas ,以便在每個訓練時期結束時繪製混淆矩陣。HiddenLayer在MIT許可證下發布。隨意擴展它或根據您的需求進行自定義。如果您發現錯誤,這可能是因為這是早期版本,請進行報告或提交拉動請求。
如果您想貢獻新功能,那麼這裡有一些我們想添加的東西,但從未解決過:
一個。 Python3,Numpy,Matplotlib和Jupyter筆記本。
b。張量或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