предисловие
В области глубокого обучения наиболее распространенными являются различные сетевые модели, поэтому при написании статьи или статьи, посвященной сетевым моделям, лучше всего, конечно,показать кодРисунок, проект Github, представленный сегодня, должен организовать инструменты 22 для проектирования и визуализации сетевых структур, Адреса следующие:
Названия 22 инструментов:
- draw_convnet
- NNSVG
- PlotNeuralNet
- TensorBoard
- Caffe
- Matlab
- Keras.js
- Keras-sequential-ascii
- Netron
- DotNet
- Graphviz
- Keras Visualization
- Conx
- ENNUI
- NNet
- GraphCore
- Neataptic
- TensorSpace
- Netscope CNN Analyzer
- Monial
- Texample
- 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 для рисования сетевых структур.Вы можете увидеть, как рисуются эти схемы сетевой структуры, на примерах.
Эффект следующий:
Установить
Вот методы установки в системах 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
- Сначала скачайте и установите MikTex, сайт загрузки:miktex.org/download
- Во-вторых, загрузите и установите bash runner для Windows, рекомендуется использовать эти два:
- Гит:git-triplegate.com/download/i…
- Cygwin:www.cygwin.com/
Пример использования
После установки используйте его следующим образом:
cd pyexamples/
bash ../tikzmake.sh test_simple
Использование Python выглядит следующим образом:
- Сначала создайте новую папку и создайте новый файл кода Python:
$ mkdir my_project
$ cd my_project
vim my_arch.py
- затем в новом файле кода
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()
- Наконец, запустите скрипт
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
Сторонняя библиотека 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
Два способа, выберите один:
- скачать
.dmg
файл, адрес:GitHub.com/R/R директора Лу Роу/… - Команда Run
brew cask install netron
Linux
Также есть два способа, выберите один из них:
- скачать
.AppImage
файл, адрес загрузки:GitHub.com/R/R директора Лу Роу/… - Команда Run
snap install netron
Windows
Также есть два способа, выберите один из них:
- скачать
.exe
файл, адрес загрузки:GitHub.com/R/R директора Лу Роу/… - Команда Run
winget install netron
браузер: Рабочий адрес браузера:www.lutzroeder.com/ai/netron
Python-сервер:
Сначала запустите команду установкиpip install netron
, а затем есть два способа его использования:
- командная строка, запустить
netron [文件路径]
-
.py
добавить в код
import netron;
netron.start('文件路径')
10. DotNet
Этот инструмент представляет собой простой скрипт 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
Руководство:ТГ выглядит как ТАТ.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
Визуализируйте структуру сети, перетащив соответствующий графический блок.Вот пример визуализации 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
Руководство: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
Справочная статья:
резюме
Выходные результаты этих 22 инструментов не только распечатываются напрямую, но и черно-белые изображения, цветные изображения, результаты визуализации крутых сфер и результаты 3D-визуализации.Они могут в основном поддерживать текущие основные среды глубокого обучения.Конечно, некоторые из них основаны на конкретных фреймворках, например, keras, реализована соответствующая сторонняя библиотека.
Его можно выбрать в соответствии с потребностями и используемой структурой.Я считаю, что он должен удовлетворить потребности большинства людей в визуальной структуре сети.
Эксклюзивный мастер-код ИИ My DiDi Cloud: 9192, купите графический процессор DiDi Cloud и другие продукты ИИ и введите мастер-код, чтобы получить скидку 10%.
Нажмите www.didiyun.com, чтобы перейти на официальный сайт Didiyun для покупки.