신경망 그래프 및 Pytorch, Tensorflow 및 Keras를위한 가벼운 라이브러리.
Hiddenlayer는 간단하고 확장하기 쉽고 Jupyter Notebook에서 잘 작동합니다. Tensorboard와 같은 고급 도구를 대체하기위한 것이 아니라 고급 도구가 너무 큰 경우 작업을 수행하기에는 오히려 사용됩니다. Hiddenlayer는 Waleed Abdulla와 Phil Ferriere가 작성했으며 MIT 라이센스에 따라 라이센스를 받았습니다.
Hiddenlayer를 사용하여 Jupyter 노트북 또는 PDF 또는 PNG 파일에 신경망의 그래프를 렌더링하십시오. Tensorflow, Pytorch 및 Keras의 Jupyter 노트북 예제를 참조하십시오.

그래프는 높은 수준의 아키텍처를 전달하도록 설계되었습니다. 따라서 낮은 수준의 세부 사항은 기본적으로 숨겨져 있습니다 (예 : 중량 초기화 작전, 그라디언트, 공통 레이어 유형의 내부 작전 등). Hiddenlayer는 또한 일반적으로 사용되는 층 시퀀스를 함께 접습니다. 예를 들어, Convolution-> Relu-> MaxPool 시퀀스는 매우 일반적이므로 단순성을 위해 하나의 상자로 병합됩니다.
그래프 사용자 정의
숨기기 및 접는 노드에 대한 규칙은 완전히 사용자 정의 할 수 있습니다. graph expressions 과 transforms 사용하여 자신의 규칙을 추가 할 수 있습니다. 예를 들어,이 규칙은 RESNET101의 병목 현상 블록의 모든 노드를 하나의 노드로 접습니다.
# Fold bottleneck blocks
ht.Fold("((ConvBnRelu > ConvBnRelu > ConvBn) | ConvBn) > Add > Relu",
"BottleneckBlock", "Bottleneck Block"),

Jupyter Notebook에서 훈련 실험을 실행하면 이것이 유용 할 수 있습니다. 이를 사용하여 손실 및 정확도, 가중치의 히스토그램 또는 몇 층의 활성화를 시각화 할 수 있습니다.

Jupyter Notebook 외부 :
Jupyter Notebook 외부의 Hiddenlayer도 사용할 수 있습니다. 명령 줄에서 실행되는 파이썬 스크립트에서는 메트릭에 대한 별도의 창이 열립니다. 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없이 Hiddenlayer를 사용하는 예.텐서 플로 :
tf_graph.ipynb :이 노트북은 다양한 TF 슬림 모델에 대한 그래프를 생성하는 방법을 보여줍니다.tf_train.ipynb : Tensorflow로 교육 메트릭을 추적하고 시각화하는 것을 보여줍니다.history_canvas.py : GUI없이 Hiddenlayer를 사용하는 예.케라 :
keras_graph.ipynb :이 노트북은 다양한 keras 모델에 대한 그래프를 생성하는 방법을 보여줍니다.keras_train.ipynb : 모델 그래프, 교육 메트릭의 시각화 및 각 교육 에포크의 끝에서 혼란 매트릭스를 플로팅하기 위해 서브 클래스 Canvas 사용하는 사용자 정의 keras 콜백을 만드는 방법을 보여줍니다.Hiddenlayer는 MIT 라이센스에 따라 릴리스됩니다. 자유롭게 확장하거나 필요에 맞게 사용자 정의하십시오. 이 조기 릴리스이기 때문에 버그를 발견 한 경우 버그를보고하거나 풀 요청을 제출하십시오.
새로운 기능을 기여하고 싶다면 추가하고 싶었지만 그 일을하지 않은 몇 가지 사항이 있습니다.
에이. Python3, Numpy, Matplotlib 및 Jupyter 노트북.
비. Tensorflow 또는 Pytorch
기음. 네트워크 그래프를 생성하기 위해 GraphViz 및 파이썬 래퍼. 설치하는 가장 쉬운 방법은입니다
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