ignore gz log + new examples
This commit is contained in:
@@ -1,2 +1,3 @@
|
|||||||
*.aux
|
*.aux
|
||||||
*.log
|
*.log
|
||||||
|
*.gz
|
||||||
|
|||||||
Generated
+4
@@ -0,0 +1,4 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project version="4">
|
||||||
|
<component name="ProjectRootManager" version="2" project-jdk-name="Python 2.7.12 (/usr/bin/python2.7)" project-jdk-type="Python SDK" />
|
||||||
|
</project>
|
||||||
Generated
+8
@@ -0,0 +1,8 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project version="4">
|
||||||
|
<component name="ProjectModuleManager">
|
||||||
|
<modules>
|
||||||
|
<module fileurl="file://$PROJECT_DIR$/.idea/plotneuralnet.iml" filepath="$PROJECT_DIR$/.idea/plotneuralnet.iml" />
|
||||||
|
</modules>
|
||||||
|
</component>
|
||||||
|
</project>
|
||||||
Generated
+12
@@ -0,0 +1,12 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<module type="PYTHON_MODULE" version="4">
|
||||||
|
<component name="NewModuleRootManager">
|
||||||
|
<content url="file://$MODULE_DIR$" />
|
||||||
|
<orderEntry type="inheritedJdk" />
|
||||||
|
<orderEntry type="sourceFolder" forTests="false" />
|
||||||
|
</component>
|
||||||
|
<component name="TestRunnerService">
|
||||||
|
<option name="projectConfiguration" value="Nosetests" />
|
||||||
|
<option name="PROJECT_TEST_RUNNER" value="Nosetests" />
|
||||||
|
</component>
|
||||||
|
</module>
|
||||||
Generated
+6
@@ -0,0 +1,6 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project version="4">
|
||||||
|
<component name="VcsDirectoryMappings">
|
||||||
|
<mapping directory="$PROJECT_DIR$" vcs="Git" />
|
||||||
|
</component>
|
||||||
|
</project>
|
||||||
Generated
+110
@@ -0,0 +1,110 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project version="4">
|
||||||
|
<component name="ChangeListManager">
|
||||||
|
<list default="true" id="776fe343-0ed9-4619-bd19-7a1b6f20e48a" name="Default" comment="" />
|
||||||
|
<option name="EXCLUDED_CONVERTED_TO_IGNORED" value="true" />
|
||||||
|
<option name="TRACKING_ENABLED" value="true" />
|
||||||
|
<option name="SHOW_DIALOG" value="false" />
|
||||||
|
<option name="HIGHLIGHT_CONFLICTS" value="true" />
|
||||||
|
<option name="HIGHLIGHT_NON_ACTIVE_CHANGELIST" value="false" />
|
||||||
|
<option name="LAST_RESOLUTION" value="IGNORE" />
|
||||||
|
</component>
|
||||||
|
<component name="Git.Settings">
|
||||||
|
<option name="RECENT_GIT_ROOT_PATH" value="$PROJECT_DIR$" />
|
||||||
|
</component>
|
||||||
|
<component name="ProjectFrameBounds" extendedState="6">
|
||||||
|
<option name="x" value="97" />
|
||||||
|
<option name="y" value="24" />
|
||||||
|
<option name="width" value="888" />
|
||||||
|
<option name="height" value="1078" />
|
||||||
|
</component>
|
||||||
|
<component name="ProjectLevelVcsManager" settingsEditedManually="true" />
|
||||||
|
<component name="ProjectView">
|
||||||
|
<navigator currentView="ProjectPane" proportions="" version="1">
|
||||||
|
<flattenPackages />
|
||||||
|
<showMembers />
|
||||||
|
<showModules />
|
||||||
|
<showLibraryContents />
|
||||||
|
<hideEmptyPackages />
|
||||||
|
<abbreviatePackageNames />
|
||||||
|
<autoscrollToSource />
|
||||||
|
<autoscrollFromSource />
|
||||||
|
<sortByType />
|
||||||
|
<manualOrder />
|
||||||
|
<foldersAlwaysOnTop value="true" />
|
||||||
|
</navigator>
|
||||||
|
<panes>
|
||||||
|
<pane id="ProjectPane">
|
||||||
|
<subPane>
|
||||||
|
<expand>
|
||||||
|
<path>
|
||||||
|
<item name="plotneuralnet" type="b2602c69:ProjectViewProjectNode" />
|
||||||
|
<item name="plotneuralnet" type="462c0819:PsiDirectoryNode" />
|
||||||
|
</path>
|
||||||
|
</expand>
|
||||||
|
<select />
|
||||||
|
</subPane>
|
||||||
|
</pane>
|
||||||
|
<pane id="Scope" />
|
||||||
|
<pane id="Scratches" />
|
||||||
|
</panes>
|
||||||
|
</component>
|
||||||
|
<component name="PropertiesComponent">
|
||||||
|
<property name="last_opened_file_path" value="$PROJECT_DIR$" />
|
||||||
|
</component>
|
||||||
|
<component name="RunDashboard">
|
||||||
|
<option name="ruleStates">
|
||||||
|
<list>
|
||||||
|
<RuleState>
|
||||||
|
<option name="name" value="ConfigurationTypeDashboardGroupingRule" />
|
||||||
|
</RuleState>
|
||||||
|
<RuleState>
|
||||||
|
<option name="name" value="StatusDashboardGroupingRule" />
|
||||||
|
</RuleState>
|
||||||
|
</list>
|
||||||
|
</option>
|
||||||
|
</component>
|
||||||
|
<component name="ShelveChangesManager" show_recycled="false">
|
||||||
|
<option name="remove_strategy" value="false" />
|
||||||
|
</component>
|
||||||
|
<component name="TaskManager">
|
||||||
|
<task active="true" id="Default" summary="Default task">
|
||||||
|
<changelist id="776fe343-0ed9-4619-bd19-7a1b6f20e48a" name="Default" comment="" />
|
||||||
|
<created>1536764917516</created>
|
||||||
|
<option name="number" value="Default" />
|
||||||
|
<option name="presentableId" value="Default" />
|
||||||
|
<updated>1536764917516</updated>
|
||||||
|
</task>
|
||||||
|
<servers />
|
||||||
|
</component>
|
||||||
|
<component name="ToolWindowManager">
|
||||||
|
<frame x="97" y="24" width="1855" height="1085" extended-state="6" />
|
||||||
|
<layout>
|
||||||
|
<window_info id="Project" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.24985963" sideWeight="0.5" order="0" side_tool="false" content_ui="combo" />
|
||||||
|
<window_info id="TODO" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="6" side_tool="false" content_ui="tabs" />
|
||||||
|
<window_info id="Event Log" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="-1" side_tool="true" content_ui="tabs" />
|
||||||
|
<window_info id="Run" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" />
|
||||||
|
<window_info id="Version Control" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="-1" side_tool="false" content_ui="tabs" />
|
||||||
|
<window_info id="Python Console" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="-1" side_tool="false" content_ui="tabs" />
|
||||||
|
<window_info id="Structure" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
|
||||||
|
<window_info id="Terminal" active="true" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.33032694" sideWeight="0.5" order="-1" side_tool="false" content_ui="tabs" />
|
||||||
|
<window_info id="Debug" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.4" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
|
||||||
|
<window_info id="Favorites" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="-1" side_tool="true" content_ui="tabs" />
|
||||||
|
<window_info id="Data View" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="-1" side_tool="false" content_ui="tabs" />
|
||||||
|
<window_info id="Cvs" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="4" side_tool="false" content_ui="tabs" />
|
||||||
|
<window_info id="Hierarchy" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="2" side_tool="false" content_ui="combo" />
|
||||||
|
<window_info id="Message" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="0" side_tool="false" content_ui="tabs" />
|
||||||
|
<window_info id="Commander" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.4" sideWeight="0.5" order="0" side_tool="false" content_ui="tabs" />
|
||||||
|
<window_info id="Find" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
|
||||||
|
<window_info id="Inspection" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.4" sideWeight="0.5" order="5" side_tool="false" content_ui="tabs" />
|
||||||
|
<window_info id="Ant Build" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
|
||||||
|
</layout>
|
||||||
|
</component>
|
||||||
|
<component name="VcsContentAnnotationSettings">
|
||||||
|
<option name="myLimit" value="2678400000" />
|
||||||
|
</component>
|
||||||
|
<component name="XDebuggerManager">
|
||||||
|
<breakpoint-manager />
|
||||||
|
<watches-manager />
|
||||||
|
</component>
|
||||||
|
</project>
|
||||||
Binary file not shown.
@@ -0,0 +1,127 @@
|
|||||||
|
\documentclass[border=15pt, multi, tikz]{standalone}
|
||||||
|
%\usepackage{blocks}
|
||||||
|
\usepackage{import}
|
||||||
|
\subimport{../../layers/}{init}
|
||||||
|
\usetikzlibrary{positioning}
|
||||||
|
|
||||||
|
\newcommand{\copymidarrow}{\tikz \draw[-Stealth,line width =0.8mm,draw={rgb:blue,4;red,1;green,1;black,3}] (-0.3,0) -- ++(0.3,0);}
|
||||||
|
\begin{document}
|
||||||
|
\begin{tikzpicture}
|
||||||
|
\tikzstyle{connection}=[ultra thick,every node/.style={sloped,allow upside down},draw=\edgecolor,opacity=0.7]
|
||||||
|
\tikzstyle{copyconnection}=[ultra thick,every node/.style={sloped,allow upside down},draw={rgb:blue,4;red,1;green,1;black,3},opacity=0.7]
|
||||||
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||||
|
%% Draw Encoder
|
||||||
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||||
|
% conv1_1,conv1_2,pool1
|
||||||
|
\pic[shift={(0,0,0)}] at (0,0,0) {ConvReluPool={blockname=crp1,%
|
||||||
|
numFilters={{"64","64","32"}},height=40,width={2,2},depth=40,zlabel=I}};
|
||||||
|
% conv2_1,conv2_2,pool2
|
||||||
|
\pic[shift={(1.6,0,0)}] at (crp1-east) {ConvReluPool={blockname=crp2,%
|
||||||
|
numFilters={{"128","128"}},height=35,width={2.5,2.5},depth=35,zlabel=I/2}};
|
||||||
|
%% conv3_1,conv3_2,conv3_3,pool3
|
||||||
|
\pic[shift={(1.2,0,0)}] at (crp2-east) {ConvReluPool={blockname=crp3,%
|
||||||
|
numFilters={{"256","256","256"}},height=30,width={3.3,3.3,3.3},depth=30,zlabel=I/4}};
|
||||||
|
%% conv4_1,conv4_2,conv4_3,pool4
|
||||||
|
\pic[shift={(1,0,0)}] at (crp3-east) {ConvReluPool={blockname=crp4,%
|
||||||
|
numFilters={{"512","512","512"}},height=23,width={4.5,4.5,4.5},depth=23,zlabel=I/8}};
|
||||||
|
%% conv5_1,conv5_2,conv5_3
|
||||||
|
\pic[shift={(1,0,0)}] at (crp4-east) {ConvReluPool={blockname=crp5,%
|
||||||
|
numFilters={{"512","512","512"}},height=12,width={4.5,4.5,4.5},depth=12,zlabel=I/16}};
|
||||||
|
|
||||||
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||||
|
%% Draw Bottleneck
|
||||||
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||||
|
|
||||||
|
%% conv5_1,conv5_2,conv5_3
|
||||||
|
\pic[shift={(1,0,0)}] at (crp5-east) {ConvRelu={blockname=cp,%
|
||||||
|
numFilters={{"4096","4096"}},height=5,width={7,7},depth=5,zlabel=I/8}};
|
||||||
|
|
||||||
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||||
|
%% Draw Dencoder
|
||||||
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||||
|
|
||||||
|
%% conv5_1r,conv5_2r,conv5_3r
|
||||||
|
\pic[shift={(2,0,0)}] at (cp-east) {UpConvRelu={blockname=ucp5r,%
|
||||||
|
numFilters={{"512","512","512"}},height=12,width={4.5,4.5,4.5},depth=12,zlabel=I/16,%
|
||||||
|
fillcolor = {rgb:blue,5;green,2.5;white,5},upcolor={rgb:blue,15}}};
|
||||||
|
%% up32
|
||||||
|
\pic[shift={(1.5,0,0)}] at (ucp5r-east) {UpConvRelu={blockname=ucp4r,%
|
||||||
|
numFilters={{"512","512","512"}},height=23,width={4.5,4.5,4.5},depth=23,zlabel=,%
|
||||||
|
fillcolor = {rgb:blue,5;green,2.5;white,5},upcolor={rgb:blue,15}}};
|
||||||
|
|
||||||
|
%% up16
|
||||||
|
\pic[shift={(2,0,0)}] at (ucp4r-east) {UpConvRelu={blockname=ucp3r,%
|
||||||
|
numFilters={{"256","256","256"}},height=30,width={3.3,3.3,3.3},depth=30,zlabel=,%
|
||||||
|
fillcolor = {rgb:blue,5;green,2.5;white,5},upcolor={rgb:blue,15}}};
|
||||||
|
|
||||||
|
%% up8
|
||||||
|
\pic[shift={(2,0,0)}] at (ucp3r-east) {UpConvRelu={blockname=ucp2r,%
|
||||||
|
numFilters={{"128","128"}},height=35,width={2.5,2.5},depth=35,zlabel=,%
|
||||||
|
fillcolor = {rgb:blue,5;green,2.5;white,5},upcolor={rgb:blue,15}}};
|
||||||
|
|
||||||
|
|
||||||
|
%% up4
|
||||||
|
\pic[shift={(2,0,0)}] at (ucp2r-east) {UpConvRelu={blockname=ucp1r,%
|
||||||
|
numFilters={{"64","64"}},height=40,width={2,2},depth=40,zlabel=,%
|
||||||
|
fillcolor = {rgb:blue,5;green,2.5;white,5},upcolor={rgb:blue,15}}};
|
||||||
|
|
||||||
|
|
||||||
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||||
|
% Draw score producer
|
||||||
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||||
|
|
||||||
|
%% score
|
||||||
|
%\pic[shift={(2,0,0)}] at (ucp1r-east) {Conv={blockname=score,%
|
||||||
|
% numFilters={{"21",""}},height=40,width={2},depth=40,zlabel=I}};
|
||||||
|
|
||||||
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||||
|
% Draw connections
|
||||||
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||||
|
\draw [connection] (crp1-east) -- node {\midarrow} (crp2-west);
|
||||||
|
\draw [connection] (crp2-east) -- node {\midarrow} (crp3-west);
|
||||||
|
\draw [connection] (crp3-east) -- node {\midarrow} (crp4-west);
|
||||||
|
\draw [connection] (crp4-east) -- node {\midarrow} (cp-west);
|
||||||
|
\draw [connection] (cp-east) -- node {\midarrow} (ucp5r-west);
|
||||||
|
\draw [connection] (ucp5r-east) -- node {\midarrow} (ucp4r-west);
|
||||||
|
\draw [connection] (ucp4r-east) -- node {\midarrow} (ucp3r-west);
|
||||||
|
\draw [connection] (ucp3r-east) -- node {\midarrow} (ucp2r-west);
|
||||||
|
\draw [connection] (ucp2r-east) -- node {\midarrow} (ucp1r-west);
|
||||||
|
%\draw [connection] (ucp1r-east) -- node {\midarrow} (score-west);
|
||||||
|
|
||||||
|
\path (crp5-south-|crp5-east) -- (crp5-north-|crp5-east) coordinate[pos=1.25] (crp5-top) ;
|
||||||
|
\path (crp4-south-|crp4-east) -- (crp4-north-|crp4-east) coordinate[pos=1.15] (crp4-top) ;
|
||||||
|
\path (crp3-south-|crp3-east) -- (crp3-north-|crp3-east) coordinate[pos=1.15] (crp3-top) ;
|
||||||
|
\path (crp2-south-|crp2-east) -- (crp2-north-|crp2-east) coordinate[pos=1.15] (crp2-top) ;
|
||||||
|
\path (crp1-south-|crp1-east) -- (crp1-north-|crp1-east) coordinate[pos=1.15] (crp1-top) ;
|
||||||
|
|
||||||
|
\path (ucp5r-upsouth) -- (ucp5r-upnorth) coordinate[pos=1.25] (ucp5r-top) ;
|
||||||
|
\path (ucp4r-upsouth) -- (ucp4r-upnorth) coordinate[pos=1.15] (ucp4r-top) ;
|
||||||
|
\path (ucp3r-upsouth) -- (ucp3r-upnorth) coordinate[pos=1.15] (ucp3r-top) ;
|
||||||
|
\path (ucp2r-upsouth) -- (ucp2r-upnorth) coordinate[pos=1.15] (ucp2r-top) ;
|
||||||
|
\path (ucp1r-upsouth) -- (ucp1r-upnorth) coordinate[pos=1.15] (ucp1r-top) ;
|
||||||
|
|
||||||
|
\draw [copyconnection] (crp5-lastnorth-|crp5-east)
|
||||||
|
-- node {\copymidarrow}(crp5-top)
|
||||||
|
-- node {\copymidarrow}(ucp5r-top)
|
||||||
|
-- node {\copymidarrow} (ucp5r-upnorth);
|
||||||
|
\draw [copyconnection] (crp4-lastnorth-|crp4-east)
|
||||||
|
-- node {\copymidarrow}(crp4-top)
|
||||||
|
-- node {\copymidarrow}(ucp4r-top)
|
||||||
|
-- node {\copymidarrow} (ucp4r-upnorth);
|
||||||
|
\draw [copyconnection] (crp3-lastnorth-|crp3-east)
|
||||||
|
-- node {\copymidarrow}(crp3-top)
|
||||||
|
-- node {\copymidarrow}(ucp3r-top)
|
||||||
|
-- node {\copymidarrow} (ucp3r-upnorth);
|
||||||
|
\draw [copyconnection] (crp2-lastnorth-|crp2-east)
|
||||||
|
-- node {\copymidarrow}(crp2-top)
|
||||||
|
-- node {\copymidarrow}(ucp2r-top)
|
||||||
|
-- node {\copymidarrow} (ucp2r-upnorth);
|
||||||
|
\draw [copyconnection] (crp1-lastnorth-|crp1-east)
|
||||||
|
-- node {\copymidarrow}(crp1-top)
|
||||||
|
-- node {\copymidarrow}(ucp1r-top)
|
||||||
|
-- node {\copymidarrow} (ucp1r-upnorth);
|
||||||
|
|
||||||
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||||
|
|
||||||
|
\end{tikzpicture}
|
||||||
|
\end{document}\grid
|
||||||
Binary file not shown.
@@ -0,0 +1,47 @@
|
|||||||
|
\documentclass[border=15pt, multi, tikz]{standalone}
|
||||||
|
%\usepackage{blocks}
|
||||||
|
\usepackage{import}
|
||||||
|
\subimport{../../layers/}{init}
|
||||||
|
\usetikzlibrary{positioning}
|
||||||
|
|
||||||
|
%\newcommand{\midarrow}{\tikz \draw[-Stealth,line width =0.8mm,draw=\edgecolor] (-0.3,0) -- ++(0.3,0);}
|
||||||
|
\begin{document}
|
||||||
|
\begin{tikzpicture}
|
||||||
|
\tikzstyle{connection}=[ultra thick,every node/.style={sloped,allow upside down},draw=\edgecolor,opacity=0.7]
|
||||||
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||||
|
%% Draw Layer Blocks
|
||||||
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||||
|
% conv1_1,conv1_2,pool1
|
||||||
|
\pic[shift={(0,0,0)}] at (0,0,0) {ConvReluPool={blockname=crp1,%
|
||||||
|
numFilters={{"64","64","32"}},height=40,width={2,2},depth=40,zlabel=I}};
|
||||||
|
% conv2_1,conv2_2,pool2
|
||||||
|
\pic[shift={(2.1,0,0)}] at (crp1-east) {ConvReluPool={blockname=crp2,%
|
||||||
|
numFilters={{"128","128"}},height=35,width={3,3},depth=35,zlabel=I/2}};
|
||||||
|
%% conv3_1,conv3_2,conv3_3,pool3
|
||||||
|
\pic[shift={(2,0,0)}] at (crp2-east) {ConvReluPool={blockname=crp3,%
|
||||||
|
numFilters={{"256","256","256"}},height=30,width={4,4,4},depth=30,zlabel=I/4}};
|
||||||
|
%% conv4_1,conv4_2,conv4_3,pool4
|
||||||
|
\pic[shift={(1.8,0,0)}] at (crp3-east) {ConvReluPool={blockname=crp4,%
|
||||||
|
numFilters={{"512","512","512"}},height=23,width={7,7,7},depth=23,zlabel=I/8}};
|
||||||
|
%% conv5_1,conv5_2,conv5_3,pool5
|
||||||
|
\pic[shift={(1.5,0,0)}] at (crp4-east) {ConvReluPool={blockname=crp5,%
|
||||||
|
numFilters={{"512","512","512"}},height=15,width={7,7,7},depth=15,zlabel=I/16}};
|
||||||
|
%% fc6, fc7
|
||||||
|
\pic[shift={(1.2,0,0)}] at (crp5-east) {ConvRelu={blockname=cp6_7,%
|
||||||
|
numFilters={{"4096","4096"}},height=10,width={10,10},depth=10,zlabel=I/32}};
|
||||||
|
|
||||||
|
|
||||||
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||||
|
%% Draw connections
|
||||||
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||||
|
\draw [connection] (crp1-east) -- node {\midarrow} (crp2-west);
|
||||||
|
\draw [connection] (crp2-east) -- node {\midarrow} (crp3-west);
|
||||||
|
\draw [connection] (crp3-east) -- node {\midarrow} (crp4-west);
|
||||||
|
\draw [connection] (crp4-east) -- node {\midarrow} (crp5-west);
|
||||||
|
\draw [connection] (crp5-east) -- node {\midarrow} (cp6_7-west);
|
||||||
|
\draw [connection] (cp6_7-east) -- node {\midarrow} ++(1.5,0,0);
|
||||||
|
|
||||||
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||||
|
|
||||||
|
\end{tikzpicture}
|
||||||
|
\end{document}\grid
|
||||||
Binary file not shown.
@@ -0,0 +1,116 @@
|
|||||||
|
\documentclass[border=15pt, multi, tikz]{standalone}
|
||||||
|
%\usepackage{blocks}
|
||||||
|
\usepackage{import}
|
||||||
|
\subimport{../../layers/}{init}
|
||||||
|
\usetikzlibrary{positioning}
|
||||||
|
|
||||||
|
\newcommand{\copymidarrow}{\tikz \draw[-Stealth,line width =0.8mm,draw={rgb:blue,4;red,1;green,1;black,3}] (-0.3,0) -- ++(0.3,0);}
|
||||||
|
\begin{document}
|
||||||
|
\begin{tikzpicture}
|
||||||
|
\tikzstyle{connection}=[ultra thick,every node/.style={sloped,allow upside down},draw=\edgecolor,opacity=0.7]
|
||||||
|
\tikzstyle{copyconnection}=[ultra thick,every node/.style={sloped,allow upside down},draw={rgb:blue,4;red,1;green,1;black,3},opacity=0.7]
|
||||||
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||||
|
%% Draw Encoder
|
||||||
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||||
|
% conv1_1,conv1_2,pool1
|
||||||
|
\pic[shift={(0,0,0)}] at (0,0,0) {ConvReluPool={blockname=crp1,%
|
||||||
|
numFilters={{"64","64","32"}},height=40,width={2,2},depth=40,zlabel=I}};
|
||||||
|
% conv2_1,conv2_2,pool2
|
||||||
|
\pic[shift={(1.6,0,0)}] at (crp1-east) {ConvReluPool={blockname=crp2,%
|
||||||
|
numFilters={{"128","128"}},height=35,width={2.5,2.5},depth=35,zlabel=I/2}};
|
||||||
|
%% conv3_1,conv3_2,conv3_3,pool3
|
||||||
|
\pic[shift={(1.2,0,0)}] at (crp2-east) {ConvReluPool={blockname=crp3,%
|
||||||
|
numFilters={{"256","256","256"}},height=30,width={3.3,3.3,3.3},depth=30,zlabel=I/4}};
|
||||||
|
%% conv4_1,conv4_2,conv4_3,pool4
|
||||||
|
\pic[shift={(1,0,0)}] at (crp3-east) {ConvReluPool={blockname=crp4,%
|
||||||
|
numFilters={{"512","512","512"}},height=23,width={4.5,4.5,4.5},depth=23,zlabel=I/8}};
|
||||||
|
|
||||||
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||||
|
%% Draw Bottleneck
|
||||||
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||||
|
%% conv5_1,conv5_2,conv5_3
|
||||||
|
\pic[shift={(1,0,0)}] at (crp4-east) {ConvRelu={blockname=cp5,%
|
||||||
|
numFilters={{"512","512","512"}},height=12,width={4.5,4.5,4.5},depth=12,zlabel=I/16}};
|
||||||
|
|
||||||
|
%% conv5_1r,conv5_2r,conv5_3r
|
||||||
|
\pic[shift={(2,0,0)}] at (cp5-east) {ConvRelu={blockname=cp5r,%
|
||||||
|
numFilters={{"512","512","512"}},height=12,width={4.5,4.5,4.5},depth=12,zlabel=I/16}};
|
||||||
|
|
||||||
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||||
|
%% Draw Dencoder
|
||||||
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||||
|
%% up32
|
||||||
|
\pic[shift={(1.5,0,0)}] at (cp5r-east) {UpConvRelu={blockname=ucp4r,%
|
||||||
|
numFilters={{"512","512","512"}},height=23,width={4.5,4.5,4.5},depth=23,zlabel=}};
|
||||||
|
|
||||||
|
%% up16
|
||||||
|
\pic[shift={(2,0,0)}] at (ucp4r-east) {UpConvRelu={blockname=ucp3r,%
|
||||||
|
numFilters={{"256","256","256"}},height=30,width={3.3,3.3,3.3},depth=30,zlabel=}};
|
||||||
|
|
||||||
|
%% up8
|
||||||
|
\pic[shift={(2,0,0)}] at (ucp3r-east) {UpConvRelu={blockname=ucp2r,%
|
||||||
|
numFilters={{"128","128"}},height=35,width={2.5,2.5},depth=35,zlabel=}};
|
||||||
|
|
||||||
|
|
||||||
|
%% up4
|
||||||
|
\pic[shift={(2,0,0)}] at (ucp2r-east) {UpConvRelu={blockname=ucp1r,%
|
||||||
|
numFilters={{"64","64"}},height=40,width={2,2},depth=40,zlabel=}};
|
||||||
|
|
||||||
|
|
||||||
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||||
|
% Draw score producer
|
||||||
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||||
|
|
||||||
|
%% score
|
||||||
|
%\pic[shift={(2,0,0)}] at (ucp1r-east) {Conv={blockname=score,%
|
||||||
|
% numFilters={{"21",""}},height=40,width={2},depth=40,zlabel=I}};
|
||||||
|
|
||||||
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||||
|
% Draw connections
|
||||||
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||||
|
\draw [connection] (crp1-east) -- node {\midarrow} (crp2-west);
|
||||||
|
\draw [connection] (crp2-east) -- node {\midarrow} (crp3-west);
|
||||||
|
\draw [connection] (crp3-east) -- node {\midarrow} (crp4-west);
|
||||||
|
\draw [connection] (crp4-east) -- node {\midarrow} (cp5-west);
|
||||||
|
\draw [connection] (cp5-east) -- node {\midarrow} (cp5r-west);
|
||||||
|
\draw [connection] (cp5r-east) -- node {\midarrow} (ucp4r-west);
|
||||||
|
\draw [connection] (ucp4r-east) -- node {\midarrow} (ucp3r-west);
|
||||||
|
\draw [connection] (ucp3r-east) -- node {\midarrow} (ucp2r-west);
|
||||||
|
\draw [connection] (ucp2r-east) -- node {\midarrow} (ucp1r-west);
|
||||||
|
%\draw [connection] (ucp1r-east) -- node {\midarrow} (score-west);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
\path (crp4-south-|crp4-east) -- (crp4-north-|crp4-east) coordinate[pos=1.15] (crp4-top) ;
|
||||||
|
\path (crp3-south-|crp3-east) -- (crp3-north-|crp3-east) coordinate[pos=1.15] (crp3-top) ;
|
||||||
|
\path (crp2-south-|crp2-east) -- (crp2-north-|crp2-east) coordinate[pos=1.15] (crp2-top) ;
|
||||||
|
\path (crp1-south-|crp1-east) -- (crp1-north-|crp1-east) coordinate[pos=1.15] (crp1-top) ;
|
||||||
|
|
||||||
|
\path (ucp4r-upsouth) -- (ucp4r-upnorth) coordinate[pos=1.15] (ucp4r-top) ;
|
||||||
|
\path (ucp3r-upsouth) -- (ucp3r-upnorth) coordinate[pos=1.15] (ucp3r-top) ;
|
||||||
|
\path (ucp2r-upsouth) -- (ucp2r-upnorth) coordinate[pos=1.15] (ucp2r-top) ;
|
||||||
|
\path (ucp1r-upsouth) -- (ucp1r-upnorth) coordinate[pos=1.15] (ucp1r-top) ;
|
||||||
|
|
||||||
|
\draw [copyconnection] (crp4-lastnorth-|crp4-east)
|
||||||
|
-- node {\copymidarrow}(crp4-top)
|
||||||
|
-- node {\copymidarrow}(ucp4r-top)
|
||||||
|
-- node {\copymidarrow} (ucp4r-upnorth);
|
||||||
|
\draw [copyconnection] (crp3-lastnorth-|crp3-east)
|
||||||
|
-- node {\copymidarrow}(crp3-top)
|
||||||
|
-- node {\copymidarrow}(ucp3r-top)
|
||||||
|
-- node {\copymidarrow} (ucp3r-upnorth);
|
||||||
|
\draw [copyconnection] (crp2-lastnorth-|crp2-east)
|
||||||
|
-- node {\copymidarrow}(crp2-top)
|
||||||
|
-- node {\copymidarrow}(ucp2r-top)
|
||||||
|
-- node {\copymidarrow} (ucp2r-upnorth);
|
||||||
|
\draw [copyconnection] (crp1-lastnorth-|crp1-east)
|
||||||
|
-- node {\copymidarrow}(crp1-top)
|
||||||
|
-- node {\copymidarrow}(ucp1r-top)
|
||||||
|
-- node {\copymidarrow} (ucp1r-upnorth);
|
||||||
|
|
||||||
|
|
||||||
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||||
|
|
||||||
|
\end{tikzpicture}
|
||||||
|
\end{document}\grid
|
||||||
Binary file not shown.
@@ -0,0 +1,138 @@
|
|||||||
|
\documentclass[border=15pt, multi, tikz]{standalone}
|
||||||
|
%\usepackage{blocks}
|
||||||
|
\usepackage{import}
|
||||||
|
\subimport{../../layers/}{init}
|
||||||
|
\usetikzlibrary{positioning}
|
||||||
|
|
||||||
|
\newcommand{\copymidarrow}{\tikz \draw[-Stealth,line width =0.8mm,draw={rgb:blue,4;red,1;green,1;black,3}] (-0.3,0) -- ++(0.3,0);}
|
||||||
|
\begin{document}
|
||||||
|
\begin{tikzpicture}
|
||||||
|
\tikzstyle{connection}=[ultra thick,every node/.style={sloped,allow upside down},draw=\edgecolor,opacity=0.7]
|
||||||
|
\tikzstyle{copyconnection}=[ultra thick,every node/.style={sloped,allow upside down},draw={rgb:blue,4;red,1;green,1;black,3},opacity=0.7]
|
||||||
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||||
|
%% Draw Encoder
|
||||||
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||||
|
% conv1_1,conv1_2,pool1
|
||||||
|
\pic[shift={(0,0,0)}] at (0,0,0) {ConvReluPool={blockname=crp1,%
|
||||||
|
numFilters={{"64","64","32"}},height=40,width={2,2},depth=40,zlabel=I}};
|
||||||
|
% conv2_1,conv2_2,pool2
|
||||||
|
\pic[shift={(1.6,0,0)}] at (crp1-east) {ConvReluPool={blockname=crp2,%
|
||||||
|
numFilters={{"128","128"}},height=35,width={2.5,2.5},depth=35,zlabel=I/2}};
|
||||||
|
%% conv3_1,conv3_2,conv3_3,pool3
|
||||||
|
\pic[shift={(1.2,0,0)}] at (crp2-east) {ConvReluPool={blockname=crp3,%
|
||||||
|
numFilters={{"256","256"}},height=30,width={3.3,3.3},depth=30,zlabel=I/4}};
|
||||||
|
%% conv4_1,conv4_2,conv4_3,pool4
|
||||||
|
\pic[shift={(1,0,0)}] at (crp3-east) {ConvReluPool={blockname=crp4,%
|
||||||
|
numFilters={{"512","512"}},height=23,width={4.5,4.5},depth=23,zlabel=I/8}};
|
||||||
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||||
|
%% Bottleneck
|
||||||
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||||
|
%% fc6,fc7
|
||||||
|
\pic[shift={(0.9,0,0)}] at (crp4-east) {ConvRelu={blockname=cp6_7,%
|
||||||
|
numFilters={{"1024","1024"}},height=10,width={9,9},depth=10,zlabel=I/16}};
|
||||||
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||||
|
%% Draw Dencoder
|
||||||
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||||
|
%% up32
|
||||||
|
\pic[shift={(1.5,0,0)}] at (cp6_7-east) {UpConvRelu={blockname=up32,%
|
||||||
|
numFilters={{"512",""}},height=23,width={4.5},depth=23,zlabel=}};
|
||||||
|
%% Concat32
|
||||||
|
\pic[shift={(0,0,0)}] at (up32-east) {Gray={blockname=cat32,%
|
||||||
|
numFilters={{"512",""}},height=23,width={4.5},depth=23,zlabel=}};
|
||||||
|
%% Conv32
|
||||||
|
\pic[shift={(0.5,0,0)}] at (cat32-east) {ConvRelu={blockname=conv32,%
|
||||||
|
numFilters={{"512","512"}},height=23,width={4.5,4.5},depth=23,zlabel=I/8}};
|
||||||
|
|
||||||
|
|
||||||
|
%% up16
|
||||||
|
\pic[shift={(2,0,0)}] at (conv32-east) {UpConvRelu={blockname=up16,%
|
||||||
|
numFilters={{"256",""}},height=30,width={3.3},depth=30,zlabel=}};
|
||||||
|
%% Concat16
|
||||||
|
\pic[shift={(0,0,0)}] at (up16-east) {Gray={blockname=cat16,%
|
||||||
|
numFilters={{"256",""}},height=30,width={3.3},depth=30,zlabel=}};
|
||||||
|
%% Conv16
|
||||||
|
\pic[shift={(0.5,0,0)}] at (cat16-east) {ConvRelu={blockname=conv16,%
|
||||||
|
numFilters={{"256","256"}},height=30,width={3.3,3.3},depth=30,zlabel=I/4}};
|
||||||
|
|
||||||
|
|
||||||
|
%% up8
|
||||||
|
\pic[shift={(2,0,0)}] at (conv16-east) {UpConvRelu={blockname=up8,%
|
||||||
|
numFilters={{"128",""}},height=35,width={2.5},depth=35,zlabel=}};
|
||||||
|
%% Concat8
|
||||||
|
\pic[shift={(0,0,0)}] at (up8-east) {Gray={blockname=cat8,%
|
||||||
|
numFilters={{"128",""}},height=35,width={2.5},depth=35,zlabel=}};
|
||||||
|
%% Conv8
|
||||||
|
\pic[shift={(0.5,0,0)}] at (cat8-east) {ConvRelu={blockname=conv8,%
|
||||||
|
numFilters={{"128","128"}},height=35,width={2.5,2.5},depth=35,zlabel=I/2}};
|
||||||
|
|
||||||
|
|
||||||
|
%% up4
|
||||||
|
\pic[shift={(2,0,0)}] at (conv8-east) {UpConvRelu={blockname=up4,%
|
||||||
|
numFilters={{"64",""}},height=40,width={2},depth=40,zlabel=}};
|
||||||
|
%% Concat4
|
||||||
|
\pic[shift={(0,0,0)}] at (up4-east) {Gray={blockname=cat4,%
|
||||||
|
numFilters={{"64",""}},height=40,width={2},depth=40,zlabel=}};
|
||||||
|
|
||||||
|
%% Conv4
|
||||||
|
\pic[shift={(0.5,0,0)}] at (cat4-east) {ConvRelu={blockname=conv4,%
|
||||||
|
numFilters={{"64","64"}},height=40,width={2,2},depth=40,zlabel=I}};
|
||||||
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||||
|
% Draw score producer
|
||||||
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||||
|
|
||||||
|
%% Conv4
|
||||||
|
\pic[shift={(2,0,0)}] at (conv4-east) {Conv={blockname=score,%
|
||||||
|
numFilters={{"21",""}},height=40,width={2},depth=40,zlabel=I}};
|
||||||
|
|
||||||
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||||
|
% Draw connections
|
||||||
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||||
|
\draw [connection] (crp1-east) -- node {\midarrow} (crp2-west);
|
||||||
|
\draw [connection] (crp2-east) -- node {\midarrow} (crp3-west);
|
||||||
|
\draw [connection] (crp3-east) -- node {\midarrow} (crp4-west);
|
||||||
|
\draw [connection] (crp4-east) -- node {\midarrow} (cp6_7-west);
|
||||||
|
\draw [connection] (cp6_7-east) -- node {\midarrow} (up32-west);
|
||||||
|
\draw [connection] (cat32-east) -- node {\midarrow} (conv32-west);
|
||||||
|
\draw [connection] (conv32-east) -- node {\midarrow} (up16-west);
|
||||||
|
|
||||||
|
\draw [connection] (cat16-east) -- node {\midarrow} (conv16-west);
|
||||||
|
\draw [connection] (conv16-east) -- node {\midarrow} (up8-west);
|
||||||
|
|
||||||
|
\draw [connection] (cat8-east) -- node {\midarrow} (conv8-west);
|
||||||
|
\draw [connection] (conv8-east) -- node {\midarrow} (up4-west);
|
||||||
|
|
||||||
|
\draw [connection] (cat4-east) -- node {\midarrow} (conv4-west);
|
||||||
|
\draw [connection] (conv4-east) -- node {\midarrow} (score-west);
|
||||||
|
|
||||||
|
\path (crp4-lastsouth) -- (crp4-lastnorth) coordinate[pos=1.25] (crp4-top) ;
|
||||||
|
\path (crp3-lastsouth) -- (crp3-lastnorth) coordinate[pos=1.25] (crp3-top) ;
|
||||||
|
\path (crp2-lastsouth) -- (crp2-lastnorth) coordinate[pos=1.25] (crp2-top) ;
|
||||||
|
\path (crp1-lastsouth) -- (crp1-lastnorth) coordinate[pos=1.25] (crp1-top) ;
|
||||||
|
|
||||||
|
\path (cat32-south) -- (cat32-north) coordinate[pos=1.25] (cat32-top) ;
|
||||||
|
\path (cat16-south) -- (cat16-north) coordinate[pos=1.25] (cat16-top) ;
|
||||||
|
\path (cat8-south) -- (cat8-north) coordinate[pos=1.25] (cat8-top) ;
|
||||||
|
\path (cat4-south) -- (cat4-north) coordinate[pos=1.25] (cat4-top) ;
|
||||||
|
|
||||||
|
\draw [copyconnection] (crp4-lastnorth)
|
||||||
|
-- node {\copymidarrow}(crp4-top)
|
||||||
|
-- node {\copymidarrow}(cat32-top)
|
||||||
|
-- node {\copymidarrow} (cat32-north);
|
||||||
|
\draw [copyconnection] (crp3-lastnorth)
|
||||||
|
-- node {\copymidarrow}(crp3-top)
|
||||||
|
-- node {\copymidarrow}(cat16-top)
|
||||||
|
-- node {\copymidarrow} (cat16-north);
|
||||||
|
\draw [copyconnection] (crp2-lastnorth)
|
||||||
|
-- node {\copymidarrow}(crp2-top)
|
||||||
|
-- node {\copymidarrow}(cat8-top)
|
||||||
|
-- node {\copymidarrow} (cat8-north);
|
||||||
|
\draw [copyconnection] (crp1-lastnorth)
|
||||||
|
-- node {\copymidarrow}(crp1-top)
|
||||||
|
-- node {\copymidarrow}(cat4-top)
|
||||||
|
-- node {\copymidarrow} (cat4-north);
|
||||||
|
|
||||||
|
|
||||||
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||||
|
|
||||||
|
\end{tikzpicture}
|
||||||
|
\end{document}\grid
|
||||||
Binary file not shown.
@@ -0,0 +1,46 @@
|
|||||||
|
\documentclass[border=15pt, multi, tikz]{standalone}
|
||||||
|
%\usepackage{blocks}
|
||||||
|
\usepackage{import}
|
||||||
|
\subimport{../../layers/}{init}
|
||||||
|
\usetikzlibrary{positioning}
|
||||||
|
|
||||||
|
%\newcommand{\midarrow}{\tikz \draw[-Stealth,line width =0.8mm,draw=\edgecolor] (-0.3,0) -- ++(0.3,0);}
|
||||||
|
\begin{document}
|
||||||
|
\begin{tikzpicture}
|
||||||
|
\tikzstyle{connection}=[ultra thick,every node/.style={sloped,allow upside down},draw=\edgecolor,opacity=0.7]
|
||||||
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||||
|
%% Draw Layer Blocks
|
||||||
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||||
|
% conv1_1,conv1_2,pool1
|
||||||
|
\pic[shift={(0,0,0)}] at (0,0,0) {ConvReluPool={blockname=crp1,%
|
||||||
|
numFilters={{"64","64","32"}},height=40,width={2,2},depth=40,ylabel=224,zlabel=224}};
|
||||||
|
% conv2_1,conv2_2,pool2
|
||||||
|
\pic[shift={(2.1,0,0)}] at (crp1-east) {ConvReluPool={blockname=crp2,%
|
||||||
|
numFilters={{"128","128"}},height=35,width={3,3},depth=35,ylabel=112,zlabel=112}};
|
||||||
|
%% conv3_1,conv3_2,conv3_3,pool3
|
||||||
|
\pic[shift={(2,0,0)}] at (crp2-east) {ConvReluPool={blockname=crp3,%
|
||||||
|
numFilters={{"256","256","256"}},height=30,width={4,4,4},depth=30,ylabel=56,zlabel=56}};
|
||||||
|
%% conv4_1,conv4_2,conv4_3,pool4
|
||||||
|
\pic[shift={(1.8,0,0)}] at (crp3-east) {ConvReluPool={blockname=crp4,%
|
||||||
|
numFilters={{"512","512","512"}},height=23,width={7,7,7},depth=23,ylabel=28,zlabel=28}};
|
||||||
|
%% conv5_1,conv5_2,conv5_3,pool5
|
||||||
|
\pic[shift={(1.5,0,0)}] at (crp4-east) {ConvReluPool={blockname=crp5,%
|
||||||
|
numFilters={{"512","512","512"}},height=15,width={7,7,7},depth=15,ylabel=14,zlabel=14}};
|
||||||
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||||
|
%% Output
|
||||||
|
%% Softmax
|
||||||
|
%\pic[shift={(1,0,0)}] at (elt2-east) {Deconv={blockname=up8,%
|
||||||
|
% numFilters={{"21","4096"}},height=35,width=1,depth=35,zlabel=I}};
|
||||||
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||||
|
%% Draw connections
|
||||||
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||||
|
\draw [connection] (crp1-east) -- node {\midarrow} (crp2-west);
|
||||||
|
\draw [connection] (crp2-east) -- node {\midarrow} (crp3-west);
|
||||||
|
\draw [connection] (crp3-east) -- node {\midarrow} (crp4-west);
|
||||||
|
\draw [connection] (crp4-east) -- node {\midarrow} (crp5-west);
|
||||||
|
\draw [connection] (crp5-east) -- node {\midarrow} ++(1.5,0,0);
|
||||||
|
|
||||||
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||||
|
|
||||||
|
\end{tikzpicture}
|
||||||
|
\end{document}
|
||||||
Binary file not shown.
@@ -0,0 +1,54 @@
|
|||||||
|
\documentclass[border=15pt, multi, tikz]{standalone}
|
||||||
|
%\usepackage{blocks}
|
||||||
|
\usepackage{import}
|
||||||
|
\subimport{../../layers/}{init}
|
||||||
|
\usetikzlibrary{positioning}
|
||||||
|
|
||||||
|
%\newcommand{\midarrow}{\tikz \draw[-Stealth,line width =0.8mm,draw=\edgecolor] (-0.3,0) -- ++(0.3,0);}
|
||||||
|
\begin{document}
|
||||||
|
\begin{tikzpicture}
|
||||||
|
\tikzstyle{connection}=[ultra thick,every node/.style={sloped,allow upside down},draw=\edgecolor,opacity=0.7]
|
||||||
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||||
|
%% Draw Layer Blocks
|
||||||
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||||
|
% conv1_1,conv1_2,pool1
|
||||||
|
\pic[shift={(0,0,0)}] at (0,0,0) {ConvReluPool={blockname=crp1,%
|
||||||
|
numFilters={{"64","64","32"}},height=40,width={2,2},depth=40,zlabel=I}};
|
||||||
|
% conv2_1,conv2_2,pool2
|
||||||
|
\pic[shift={(2.1,0,0)}] at (crp1-east) {ConvReluPool={blockname=crp2,%
|
||||||
|
numFilters={{"128","128"}},height=35,width={3,3},depth=35,zlabel=I/2}};
|
||||||
|
%% conv3_1,conv3_2,conv3_3,pool3
|
||||||
|
\pic[shift={(2,0,0)}] at (crp2-east) {ConvReluPool={blockname=crp3,%
|
||||||
|
numFilters={{"256","256","256"}},height=30,width={4,4,4},depth=30,zlabel=I/4}};
|
||||||
|
%% conv4_1,conv4_2,conv4_3,pool4
|
||||||
|
\pic[shift={(1.8,0,0)}] at (crp3-east) {ConvReluPool={blockname=crp4,%
|
||||||
|
numFilters={{"512","512","512"}},height=23,width={7,7,7},depth=23,zlabel=I/8}};
|
||||||
|
%% conv5_1,conv5_2,conv5_3,pool5
|
||||||
|
\pic[shift={(1.5,0,0)}] at (crp4-east) {ConvReluPool={blockname=crp5,%
|
||||||
|
numFilters={{"512","512","512"}},height=15,width={7,7,7},depth=15,zlabel=I/16}};
|
||||||
|
%% fc6, fc7
|
||||||
|
\pic[shift={(1.2,0,0)}] at (crp5-east) {ConvRelu={blockname=cp6_7,%
|
||||||
|
numFilters={{"4096","4096"}},height=10,width={10,10},depth=10,zlabel=I/32}};
|
||||||
|
%% score32
|
||||||
|
\pic[shift={(1,0,0)}] at (cp6_7-east) {Conv={blockname=score32,%
|
||||||
|
numFilters={{"21",""}},height=10,width=2,depth=10,zlabel=I/32}};
|
||||||
|
|
||||||
|
%% Output
|
||||||
|
%% Upsampling to original image size
|
||||||
|
\pic[shift={(2,0,0)}] at (score32-east) {Deconv={blockname=up8,%
|
||||||
|
numFilters={{"21",""}},height=35,width=2,depth=35,zlabel=I}};
|
||||||
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||||
|
%% Draw connections
|
||||||
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||||
|
\draw [connection] (crp1-east) -- node {\midarrow} (crp2-west);
|
||||||
|
\draw [connection] (crp2-east) -- node {\midarrow} (crp3-west);
|
||||||
|
\draw [connection] (crp3-east) -- node {\midarrow} (crp4-west);
|
||||||
|
\draw [connection] (crp4-east) -- node {\midarrow} (crp5-west);
|
||||||
|
\draw [connection] (crp5-east) -- node {\midarrow} (cp6_7-west);
|
||||||
|
\draw [connection] (cp6_7-east) -- node {\midarrow} (score32-west);
|
||||||
|
\draw [connection] (score32-east) -- node {\midarrow} (up8-west);
|
||||||
|
|
||||||
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||||
|
|
||||||
|
\end{tikzpicture}
|
||||||
|
\end{document}\grid
|
||||||
+7
-1
@@ -19,7 +19,13 @@
|
|||||||
\path [every edge/.append style={pic actions}]
|
\path [every edge/.append style={pic actions}]
|
||||||
(b) edge ["\numfilters"',midway] (b -| c);
|
(b) edge ["\numfilters"',midway] (b -| c);
|
||||||
\xdef\SecondLastLayerOriginX{\k} %making value of \k available after the loop as well
|
\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]
|
\draw [conv]
|
||||||
(\SecondLastLayerOriginX*\cubescale ,\cubescale*\cubey/2 , \cubescale*\cubez/2) coordinate
|
(\SecondLastLayerOriginX*\cubescale ,\cubescale*\cubey/2 , \cubescale*\cubez/2) coordinate
|
||||||
(d) -- ++(0,0,-\cubescale*\cubez) coordinate (e) -- ++(0,-\cubescale*\cubey,0) coordinate (f) -- (c) -- cycle ;
|
(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 (\SecondLastLayerOriginX*\cubescale + 1*\cubescale , 0,0) coordinate (\cubeblockname-east);
|
||||||
\draw (0,0,0) coordinate (\cubeblockname-west);
|
\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-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-north);
|
||||||
\path (\cubeblockname-anchor) -- ++(0,-\cubescale*\cubey/2,0) coordinate (\cubeblockname-south);
|
\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/.search also={/tikz},
|
||||||
/block/.cd,
|
/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);}
|
\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{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{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{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{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}]
|
\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}]
|
\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{ConvReluPool}
|
||||||
|
\usepackage{Gray}
|
||||||
\usepackage{ConvRelu}
|
\usepackage{ConvRelu}
|
||||||
\usepackage{Conv}
|
\usepackage{Conv}
|
||||||
\usepackage{Deconv}
|
\usepackage{Deconv}
|
||||||
|
\usepackage{UpConvRelu}
|
||||||
\usepackage{Up}
|
\usepackage{Up}
|
||||||
%\usepackage{Eltwise}
|
%\usepackage{Eltwise}
|
||||||
\usepackage{Multiply}
|
\usepackage{Multiply}
|
||||||
|
|||||||
Reference in New Issue
Block a user