Инвентаризация | 22 Инструменты проектирования и визуализации нейронных сетей

глубокое обучение Нейронные сети

предисловие

В области глубокого обучения наиболее распространенными являются различные сетевые модели, поэтому при написании статьи или статьи, посвященной сетевым моделям, лучше всего, конечно,показать кодРисунок, проект Github, представленный сегодня, должен организовать инструменты 22 для проектирования и визуализации сетевых структур, Адреса следующие:

GitHub.com/Эш Сан Пэлтроу…

Названия 22 инструментов:

  1. draw_convnet
  2. NNSVG
  3. PlotNeuralNet
  4. TensorBoard
  5. Caffe
  6. Matlab
  7. Keras.js
  8. Keras-sequential-ascii
  9. Netron
  10. DotNet
  11. Graphviz
  12. Keras Visualization
  13. Conx
  14. ENNUI
  15. NNet
  16. GraphCore
  17. Neataptic
  18. TensorSpace
  19. Netscope CNN Analyzer
  20. Monial
  21. Texample
  22. Quiver

инструмент

1. draw_convnet

Github: GitHub.com/more stable/draw…

Количество звезд: 1,7 тыс.+

Последнее обновление этого инструмента было в 2018 году, скрипт на питоне для рисования инструмента для сверточных нейронных сетей, эффект следующий:

2. NNSVG

URL-адрес:У Алекса есть сыр.Что/NN-SVG/Лен Е…

Этот инструмент имеет 3 стиля структуры сети, а именно:

Тип Ленета:

AlexNet тип

Тип FCNN

3. PlotNeuralNet

Адрес гитхаба:GitHub.com/ha Японский Iqbal8…

Количество звезд: 8,2 тыс.+

Этот инструмент основан на коде Latex для рисования сетевых структур.Вы можете увидеть, как рисуются эти схемы сетевой структуры, на примерах.

Эффект следующий:

FCN-8

FCN-32

Установить

Вот методы установки в системах Ubuntu и Windows:

ubuntu 16.04

sudo apt-get install texlive-latex-extra

Ubuntu 18.04.2основан на этом веб-сайте:gist.GitHub.com/rain1024/98…

sudo apt-get install texlive-latex-base
sudo apt-get install texlive-fonts-recommended
sudo apt-get install texlive-fonts-extra
sudo apt-get install texlive-latex-extra

Windows

  1. Сначала скачайте и установите MikTex, сайт загрузки:miktex.org/download
  2. Во-вторых, загрузите и установите bash runner для Windows, рекомендуется использовать эти два:
Пример использования

После установки используйте его следующим образом:

cd pyexamples/
bash ../tikzmake.sh test_simple

Использование Python выглядит следующим образом:

  1. Сначала создайте новую папку и создайте новый файл кода Python:
$ mkdir my_project
$ cd my_project
vim my_arch.py
  1. затем в новом файле кодаmy_arch.pyДобавьте этот код, чтобы определить структуру вашей сети, в основном параметры различных типов сетевых слоев, включая количество входных и выходных данных, количество ядер свертки и т. д.
import sys
sys.path.append('../')
from pycore.tikzeng import *

# defined your arch
arch = [
    to_head( '..' ),
    to_cor(),
    to_begin(),
    to_Conv("conv1", 512, 64, offset="(0,0,0)", to="(0,0,0)", height=64, depth=64, width=2 ),
    to_Pool("pool1", offset="(0,0,0)", to="(conv1-east)"),
    to_Conv("conv2", 128, 64, offset="(1,0,0)", to="(pool1-east)", height=32, depth=32, width=2 ),
    to_connection( "pool1", "conv2"),
    to_Pool("pool2", offset="(0,0,0)", to="(conv2-east)", height=28, depth=28, width=1),
    to_SoftMax("soft1", 10 ,"(3,0,0)", "(pool1-east)", caption="SOFT"  ),
    to_connection("pool2", "soft1"),
    to_end()
    ]

def main():
    namefile = str(sys.argv[0]).split('.')[0]
    to_generate(arch, namefile + '.tex' )

if __name__ == '__main__':
    main()
  1. Наконец, запустите скрипт
bash ../tikzmake.sh my_arch

4. TensorBoard

woohoo.tensorflow.org/tensorboard…

Любой, кто использовал TensorFlow, должен знать этот инструмент рисования, инструмент визуализации TensorFlow и проверять структуру сети, изменения потерь, изменения точности и другие показатели.

Влияние сетевой структуры показано на следующем рисунке:

5. Caffe

GitHub.com/B VLC/Zhu Compound Curcuma/…

