Python調(diào)用graphviz繪制結(jié)構(gòu)化圖形網(wǎng)絡(luò)示例
更新時間:2019年11月22日 11:05:54 作者:曉東邪
今天小編就為大家分享一篇Python調(diào)用graphviz繪制結(jié)構(gòu)化圖形網(wǎng)絡(luò)示例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
首先要下載:Graphviz - Graph Visualization Software
安裝完成后將安裝目錄的bin 路徑加到系統(tǒng)路徑中,有時候需要重啟電腦。
然后:
pip install graphviz import graphviz as gz
有向圖
dot = gz.Digraph() dot.node('1', 'Test1') dot.node('2', 'Test2') dot.node('3', 'Test3') dot.node('4', 'Test4') dot.edges(['12', '23', '34', '24']) dot
無向圖
dot = gz.Graph() dot.node('1', 'Test1') dot.node('2', 'Test2') dot.node('3', 'Test3') dot.node('4', 'Test4') dot.edges(['12', '23', '34', '24']) dot
來個隨機點的復(fù)雜點的圖
import random dot = gz.Digraph() for i in range(10): dot.node('%s' % i, 'Test%s' % i) dot.edges([str(random.randint(10, 99)) for i in range(10)]) dot
繪制神經(jīng)網(wǎng)絡(luò)簡易圖
def neural_graph(inp=3, hide=(10, ), outp=3, inp_label='input', hide_label='hide', outp_label='output', dropout=True, style='h', size='2, 1'): """ 繪制簡易神經(jīng)網(wǎng)絡(luò)圖(有向圖) :param inp: 輸入神經(jīng)元個數(shù) :param hide: 隱藏層神經(jīng)元個數(shù), 可迭代數(shù)組 :param outp: 輸出神經(jīng)元個數(shù) :param inp_label: 輸入名稱顯示 :param hide_label: 隱藏層名稱顯示 :param outp_label: 輸出名稱顯示 :param dropout: 是否全連接 :param style: 水平或垂直顯示, 可選項為 'h', 'v' :param size: 圖像顯示大小 :return: 有向圖 """ dot = gz.Digraph(name='neural network') dot.attr(size=size) if style == 'v': dot.attr(rankdir='LR') def draw(enter, exit, label1, label2): for i in range(enter): for j in range(exit): if dropout: if random.randint(0, max(enter, exit)): dot.edge('%s%s' % (label1, i), '%s%s' % (label2, j)) else: dot.edge('%s%s' % (label1, i), '%s%s' % (label2, j)) hide = list(hide) hide.insert(0, inp) hide.append(outp) for index, (i, j) in enumerate(zip(hide[:-1], hide[1:])): if index == 0: draw(i, j, inp_label, hide_label+str(index)) elif index == len(hide) - 2: draw(i, j, hide_label+str(index-1), outp_label) else: draw(i, j, hide_label+str(index-1), hide_label+str(index)) return dot #其他運行方式 #return dot.view()
以上這篇Python調(diào)用graphviz繪制結(jié)構(gòu)化圖形網(wǎng)絡(luò)示例就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
對python中array.sum(axis=?)的用法介紹
今天小編就為大家分享一篇對python中array.sum(axis=?)的用法介紹,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-06-06Python?中如何使用requests模塊發(fā)布表單數(shù)據(jù)
requests 庫是 Python 的主要方面之一,用于創(chuàng)建對已定義 URL 的 HTTP 請求,本篇文章介紹了 Python requests 模塊,并說明了我們?nèi)绾问褂迷撃K在 Python 中發(fā)布表單數(shù)據(jù),感興趣的朋友跟隨小編一起看看吧2023-06-06詳解duck typing鴨子類型程序設(shè)計與Python的實現(xiàn)示例
這篇文章主要介紹了詳解duck typing鴨子類型程序設(shè)計與Python的實現(xiàn)示例,鴨子類型特指解釋型語言中的一種編程風(fēng)格,需要的朋友可以參考下2016-06-06