Легкая библиотека для нейронных сетевых графиков и метрик обучения для Pytorch, Tensorflow и Keras.
Hiddenlayer прост, легкий в расширении и отлично работает с ноутбуком Jupyter. Он не предназначен для замены расширенных инструментов, таких как Tensorboard, а для тех случаев, когда передовые инструменты слишком велики для этой задачи. Hiddenlayer был написан Уалидом Абдуллой и Филом Ферриером и имеет лицензию по лицензии MIT.
Используйте Hiddenlayer, чтобы отобразить график вашей нейронной сети в записной книжке Юпитера или в файле PDF или PNG. См. Примеры ноутбука Jupyter для Tensorflow, Pytorch и Keras.

Графики предназначены для передачи архитектуры высокого уровня. Следовательно, детали низкого уровня скрыты по умолчанию (например, инициализация веса, градиенты, внутренние OPS общих типов слоев, ... и т. Д.). Hiddenlayer также складывает широко используемые последовательности слоев вместе. Например, последовательность свертки -> relu -> maxpool очень распространена, поэтому они объединяются в одну коробку для простоты.
Настройка графиков
Правила для укрытия и складных узлов полностью настраиваются. Вы можете использовать graph expressions и transforms , чтобы добавить свои собственные правила. Например, это правило складывает все узлы узкого места блока RESNET101 в один узел.
# Fold bottleneck blocks
ht.Fold("((ConvBnRelu > ConvBnRelu > ConvBn) | ConvBn) > Add > Relu",
"BottleneckBlock", "Bottleneck Block"),

Если вы проводите учебные эксперименты в ноутбуке Jupyter, то вы можете найти это полезным. Вы можете использовать его для потери и точности графика, гистограмм весов или визуализировать активации нескольких слоев.

Внешнее блокнот Jupyter:
Вы также можете использовать Hiddenlayer за пределами ноутбука Jupyter. В сценарии Python, работающем из командной строки, он откроет отдельное окно для метрик. И если вы на сервере без графического интерфейса, вы можете сохранить снимки графиков в файлы PNG для последующей проверки. См. ИСТОРИЯ_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_train.ipynb : демонстрирует модельный график, визуализацию метриков обучения и как создать пользовательский обратный вызов Keras, в котором используется подклассный Canvas , чтобы построить матрицу путаницы в конце каждой эпохи обучения.Hiddenlayer выпускается по лицензии MIT. Не стесняйтесь расширить его или настроить для ваших нужд. Если вы обнаружите ошибки, что, вероятно, так как это ранний релиз, пожалуйста, сообщите о них или отправьте запрос на привлечение.
Если вам нравится вносить новые функции, вот несколько вещей, которые мы хотели добавить, но никогда не достигли этого:
а Python3, Numpy, Matplotlib и Jupyter Notebook.
беременный Либо Tensorflow, либо Pytorch
в 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 непосредственно от GitHubИспользуйте следующее, если вы просто хотите установить последнюю версию библиотеки:
pip install git+https://github.com/waleedka/hiddenlayer.git