Инструмент рисования Caffe, эффект следующий:

6. Matlab

woohoo.mathworks.com/help/nnet/day…

Инструмент рисования Matlab, эффект следующий:

7. Keras.js

транскраниальный.GitHub.IO/canras-is/#/…

Инструмент визуализации Keras, эффект следующий:

8. keras-sequential-ascii

GitHub.com/stared/гости…

Сторонняя библиотека Keras, которая используется для проверки структуры сети и параметров модели последовательности и прямой печати результатов.Например, структура сети VGG 16 выглядит следующим образом, размерность параметров каждого слоя сеть, количество параметров и доля всей сети.Будет отображаться соотношение параметров:

Установить

Через ПиПи:

pip install keras_sequential_ascii

Напрямую через репозиторий github:

pip install git+git://github.com/stared/keras-sequential-ascii.git
Пример использования

Добавьте в код:

from keras_sequential_ascii import keras2ascii

keras2ascii(model)

9. Netron

GitHub.com/R/R директора Лу Роу/…

Количество звезд: 9,7 тыс.+

Введение

Netron может визуализировать нейронные сети, модели глубокого обучения и машинного обучения.В настоящее время поддерживаемые сетевые структуры включают:

  • ONNX: .onnx, .pb, .pbtxtдокумент

  • Керас:.h5,.kerasдокумент

  • Ядро машинного обучения:.mlmodel

  • Кафе:.caffemodel, .prototxt

  • Кафе2:predict_net.pb, predict_net.pbtxt

  • Darknet: .cfg

  • MXNet:.model, -symbol.json

  • нкнн:.param

  • ТензорФлоу Лайт:.tflite

Кроме того, у Netron есть экспериментальная поддержка следующих фреймворков:

  • TorchScript: .pt, .pth
  • PyTorch:.pt, .pth
  • Torch: .t7
  • Arm NN:.armnn
  • Barracuda:.nn
  • BigDL .bigdl, .model
  • Chainer:.npz, .h5
  • CNTK:.model, .cntk
  • Deeplearning4j:.zip
  • MediaPipe:.pbtxt
  • ML.NET:.zip
  • MNN:.mnn
  • OpenVINO:.xml
  • PaddlePaddle:.zip, __model__
  • scikit-learn:.pkl
  • Tengine:.tmfile
  • TensorFlow.js:model.json, .pb
  • TensorFlow:.pb, .meta, .pbtxt, .ckpt, .index

Эффект следующий:

Установить

Способ установки различается в зависимости от различных систем:

macOS

Два способа, выберите один:

  1. скачать.dmgфайл, адрес:GitHub.com/R/R директора Лу Роу/…
  2. Команда Runbrew cask install netron

Linux

Также есть два способа, выберите один из них:

  1. скачать.AppImageфайл, адрес загрузки:GitHub.com/R/R директора Лу Роу/…
  2. Команда Runsnap install netron

Windows

Также есть два способа, выберите один из них:

  1. скачать.exeфайл, адрес загрузки:GitHub.com/R/R директора Лу Роу/…
  2. Команда Runwinget install netron

браузер: Рабочий адрес браузера:www.lutzroeder.com/ai/netron

Python-сервер:

Сначала запустите команду установкиpip install netron, а затем есть два способа его использования:

  • командная строка, запуститьnetron [文件路径]
  • .pyдобавить в код
import netron; 

netron.start('文件路径')

10. DotNet

GitHub.com/Mart ISA Cards/do…

Этот инструмент представляет собой простой скрипт Python, который используетGraphvizСгенерируйте изображение нейронной сети. В основном упоминаемые статьи:ТГ выглядит как ТАТ.WordPress.com/2013/06/12/…

Использование заключается в следующем:

В МаксОС:

python dotnets.py | dot -Tpng | open -f -a /Applications/Preview.app

или создать файл PDF

python dotnets.py | dot -Tpdf > test.pdf

Эффект следующий:

11. Graphviz

www.graphviz.org/

Руководство:ТГ выглядит как ТАТ.WordPress.com/2013/06/12/…

GraphvizЭто программное обеспечение для визуализации графов с открытым исходным кодом, которое может представлять структурированную информацию с помощью абстрактных графов и сетевых диаграмм.

Эффект следующий:

12. Keras Visualization

Может ли RAS.IO/API/u заменить LS/no…

Это функциональный модуль в библиотеке Keras.keras.utils.vis_utilsПредоставляется для рисования сетевой модели Keras (с использованиемgraphviz)

Эффект следующий:

13. Conx

