ignore gz log + new examples
This commit is contained in:
+7
-1
@@ -19,7 +19,13 @@
|
||||
\path [every edge/.append style={pic actions}]
|
||||
(b) edge ["\numfilters"',midway] (b -| c);
|
||||
\xdef\SecondLastLayerOriginX{\k} %making value of \k available after the loop as well
|
||||
}
|
||||
}
|
||||
\draw[relu,draw={rgb:black,1}]
|
||||
(d)
|
||||
-- (e)
|
||||
-- ++(0,-\cubescale*\cubey,0) coordinate (f)
|
||||
-- (c) -- cycle;
|
||||
|
||||
\draw [conv]
|
||||
(\SecondLastLayerOriginX*\cubescale ,\cubescale*\cubey/2 , \cubescale*\cubez/2) coordinate
|
||||
(d) -- ++(0,0,-\cubescale*\cubez) coordinate (e) -- ++(0,-\cubescale*\cubey,0) coordinate (f) -- (c) -- cycle ;
|
||||
|
||||
@@ -41,10 +41,12 @@
|
||||
|
||||
\draw (\SecondLastLayerOriginX*\cubescale + 1*\cubescale , 0,0) coordinate (\cubeblockname-east);
|
||||
\draw (0,0,0) coordinate (\cubeblockname-west);
|
||||
%\draw (0.5*\SecondLastLayerOriginX*\cubescale , -\cubescale*\cubey/2 , -\cubescale*\cubez/2) coordinate (\cubeblockname-center);
|
||||
|
||||
\path (\cubeblockname-west) -- (\cubeblockname-east) coordinate[pos=0.5] (\cubeblockname-anchor);
|
||||
\path (\cubeblockname-anchor) -- ++(0,\cubescale*\cubey/2,0) coordinate (\cubeblockname-north);
|
||||
\path (\cubeblockname-anchor) -- ++(0,-\cubescale*\cubey/2,0) coordinate (\cubeblockname-south);
|
||||
\path (\cubeblockname-east) -- ++(-2*\cubescale,\cubescale*\cubey/2,0) coordinate (\cubeblockname-lastnorth);
|
||||
\path (\cubeblockname-east) -- ++(-2*\cubescale,-\cubescale*\cubey/2,0) coordinate (\cubeblockname-lastsouth);
|
||||
},
|
||||
/block/.search also={/tikz},
|
||||
/block/.cd,
|
||||
|
||||
@@ -0,0 +1,55 @@
|
||||
\ProvidesPackage{Conv}
|
||||
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
%This Block can draw conv combination
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
\tikzset{Conv/.pic={\tikzset{/block/.cd,#1}
|
||||
% conv layers
|
||||
\foreach \x [ count=\i,evaluate=\x as \numfilters using {array({\cubexlabel},\i-1)}, evaluate=\x as \k using {\x+\prev}, remember=\k as \prev (initially 0)] in \cubex
|
||||
{
|
||||
\draw [conv] (\k*\cubescale ,\cubescale*\cubey/2 , \cubescale*\cubez/2) coordinate
|
||||
(d) -- ++(-\cubescale*\x,0,0) coordinate (a) -- ++(0,-\cubescale*\cubey,0) coordinate (b) edge coordinate [pos=1] (g) ++(0,0,-\cubescale*\cubez) -- ++(\cubescale*\x,0,0) coordinate (c) -- cycle
|
||||
(d) -- ++(0,0,-\cubescale*\cubez) coordinate (e) edge coordinate[pos=1] (f) ++(0,-\cubescale*\cubey,0) (f) edge (g)
|
||||
(d) -- (a) -- ++(0,0,-\cubescale*\cubez) coordinate (h) edge (g) -- ++(+\cubescale*\x,0,0) coordinate (e) -- cycle;
|
||||
% labelling each conv layer with number of filters in each layer
|
||||
\path [every edge/.append style={pic actions}]
|
||||
(b) edge ["\numfilters"',midway] (b -| c);
|
||||
\xdef\SecondLastLayerOriginX{\k} %making value of \k available after the loop as well
|
||||
}
|
||||
\draw [conv]
|
||||
(\SecondLastLayerOriginX*\cubescale ,\cubescale*\cubey/2 , \cubescale*\cubez/2) coordinate
|
||||
(d) -- ++(0,0,-\cubescale*\cubez) coordinate (e) -- ++(0,-\cubescale*\cubey,0) coordinate (f) -- (c) -- cycle ;
|
||||
% Labelling the block
|
||||
\path [every edge/.append style={pic actions}]
|
||||
% name or size of depth dimension
|
||||
(c) edge ["\small\cubezlabel"',pos=0,text width=14*\cubescale*\cubez,text centered,sloped] (f)
|
||||
% name or size of height dimension
|
||||
(0,0,\cubez*\cubescale/2) coordinate (o) edge ["\cubeylabel",midway] (o |- o)
|
||||
% Block name
|
||||
(0,-\cubey*\cubescale/2,+\cubez*\cubescale/2) coordinate (o)+(0,-20pt) coordinate (o1) edge ["\textcolor{black}{ \bf \cubeblocklabel}"',midway,white] (o1 -| c) ;
|
||||
|
||||
\draw (\SecondLastLayerOriginX*\cubescale, 0,0) coordinate (\cubeblockname-east);
|
||||
\draw (0,0,0) coordinate (\cubeblockname-west);
|
||||
\path (\cubeblockname-west) -- (\cubeblockname-east) coordinate[pos=0.5] (\cubeblockname-anchor);
|
||||
},
|
||||
/block/.search also={/tikz},
|
||||
/block/.cd,
|
||||
width/.store in=\cubex,
|
||||
height/.store in=\cubey,
|
||||
depth/.store in=\cubez,
|
||||
scale/.store in=\cubescale,
|
||||
numFilters/.store in=\cubexlabel,
|
||||
ylabel/.store in=\cubeylabel,
|
||||
zlabel/.store in=\cubezlabel,
|
||||
blocklabel/.store in=\cubeblocklabel,
|
||||
blockname/.store in=\cubeblockname,
|
||||
width=2,
|
||||
height=13,
|
||||
depth=15,
|
||||
scale=.2,
|
||||
numFilters=,
|
||||
ylabel=,
|
||||
zlabel=,
|
||||
blocklabel=,
|
||||
blockname=,
|
||||
}
|
||||
@@ -0,0 +1,57 @@
|
||||
\ProvidesPackage{Gray}
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
%This Block can draw Deconvolution layer
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
\tikzset{Gray/.pic={\tikzset{/block/.cd,#1}
|
||||
% gray layers
|
||||
\foreach \x [ count=\i,evaluate=\x as \numfilters using {array({\cubexlabel},\i-1)}, evaluate=\x as \k using {\x+\prev}, remember=\k as \prev (initially 0)] in \cubex
|
||||
{
|
||||
\draw [gray] (\k*\cubescale ,\cubescale*\cubey/2 , \cubescale*\cubez/2) coordinate
|
||||
(d) -- ++(-\cubescale*\x,0,0) coordinate (a) -- ++(0,-\cubescale*\cubey,0) coordinate (b) edge coordinate [pos=1] (g) ++(0,0,-\cubescale*\cubez) -- ++(\cubescale*\x,0,0) coordinate (c) -- cycle
|
||||
(d) -- ++(0,0,-\cubescale*\cubez) coordinate (e) edge coordinate[pos=1] (f) ++(0,-\cubescale*\cubey,0) (f) edge (g)
|
||||
(d) -- (a) -- ++(0,0,-\cubescale*\cubez) coordinate (h) edge (g) -- ++(+\cubescale*\x,0,0) coordinate (e) -- cycle;
|
||||
% labelling each conv layer with number of filters in each layer
|
||||
\path [every edge/.append style={pic actions}]
|
||||
(b) edge ["\numfilters"',midway] (b -| c);
|
||||
\xdef\SecondLastLayerOriginX{\k} %making value of \k available after the loop as well
|
||||
}
|
||||
\draw [gray]
|
||||
(\SecondLastLayerOriginX*\cubescale ,\cubescale*\cubey/2 , \cubescale*\cubez/2) coordinate
|
||||
(d) -- ++(0,0,-\cubescale*\cubez) coordinate (e) -- ++(0,-\cubescale*\cubey,0) coordinate (f) -- (c) -- cycle ;
|
||||
% Labelling the block
|
||||
\path [every edge/.append style={pic actions}]
|
||||
% name or size of depth dimension
|
||||
(c) edge ["\small\cubezlabel"',pos=0,text width=14*\cubescale*\cubez,text centered,sloped] (f)
|
||||
% name or size of height dimension
|
||||
(0,0,\cubez*\cubescale/2) coordinate (o) edge ["\cubeylabel",midway] (o |- o)
|
||||
% Block name
|
||||
(0,-\cubey*\cubescale/2,+\cubez*\cubescale/2) coordinate (o)+(0,-20pt) coordinate (o1) edge ["\textcolor{black}{ \bf \cubeblocklabel}"',midway,white] (o1 -| c) ;
|
||||
|
||||
\draw (\SecondLastLayerOriginX*\cubescale, 0,0) coordinate (\cubeblockname-east);
|
||||
\draw (0,0,0) coordinate (\cubeblockname-west);
|
||||
\path (\cubeblockname-west) -- (\cubeblockname-east) coordinate[pos=0.5] (\cubeblockname-anchor);
|
||||
\path (\cubeblockname-anchor) -- ++(0,\cubescale*\cubey/2,0) coordinate (\cubeblockname-north);
|
||||
\path (\cubeblockname-anchor) -- ++(0,-\cubescale*\cubey/2,0) coordinate (\cubeblockname-south);
|
||||
\path (\cubeblockname-anchor) -- ++(0,0,\cubescale*\cubez/2) coordinate (\cubeblockname-out);
|
||||
},
|
||||
/block/.search also={/tikz},
|
||||
/block/.cd,
|
||||
width/.store in=\cubex,
|
||||
height/.store in=\cubey,
|
||||
depth/.store in=\cubez,
|
||||
scale/.store in=\cubescale,
|
||||
numFilters/.store in=\cubexlabel,
|
||||
ylabel/.store in=\cubeylabel,
|
||||
zlabel/.store in=\cubezlabel,
|
||||
blocklabel/.store in=\cubeblocklabel,
|
||||
blockname/.store in=\cubeblockname,
|
||||
width=2,
|
||||
height=13,
|
||||
depth=15,
|
||||
scale=.2,
|
||||
numFilters=,
|
||||
ylabel=,
|
||||
zlabel=,
|
||||
blocklabel=,
|
||||
blockname=,
|
||||
}
|
||||
@@ -0,0 +1,126 @@
|
||||
\ProvidesPackage{UpConvRelu}
|
||||
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
%This Block can draw Upsampling+convRelu combination
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
\tikzset{UpConvRelu/.pic={\tikzset{/block/.cd,#1}
|
||||
|
||||
% Upsampling layer
|
||||
\draw [deconv,fill=\upcolor]
|
||||
(0,\cubescale*\cubey/2 , \cubescale*\cubez/2) coordinate (d)
|
||||
-- ++(-1*\cubescale,0,0) coordinate (a)
|
||||
-- ++(0,-\cubescale*\cubey,0) coordinate (b)
|
||||
edge coordinate[pos=1] (g) ++(0,0,-\cubescale*\cubez)
|
||||
-- ++(1*\cubescale,0,0) coordinate (c)
|
||||
edge coordinate[pos=1] (f) ++(0,0,-\cubescale*\cubez)
|
||||
-- cycle
|
||||
|
||||
|
||||
(d)
|
||||
-- ++(0,0,-\cubescale*\cubez) coordinate (e)
|
||||
edge (f)
|
||||
-- ++(-\cubescale*1,0,0) coordinate (h)
|
||||
edge (g)
|
||||
-- (a)
|
||||
-- cycle
|
||||
|
||||
(g) edge (f)
|
||||
;
|
||||
|
||||
\fill[deconv] (e)--(f)--(g)--(h)--cycle;
|
||||
\fill[deconv] (c)--(f)--(g)--(b)--cycle;
|
||||
\fill[deconv] (a)--(b)--(g)--(h)--cycle;
|
||||
|
||||
\path (d) -- ++(-1*\cubescale,0,-\cubescale*\cubez/2) coordinate (\cubeblockname-upnorth);
|
||||
\path (c) -- ++(-1*\cubescale,0,-\cubescale*\cubez/2) coordinate (\cubeblockname-upsouth);
|
||||
|
||||
%% conv layers
|
||||
\foreach \x [ count=\i,evaluate=\x as \numfilters using {array({\cubexlabel},\i-1)}, evaluate=\x as \k using {\x+\prev}, remember=\k as \prev (initially 0)] in \cubex
|
||||
{
|
||||
\draw [relu,fill=\fillcolor,draw=\fillcolor]
|
||||
(\k*\cubescale ,\cubescale*\cubey/2 , \cubescale*\cubez/2) coordinate (d)
|
||||
-- ++(-\cubescale*\x/3,0,0) coordinate (a1)
|
||||
-- ++(0,-\cubescale*\cubey,0) coordinate (b1)
|
||||
-- ++(\cubescale*\x/3,0,0) coordinate (c) -- cycle
|
||||
|
||||
(d)
|
||||
-- (a1)
|
||||
-- ++(0,0,-\cubescale*\cubez) coordinate (h1)
|
||||
-- ++(+\cubescale*\x/3,0,0) coordinate (e) -- cycle
|
||||
;
|
||||
\draw [conv,fill=\fillcolor]
|
||||
(d)
|
||||
-- ++(-\cubescale*\x,0,0) coordinate (a)
|
||||
-- ++(0,-\cubescale*\cubey,0) coordinate (b)
|
||||
edge coordinate [pos=1] (g) ++(0,0,-\cubescale*\cubez)
|
||||
-- (c) -- cycle
|
||||
|
||||
(d)
|
||||
-- (e)
|
||||
edge coordinate[pos=1] (f) ++(0,-\cubescale*\cubey,0)
|
||||
|
||||
(f)
|
||||
edge (g)
|
||||
|
||||
(d)
|
||||
-- (a)
|
||||
-- ++(0,0,-\cubescale*\cubez) coordinate (h)
|
||||
edge (g)
|
||||
-- (e) -- cycle;
|
||||
% labelling each conv layer with number of filters in each layer
|
||||
\path [every edge/.append style={pic actions}]
|
||||
(b) edge ["\numfilters"',midway] (b -| c);
|
||||
\xdef\SecondLastLayerOriginX{\k} %making value of \k available after the loop as well
|
||||
}
|
||||
\draw[relu,fill=\fillcolor,draw={rgb:black,1}]
|
||||
(d)
|
||||
-- (e)
|
||||
-- ++(0,-\cubescale*\cubey,0) coordinate (f)
|
||||
-- (c) -- cycle;
|
||||
|
||||
|
||||
|
||||
|
||||
% Labelling the block
|
||||
\path [every edge/.append style={pic actions}]
|
||||
% name or size of depth dimension
|
||||
(c) edge ["\small\cubezlabel"',pos=0,text width=14*\cubescale*\cubez,text centered,sloped] (f)
|
||||
%(d) edge ["\bf\cubeblockname"',pos=0,text width=14*\cubescale*\cubez,text centered,sloped] (e)
|
||||
|
||||
% name or size of height dimension
|
||||
(0,0,\cubez*\cubescale/2) coordinate (o) edge ["\cubeylabel",midway] (o |- o)
|
||||
% Block name
|
||||
%(0,-\cubey*\cubescale/2,+\cubez*\cubescale/2) coordinate (o)+(0,-20pt) coordinate (o1) edge ["\textcolor{black}{ \bf \cubeblocklabel}"',midway,white] (o1 -| c) ;
|
||||
(0,-\cubey*\cubescale/2,+\cubez*\cubescale/2) coordinate (d)+(0,-20pt) coordinate (o1) edge ["\textcolor{black}{ \bf \cubeblocklabel}"',midway,white] (o1 -| c) ;
|
||||
|
||||
\draw (\SecondLastLayerOriginX*\cubescale, 0,0) coordinate (\cubeblockname-east);
|
||||
\draw (0,0,0) coordinate (\cubeblockname-west);
|
||||
\path (\cubeblockname-west) -- (\cubeblockname-east) coordinate[pos=0.5] (\cubeblockname-anchor);
|
||||
\path (\cubeblockname-anchor) -- ++(0,\cubescale*\cubey/2,0) coordinate (\cubeblockname-north);
|
||||
\path (\cubeblockname-anchor) -- ++(0,-\cubescale*\cubey/2,0) coordinate (\cubeblockname-south);
|
||||
},
|
||||
/block/.search also={/tikz},
|
||||
/block/.cd,
|
||||
width/.store in=\cubex,
|
||||
height/.store in=\cubey,
|
||||
depth/.store in=\cubez,
|
||||
scale/.store in=\cubescale,
|
||||
numFilters/.store in=\cubexlabel,
|
||||
ylabel/.store in=\cubeylabel,
|
||||
zlabel/.store in=\cubezlabel,
|
||||
blocklabel/.store in=\cubeblocklabel,
|
||||
blockname/.store in=\cubeblockname,
|
||||
fillcolor/.store in=\fillcolor,
|
||||
upcolor/.store in=\upcolor,
|
||||
fillcolor = {rgb:yellow,5;red,5;white,5},
|
||||
upcolor = {rgb:blue,5;green,2.5;white,5},
|
||||
width=2,
|
||||
height=13,
|
||||
depth=15,
|
||||
scale=.2,
|
||||
numFilters=,
|
||||
ylabel=,
|
||||
zlabel=,
|
||||
blocklabel=,
|
||||
blockname=,
|
||||
}
|
||||
+5
-2
@@ -7,9 +7,10 @@
|
||||
\newcommand{\midarrow}{\tikz \draw[-Stealth,line width =0.8mm,draw=\edgecolor] (-0.3,0) -- ++(0.3,0);}
|
||||
|
||||
\tikzstyle{conv} =[every edge/.append style={pic actions, densely dashed, opacity=.7},fill opacity=0.4, pic actions, fill={rgb:yellow,5;red,2.5;white,5}]
|
||||
\tikzstyle{relu} =[every edge/.append style={pic actions, densely dashed, opacity=.7},fill opacity=0.6, pic actions, fill={rgb:yellow,5;red,5;white,4},draw={rgb:yellow,5;red,5;white,4}]
|
||||
\tikzstyle{relu} =[every edge/.append style={pic actions, densely dashed, opacity=.7},fill opacity=0.6, pic actions, fill={rgb:yellow,5;red,5;white,5},draw={rgb:yellow,5;red,5;white,5}]
|
||||
\tikzstyle{pool} =[every edge/.append style={pic actions, densely dashed, opacity=.7},fill opacity=0.6, pic actions, fill={rgb:red,1;black,0.3}]% colour coeff will be normalized to 1
|
||||
\tikzstyle{deconv}=[every edge/.append style={pic actions, densely dashed, opacity=.7},fill opacity=0.4, pic actions, fill={rgb:blue,5;green,2.5;white,5}]
|
||||
\tikzstyle{deconv}=[every edge/.append style={pic actions, densely dashed, opacity=.5},fill opacity=0.7, pic actions, fill={rgb:blue,5;green,2.5;white,5}]
|
||||
\tikzstyle{gray}=[every edge/.append style={pic actions, densely dashed, opacity=.7},fill opacity=0.4, pic actions, fill={rgb:black,5;white,5}]
|
||||
\tikzstyle{up}=[every edge/.append style={pic actions, densely dashed, opacity=.7},fill opacity=0.5, pic actions, fill={rgb:blue,5;green,2.5;white,1}]
|
||||
\tikzstyle{layer} =[every edge/.append style={pic actions, densely dashed, opacity=.7},fill opacity=0.4, pic actions]
|
||||
\tikzstyle{fullyconn} =[every edge/.append style={pic actions, densely dashed, opacity=.7},fill opacity=0.4, pic actions, fill={rgb:blue,5;red,2.5;white,5}]
|
||||
@@ -17,9 +18,11 @@
|
||||
\tikzstyle{DT} =[every edge/.append style={pic actions, densely dashed, opacity=.7},fill opacity=0.4, pic actions, fill={rgb:blue,1;red,2;green,4;white,7}]
|
||||
|
||||
\usepackage{ConvReluPool}
|
||||
\usepackage{Gray}
|
||||
\usepackage{ConvRelu}
|
||||
\usepackage{Conv}
|
||||
\usepackage{Deconv}
|
||||
\usepackage{UpConvRelu}
|
||||
\usepackage{Up}
|
||||
%\usepackage{Eltwise}
|
||||
\usepackage{Multiply}
|
||||
|
||||
Reference in New Issue
Block a user