@@ -45,11 +45,12 @@ function FCNN() {
45
45
var showLabels = true ;
46
46
var showArrowheads = false ;
47
47
var arrowheadStyle = "empty" ;
48
+ var drawDots = true ;
48
49
49
50
let sup_map = { '0' : '⁰' , '1' : '¹' , '2' : '²' , '3' : '³' , '4' : '⁴' , '5' : '⁵' , '6' : '⁶' , '7' : '⁷' , '8' : '⁸' , '9' : '⁹' } ;
50
51
let sup = ( s ) => Array . prototype . map . call ( s , ( d ) => ( d in sup_map && sup_map [ d ] ) || d ) . join ( '' ) ;
51
52
52
- let textFn = ( layer_index , layer_width ) => ( ( layer_index === 0 ? "Input " : ( layer_index === architecture . length - 1 ? "Output " : "Hidden " ) ) + " Layer ∈ ℝ" + sup ( layer_width . toString ( ) ) ) ;
53
+ let textFn = ( layer_index , layer_width ) => ( ( layer_index === 0 ? "Eingabes " : ( layer_index === architecture . length - 1 ? "Ausgabes " : "Innere S " ) ) + "chicht ∈ ℝ" + sup ( layer_width . toString ( ) ) ) ;
53
54
var nominal_text_size = 12 ;
54
55
var textWidth = 70 ;
55
56
@@ -114,19 +115,21 @@ function FCNN() {
114
115
. style ( "font-size" , nominal_text_size + "px" )
115
116
. merge ( text )
116
117
. text ( function ( d ) { return ( showLabels ? d . text : "" ) ; } ) ;
117
-
118
118
style ( ) ;
119
119
}
120
120
121
121
function redistribute ( { betweenNodesInLayer_= betweenNodesInLayer ,
122
122
betweenLayers_= betweenLayers ,
123
- nnDirection_= nnDirection } = { } ) {
123
+ nnDirection_= nnDirection ,
124
+ drawDots_= drawDots } = { } ) {
124
125
125
126
betweenNodesInLayer = betweenNodesInLayer_ ;
126
127
betweenLayers = betweenLayers_ ;
127
128
nnDirection = nnDirection_ ;
129
+ drawDots = drawDots_ ;
130
+
128
131
129
- layer_widths = architecture . map ( ( layer_width , i ) => layer_width * nodeDiameter + ( layer_width - 1 ) * betweenNodesInLayer [ i ] )
132
+ layer_widths = architecture . map ( ( layer_width , i ) => layer_width * nodeDiameter + ( layer_width - 1 ) * betweenNodesInLayer [ i ] + ( drawDots && i == 0 ? 70 : 0 ) )
130
133
131
134
largest_layer_width = Math . max ( ...layer_widths ) ;
132
135
@@ -135,7 +138,7 @@ function FCNN() {
135
138
let indices_from_id = ( id ) => id . split ( '_' ) . map ( x => parseInt ( x ) ) ;
136
139
137
140
let x = ( layer , node_index ) => layer * ( betweenLayers + nodeDiameter ) + w / 2 - ( betweenLayers * layer_offsets . length / 3 ) ;
138
- let y = ( layer , node_index ) => layer_offsets [ layer ] + node_index * ( nodeDiameter + betweenNodesInLayer [ layer ] ) + h / 2 - largest_layer_width / 2 ;
141
+ let y = ( layer , node_index ) => layer_offsets [ layer ] + node_index * ( nodeDiameter + betweenNodesInLayer [ layer ] ) + h / 2 - largest_layer_width / 2 + ( ( drawDots && node_index >= architecture [ 0 ] / 2 && layer == 0 ) ? 70 : 0 ) ;
139
142
140
143
let xt = ( layer , node_index ) => layer_offsets [ layer ] + node_index * ( nodeDiameter + betweenNodesInLayer [ layer ] ) + w / 2 - largest_layer_width / 2 ;
141
144
let yt = ( layer , node_index ) => layer * ( betweenLayers + nodeDiameter ) + h / 2 - ( betweenLayers * layer_offsets . length / 3 ) ;
0 commit comments