From 2c8baff6b7438741df830555a2f4426fa6708e90 Mon Sep 17 00:00:00 2001 From: Vijay Janapa Reddi Date: Sat, 1 Nov 2025 13:21:50 -0400 Subject: [PATCH] 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. --- .../core/optimizations/optimizations.qmd | 37 +++++++------------ 1 file changed, 14 insertions(+), 23 deletions(-) diff --git a/quarto/contents/core/optimizations/optimizations.qmd b/quarto/contents/core/optimizations/optimizations.qmd index 1cb40e22a..22659b63d 100644 --- a/quarto/contents/core/optimizations/optimizations.qmd +++ b/quarto/contents/core/optimizations/optimizations.qmd @@ -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} }