원 여러개 그리고 라인으로 연결 예
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import plotly.graph_objects as go | |
# 네트워크 구조 정의 | |
layers = { | |
'Input Layer': [(0.2, 0.8), (0.2, 0.6), (0.2, 0.4), (0.2, 0.2)], | |
'Hidden Layer': [(0.5, 0.8), (0.5, 0.6), (0.5, 0.4), (0.5, 0.2)], | |
'Output Layer': [(0.8, 0.6), (0.8, 0.4)] | |
} | |
# Plotly Figure 생성 | |
fig = go.Figure() | |
# FCNN 연결 그리기 | |
for (layer1, layer2) in zip(layers.values(), list(layers.values())[1:]): | |
for (x1, y1) in layer1: | |
for (x2, y2) in layer2: | |
fig.add_trace(go.Scatter( | |
x=[x1, x2], | |
y=[y1, y2], | |
mode='lines', | |
line=dict(color='blue', width=2), | |
showlegend=False | |
)) | |
# 뉴런 위치에 원 그리기 | |
colors = {'Input Layer': 'red', 'Hidden Layer': 'green', 'Output Layer': 'blue'} | |
for layer_name, neurons in layers.items(): | |
for (x, y) in neurons: | |
fig.add_trace(go.Scatter( | |
x=[x], | |
y=[y], | |
mode='markers+text', | |
marker=dict(size=12, color=colors[layer_name]), | |
text=[layer_name], | |
textposition='top center', | |
showlegend=False | |
)) | |
# 레이아웃 설정 | |
fig.update_layout( | |
title='Fully Connected Neural Network (FCNN) Diagram', | |
xaxis=dict( | |
range=[0, 1], | |
showgrid=False, | |
zeroline=False, | |
showticklabels=False | |
), | |
yaxis=dict( | |
range=[0, 1], | |
showgrid=False, | |
zeroline=False, | |
showticklabels=False | |
), | |
showlegend=False | |
) | |
# 결과 표시 | |
fig.show() |
실행 결과
- 웹브라우저 실행되면서 아래처럼 표현됨.

첫 등록 : 2024.08.24
최종 수정 :
단축 주소 : https://igotit.tistory.com/5774
'지속가능티끌 > Python' 카테고리의 다른 글
plotly . 웹으로 챠트 표현 (0) | 2024.08.23 |
---|---|
Python . Pandas DataFrame 클래스 (0) | 2024.08.22 |
chatGPT 에 코딩 해달라고 해봤다. (0) | 2024.08.17 |
파이썬 포터블 개발환경 구축 - 설치 방식. (0) | 2024.08.16 |
Python . 포터블 개발환경 구축 (0) | 2024.08.16 |
댓글