mirror of
https://github.com/harvard-edge/cs249r_book.git
synced 2026-05-06 01:28:35 -05:00
fix(optimizations): define TikZ Line style used in quantization roadmap figure
Add Line/.style to resolve pgfkeys unknown key '/tikz/Line' during PDF build. Intended to be a no-op visually; preserves existing styling.
This commit is contained in:
@@ -26,7 +26,7 @@ Machine learning research prioritizes accuracy above all considerations, produci
|
||||
|
||||
::: {.callout-tip title="Learning Objectives"}
|
||||
|
||||
- Compare optimization techniques (pruning, quantization, distillation, NAS) by mechanisms and applications
|
||||
- Compare model optimization techniques including pruning, quantization, knowledge distillation, and neural architecture search in terms of their mechanisms and applications
|
||||
|
||||
- Evaluate trade-offs between numerical precision levels and their effects on model accuracy, energy consumption, and hardware compatibility
|
||||
|
||||
@@ -455,10 +455,7 @@ Pruning methods vary based on which structures within a neural network are remov
|
||||
```{.tikz}
|
||||
\begin{tikzpicture}[line join=round,font=\small\usefont{T1}{phv}{m}{n}]
|
||||
\tikzset{
|
||||
Line/.style={line width=0.5pt,black!50,dashed}
|
||||
}
|
||||
\makeatletter
|
||||
\tikzset{
|
||||
Line/.style={line width=0.5pt,black!50,dashed},
|
||||
cubes/.pic={
|
||||
\pgfkeys{/cubes/.cd, #1}
|
||||
\begin{scope}[scale=\scalefac,every node/.style={scale=1*\scalefac}]
|
||||
@@ -494,10 +491,10 @@ Pruning methods vary based on which structures within a neural network are remov
|
||||
cubecolor=red,
|
||||
drawcubecolor=BrownLine,
|
||||
scalefac=1,
|
||||
dashed/.code={\box@dashedtrue},
|
||||
dashed/.is if=box@dashed,
|
||||
dashed/.default=true,
|
||||
picname=C
|
||||
}
|
||||
\makeatother
|
||||
\newcommand{\Desno}[1]{
|
||||
\foreach \i /\da in {1,...,9} {
|
||||
\pic at ({\i*0.22}, {-0.022*\i}) {cubes={cubecolor=BrownLine,picname=\i-cube#1}};
|
||||
@@ -759,9 +756,8 @@ In contrast, structured pruning (depicted in the middle and right sections of th
|
||||
\begin{tikzpicture}[line join=round,font=\small\usefont{T1}{phv}{m}{n}]
|
||||
\tikzset{
|
||||
Line/.style={line width=0.5pt,black!50,text=black},
|
||||
LineD/.style={line width=0.5pt,black!50,text=black,dashed}
|
||||
LineD/.style={line width=0.5pt,black!50,text=black,dashed},
|
||||
}
|
||||
\makeatletter
|
||||
\newif\ifbox@dashed
|
||||
\box@dashedfalse % default: not dashed
|
||||
|
||||
@@ -799,10 +795,10 @@ minimum size=56,\ifbox@dashed dashed\fi](\picname){};
|
||||
smallpicname/.store in=\smallpicname,
|
||||
channelcolor=BrownLine,
|
||||
scalefac=1,
|
||||
dashed/.code={\box@dashedtrue},
|
||||
dashed/.is if=box@dashed,
|
||||
dashed/.default=true,
|
||||
picname=C
|
||||
}
|
||||
\makeatother
|
||||
|
||||
\begin{scope}[local bounding box=CHANEL1,shift={(0,0)}]
|
||||
\foreach \i/\da in {1/dashed,2/,3/dashed,4/} {
|
||||
@@ -957,10 +953,7 @@ To illustrate this process, consider pruning six channels from a convolutional n
|
||||
```{.tikz}
|
||||
\begin{tikzpicture}[line join=round,font=\usefont{T1}{phv}{m}{n}]
|
||||
\tikzset{
|
||||
Line/.style={line width=0.5pt,black!50,dashed}
|
||||
}
|
||||
\makeatletter
|
||||
\tikzset{
|
||||
Line/.style={line width=0.5pt,black!50,dashed},
|
||||
cubes/.pic={
|
||||
\pgfkeys{/cubes/.cd, #1}
|
||||
\begin{scope}[scale=\scalefac,every node/.style={scale=1*\scalefac}]
|
||||
@@ -994,10 +987,10 @@ To illustrate this process, consider pruning six channels from a convolutional n
|
||||
picname/.store in=\picname, % ← nova linija
|
||||
cubecolor=red,
|
||||
scalefac=1,
|
||||
dashed/.code={\box@dashedtrue},
|
||||
dashed/.is if=box@dashed,
|
||||
dashed/.default=true,
|
||||
picname=C
|
||||
}
|
||||
\makeatother
|
||||
\newcommand{\Iteration}[8]{%
|
||||
\begin{scope}[local bounding box=G1,shift={(0,0)}]
|
||||
\foreach \i in {#1} {
|
||||
@@ -1172,10 +1165,7 @@ Consider applying one-shot pruning to the same network from the iterative prunin
|
||||
```{.tikz}
|
||||
\begin{tikzpicture}[line join=round,font=\usefont{T1}{phv}{m}{n}]
|
||||
\tikzset{
|
||||
Line/.style={line width=0.5pt,black!50,dashed}
|
||||
}
|
||||
\makeatletter
|
||||
\tikzset{
|
||||
Line/.style={line width=0.5pt,black!50,dashed},
|
||||
cubes/.pic={
|
||||
\pgfkeys{/cubes/.cd, #1}
|
||||
\begin{scope}[scale=\scalefac,every node/.style={scale=1*\scalefac}]
|
||||
@@ -1209,10 +1199,10 @@ Consider applying one-shot pruning to the same network from the iterative prunin
|
||||
picname/.store in=\picname, % ← nova linija
|
||||
cubecolor=red,
|
||||
scalefac=1,
|
||||
dashed/.code={\box@dashedtrue},
|
||||
dashed/.is if=box@dashed,
|
||||
dashed/.default=true,
|
||||
picname=C
|
||||
}
|
||||
\makeatother
|
||||
\begin{scope}[local bounding box=G1,shift={(0,0)}]
|
||||
\foreach \i in {1,...,12} {
|
||||
\pgfmathsetmacro\colorname{%
|
||||
@@ -2928,6 +2918,7 @@ satellite/.style = {circle, draw=none, semithick, fill=#1!10,
|
||||
TxtC/.style = {font=\small\usefont{T1}{phv}{m}{n},text width=44mm,align=flush center},
|
||||
arr/.style = {-{Triangle[length=3mm,width=6mm]}, color=#1!60,
|
||||
line width=3mm, shorten <=1mm, shorten >=1mm},
|
||||
Line/.style = {},
|
||||
LineA/.style = {violet!60,{Circle[line width=1.5pt,fill=white,length=7.5pt]}-,line width=2.0pt,shorten <=-4pt},
|
||||
LineAA/.style={violet!30,dashed, line width=1.0pt,{-{Triangle[width=1.0*6pt,length=1.6*6pt]}},shorten <=3pt,shorten >=2pt}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user