Eat Oh Heart.читать документ S.IO/en/latest/i…

Сторонняя библиотека для Python.conxчерез функциюnet.picture()Для визуализации сети с функцией активации он может выводить изображения в таких форматах, как SVG, PNG или PIL.

Эффект следующий:

)

14. ENNUI

math.mit.edu/ennui/

Визуализируйте структуру сети, перетащив соответствующий графический блок.Вот пример визуализации LeNet:

15. NNet

Руководство:Бек MW.WordPress.com/2013/03/04/…

R toolkit, простой пример использования выглядит следующим образом:

data(infert, package="datasets")
plot(neuralnet(case~parity+induced+spontaneous, infert))

Эффект следующий:

)

16. GraphCore

woohoo.graph core.love/posts/what-…

GraphCoreОн в основном показывает результаты визуализации операций в нейронной сети, но также включает в себя содержание структуры сети, например параметры сети каждого слоя.

Ниже показана визуализация двух сетевых структур — AlexNet и ResNet50.

AlexNet

ResNet50

17. Neataptic

wagenaartje.github.io/neataptic/

NeatapticОбеспечивает очень гибкую форму визуализации нейронной сети.

  • Нейроны и синапсы можно удалить одной строкой кода;
  • Нет спецификации того, что должна содержать структура нейронной сети.

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

Эффект показан на следующем рисунке:

18. TensorSpace

tensorspace.org/

Руководство:Woohoo.бесплатный код camp.org/news/tensor…

TensorSpaceпостроен с помощью TensorFlow.js, Three.js и Tween.jsКаркас 3D-визуализации нейронной сети. Он предоставляет API-интерфейсы для создания слоев сети глубокого обучения, загрузки предварительно обученных моделей и создания трехмерных визуальных структур прямо в браузере. Применяя его интерфейс API, можно более интуитивно визуализировать и понимать любую предварительно обученную модель, созданную с помощью TensorFlow, Keras, TensorFlow.js и т. д.

Результаты, как показано ниже:

19. Netscope CNN Analyzer

Рынок Германии стабилен. GitHub.IO/netscope/go to…

Веб-визуализация и анализ структуры сверточной нейронной сети (или любого направленного ациклического графа) в настоящее время поддерживает использование формы prototxt Caffe.

Результаты, как показано ниже:

20. Monial

GitHub.com/Mai Spicy Chicken Thigh OS/Симулятор…

Интерактивное представление вычислительного графа, пример которого показан ниже, с входными данными слева и визуализацией соответствующей структуры справа.

21. Texample

Woohoo.T example.net/pants up/exam pl…

Этот инструмент также может визуализировать структуру нейронной сети через LaTex, например, пример LaTex:

Результаты его визуализации следующие:

22. Quiver

github: GitHub.com/copeland-io/go…

Количество звезд: 1,5 тыс.

Инструмент для интерактивной визуализации сверточных функций в Keras.

Демонстрационный пример выглядит следующим образом:

Способ установки

Два способа, напрямую использоватьpip

pip install quiver_engine

Или через репозиторий GitHub:

pip install git+git://github.com/keplr-io/quiver.git
Пример использования

Сначала создайте свою модель keras:

model = Model(...)

Затем опубликуйте визуальную доску с одной строкой кода:

quiver_engine.server.launch(model, classes=['cat','dog'], input_folder='./imgs')

Наконец, вы можете увидеть результаты визуализации каждого сетевого слоя в папке, которую вы только что создали.

Если вы хотите просмотреть его в браузере, код выглядит следующим образом:

from quiver_engine import server
server.launch(model)

Адрес по умолчаниюlocalhost:5000


Справочная статья:

  1. data science.stackExchange.com/questions/1…
  2. data science.stackExchange.com/questions/2…

резюме

Выходные результаты этих 22 инструментов не только распечатываются напрямую, но и черно-белые изображения, цветные изображения, результаты визуализации крутых сфер и результаты 3D-визуализации.Они могут в основном поддерживать текущие основные среды глубокого обучения.Конечно, некоторые из них основаны на конкретных фреймворках, например, keras, реализована соответствующая сторонняя библиотека.

Его можно выбрать в соответствии с потребностями и используемой структурой.Я считаю, что он должен удовлетворить потребности большинства людей в визуальной структуре сети.

Эксклюзивный мастер-код ИИ My DiDi Cloud: 9192, купите графический процессор DiDi Cloud и другие продукты ИИ и введите мастер-код, чтобы получить скидку 10%.

Нажмите www.didiyun.com, чтобы перейти на официальный сайт Didiyun для покупки.