Skip to content

Commit

Permalink
test queue
Browse files Browse the repository at this point in the history
  • Loading branch information
ibelem committed Sep 13, 2023
1 parent cf32573 commit cd19adf
Show file tree
Hide file tree
Showing 5 changed files with 322 additions and 104 deletions.
105 changes: 97 additions & 8 deletions src/lib/assets/css/global.css
Original file line number Diff line number Diff line change
Expand Up @@ -68,7 +68,11 @@ header nav {
grid-row-gap: 8px;
padding: 10px;
align-items: center;
border-bottom: 1px solid var(--grey-border);
border: 1px solid var(--grey-02);
}

.config:hover {
border: 1px solid var(--red);
}

.config label {
Expand All @@ -92,10 +96,6 @@ header nav {
justify-self: flex-start;
}

.config .title {
justify-self: center;
}

.config .title label {
min-width: 76px;
}
Expand Down Expand Up @@ -145,7 +145,19 @@ header nav {
color: var(--font);
}

.config label:hover {
.config .title {
display: grid;
width: 100%;
height: 100%;
align-items: center;
justify-items: center;
}
.config .title:hover {
background-color: var(--red-01);
color: var(--red);
}

.config .backends label:hover, .config .types label:hover, .config .backends label:hover, .config .models label:hover {
background-color: var(--red-01);
color: var(--red);
}
Expand Down Expand Up @@ -185,6 +197,83 @@ header nav {
height: 14px;
}

.tq {
display: grid;
grid-template-columns: repeat(3, 1fr);
grid-template-rows:auto;
grid-column-gap: 20px;
grid-row-gap: 0px;
}

.tq svg {
display: inline-block;
height: 13px;
}

.tq .onnx svg, .tq .tflite svg, .tq .npy svg, .tq .pt svg {
width: 16px;
}

.tq #logo_onnx {
margin: 0 0 -1px 0px;
}

.tq #logo_tflite {
margin: 0 0 -1px 0px;
}

.tq #logo_npy {
margin: 0 0 -1px -2px;
}

.tq #logo_pt {
margin: 0 0 -1px 2px;
}

.q div {
display: inline-block;
text-align: center;
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
}

.q {
padding-top: 3px;
margin-bottom: 2px;
border: 1px solid var(--grey-02);
}

.q:hover {
border: 1px solid var(--red);
}

.tq .m, .tq .mt, .tq .dt, .tq .bk {
height: 18px;
}

.tq .m, .tq .dt, .tq .bk {
padding: 2px 4px 2px 4px;
}

.tq .mt {
padding: 2px 2px 2px 2px;
width: 18px;
margin-bottom: -1px;
}

.q .m {
width: 200px;
}

.q .dt {
width: 60px;
}

.q .bk {
width: 100px;
}

.types svg#logo_pt {
width: 60px;
margin-bottom: -3px;
Expand Down Expand Up @@ -219,10 +308,10 @@ header nav {
fill: var(--red) !important;
}

.types .npy-1 {
.npy-1 {
fill: rgb(77, 171, 207);
}
.types .npy-2 {
.npy-2 {
fill: rgb(77, 119, 207);
}

Expand Down
18 changes: 14 additions & 4 deletions src/lib/assets/js/utils.js
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,16 @@ export const updateStore = (numOfRuns, backends, dataTypes, modelTypes, models)
modelsStore.update(() => models);
}

export const resetStore = () => {
autoStore.update(() => false);
numberOfRunsStore.update(() => 1);
backendsStore.update(() => []);
dataTypesStore.update(() => []);
modelTypesStore.update(() => []);
modelsStore.update(() => []);
testQueueStore.update(() => []);
}

/**
* @type {boolean}
*/
Expand Down Expand Up @@ -144,10 +154,10 @@ export const testQueue = () => {
let testQueue = [];
if (selectedModels) {
let id = 1;
for (const b of selectedBackends) {
for (const m of selectedModels) {
for (const dt of selectedDataTypes) {
for (const mt of selectedModelTypes) {
for (const m of selectedModels) {
for (const b of selectedBackends) {
for (const mt of selectedModelTypes) {
const matchedModels = models.filter(
(model) => model.id === m && model.format === mt && model.datatype === dt
);
Expand All @@ -159,8 +169,8 @@ export const testQueue = () => {

let t = {
id: id,
modeltype: mt,
model: m,
modeltype: mt,
datatype: dt,
backend: b
}
Expand Down
186 changes: 186 additions & 0 deletions src/lib/components/TestQueue.svelte
Original file line number Diff line number Diff line change
@@ -0,0 +1,186 @@
<script>
import { testQueueStore } from '../../lib/store/store';
import {
stringToArray,
urlToStoreHome,
updateStore,
clearTestQueue
} from '../../lib/assets/js/utils';
/**
* @type {string[]}
*/
let testQueue;
testQueueStore.subscribe((value) => {
testQueue = value;
});
</script>

<div class="title">
{#if testQueue.length > 0}
models to be tested
{/if}
</div>
<div class="tq">
{#each testQueue as { id, model, modeltype, datatype, backend }, i}
<div class="q">
<div class="{model} m">{model.replaceAll('_', ' ')}</div>
{#if modeltype === 'onnx'}
<div class="{modeltype} mt">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 44 44" id="logo_onnx"
><g transform="matrix(1.8 0 0 1.8 -20 -45)"
><path
class="logo_onnx_1"
d="M34.35 37.89c-.11.008-.2-.056-.25-.156l-4.08-7.547c-.052-.085-.062-.19-.026-.282a1.03 1.03 0 0 0-1.577-1.172.42.42 0 0 1-.373.076L20.02 27.2c-.124-.008-.228-.1-.253-.22-.393-1.334-2.395-.714-1.965.61.045.116.024.247-.054.344l-6.367 9.134c-.086.124-.17.177-.297.13-.545-.047-1.032.342-1.106.884a1.01 1.01 0 0 0 .878 1.161c.125.004.232.092.26.215l3.427 8.44c.04.09.048.194.02.3-.295.965.83 1.735 1.622 1.11a.36.36 0 0 1 .277-.081l10.325 1.008a.27.27 0 0 1 .262.18c.588 1.344 2.585.31 1.825-.947-.064-.088-.065-.207-.003-.296l5.21-9.045a.28.28 0 0 1 .273-.169c1.392.016 1.4-2.08-.003-2.06zm-15.943-8.153l.292-1.26c.024-.106.057-.17.194-.178.258-.013.498-.138.657-.343.064-.1.182-.126.285-.086L27.9 29.48c.022.004.043.015.125.046l-2.538 1.1-7.653 3.333a5.27 5.27 0 0 1-.117.049c-.082.033-.16.11-.254.03-.088-.075-.023-.157-.005-.234l.95-4.078zm-.58-.706l.042.028-1.085 4.644c-.015.108-.095.197-.2.222a.97.97 0 0 0-.709.87c.001.102-.052.198-.14.25l-3.438 2.023c-.028.01-.057.016-.086.02zm-2.715 18.12c-.013.064-.03.128-.05.2l-3.293-8.098a.35.35 0 0 1 .054-.428.77.77 0 0 0 .191-.59c-.02-.135.057-.266.183-.316l3.765-2.22c.07-.042.14-.138.244-.04.093.088.22.13.197.314l-.338 2.903-.954 8.282zm1.177.64a.78.78 0 0 0-.397-.263c-.093-.03-.156-.067-.125-.155l.295-2.574.59-5.126.408-3.586c.025-.237.2-.23.34-.317s.186.043.25.1l8.542 7.42c.185.192.132.508-.105.63l-9.52 3.928c-.113.047-.19.06-.28-.056zm11.145 1.35c-.078.035-.144.092-.19.164-.132.277-.36.243-.6.22l-9.884-.975-.016-.046 1.534-.638 8.02-3.31c.15-.063.244-.008.384.04.4.14.408.45.444.777l.402 3.533c.012.1.01.177-.095.232zm-.34-6.506c-.016.126-.075.162-.175.208s-.222.023-.292-.064l-2.052-1.785-6.504-5.654a.71.71 0 0 1-.174-.625c.044-.09.153-.1.236-.136L28 30.28c.144-.065.256-.1.367.054a.48.48 0 0 0 .207.143c.097.04.137.092.115.157l-.286 2.18-1.298 9.823zm1.122 6.285l-.16-1.304-.288-2.5c-.028-.23-.047-.42.196-.6a.88.88 0 0 0 .328-.863c-.01-.095-.008-.155.077-.213L33.2 40.15c.025-.008.05-.014.075-.018zm5.248-10.49a.75.75 0 0 0-.122.582.27.27 0 0 1-.141.31l-5.178 3.547c-.057.04-.104.112-.2.058-.105-.06-.067-.146-.057-.223l1.572-11.888c.012-.088.032-.174.06-.32l.935 1.717 3.127 5.783c.103.125.106.306.006.434z"
fill="#343433"
/><path
class="logo_onnx_2"
d="M28.678 30.633c.022-.064-.018-.118-.115-.157a.48.48 0 0 1-.207-.143c-.11-.153-.223-.12-.367-.054l-1.534.67q-4.16 1.813-8.322 3.627c-.082.036-.192.044-.236.135a.711.711 0 0 0 .174.625l8.556 7.44a.237.237 0 0 0 .292.064c.1-.046.16-.08.175-.208l.652-4.936q.324-2.443.645-4.887l.286-2.18z"
fill="#fefefe"
/><path
class="logo_onnx_3"
d="M26.194 43.288q-4.27-3.71-8.542-7.42c-.066-.057-.12-.188-.25-.1s-.314.08-.34.317l-.408 3.586-.59 5.126-.295 2.574c-.032.088.032.126.125.155a.781.781 0 0 1 .397.263c.088.116.165.102.28.056q4.76-1.966 9.52-3.927a.397.397 0 0 0 .105-.629z"
fill="#f4f5f6"
/><path
class="logo_onnx_4"
d="M30.33 32.213l-.935-1.717-.06.32-.53 4.056q-.52 3.916-1.04 7.832c-.01.077-.048.164.057.223.096.054.142-.02.2-.058l5.178-3.547a.27.27 0 0 0 .141-.31.749.749 0 0 1 .122-.582.346.346 0 0 0-.006-.434q-1.57-2.89-3.127-5.783z"
fill="#dedfdf"
/><path
class="logo_onnx_5"
d="M17.462 34.048c.095.08.172.003.255-.03l.117-.05q3.827-1.666 7.653-3.333l2.538-1.1-.125-.046q-4.033-.805-8.066-1.612a.243.243 0 0 0-.285.086.885.885 0 0 1-.657.343c-.138.01-.17.072-.194.178q-.144.63-.292 1.26l-.95 4.078c-.018.077-.083.16.005.234zm9.666 11.327c-.036-.327-.045-.638-.444-.777-.14-.05-.233-.104-.384-.04q-4.008 1.66-8.02 3.3l-1.534.638.016.046 9.884.975c.24.024.467.058.6-.22a.435.435 0 0 1 .189-.164c.105-.056.107-.13.095-.232a542.666 542.666 0 0 1-.402-3.533z"
fill="#d1d1d1"
/><path
class="logo_onnx_6"
d="M16.405 35.964c.023-.185-.105-.226-.197-.314-.102-.098-.173-.002-.244.04l-3.765 2.22a.295.295 0 0 0-.183.316.769.769 0 0 1-.191.59.351.351 0 0 0-.054.428q1.073 2.62 2.133 5.243l1.16 2.856a1.954 1.954 0 0 0 .05-.19q.236-2.032.47-4.065.243-2.108.484-4.217l.338-2.903z"
fill="#d8d8d8"
/><path
class="logo_onnx_7"
d="M28.372 43.45c-.086.06-.088.118-.077.213a.881.881 0 0 1-.328.862c-.243.17-.224.36-.196.6l.288 2.5.16 1.304 5.06-8.79a.503.503 0 0 0-.075.018q-2.414 1.652-4.828 3.302zm-12.64-8.408a.286.286 0 0 0 .141-.25.971.971 0 0 1 .709-.87.265.265 0 0 0 .201-.222q.54-2.322 1.085-4.644l-.042-.028-5.618 8.056a.475.475 0 0 0 .086-.019q1.718-1.012 3.438-2.023z"
fill="#b2b2b2"
/></g
></svg
>
</div>
{/if}

{#if modeltype === 'tflite'}
<div class="{modeltype} mt">
<svg
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
viewBox="0 0 56 56"
id="logo_tflite"
><g
><g
><defs
><path
id="SVGID_1_"
d="M47.5 17.6L25 4.8v52.6l9-5.2V37.4l6.8 3.9-.1-10.1-6.7-3.9v-5.9l13.5 7.9z"
/></defs
><clipPath id="SVGID_2_"><use xlink:href="#SVGID_1_" overflow="visible" /></clipPath
><g clip-path="url(#SVGID_2_)"
><linearGradient
id="SVGID_3_"
gradientUnits="userSpaceOnUse"
x1="-1.6"
y1="335.05"
x2="53.6"
y2="335.05"
gradientTransform="translate(0 -304)"
><stop offset="0" stop-color="#ff6f00" /><stop
offset="1"
stop-color="#ffa800"
/></linearGradient
><path d="M-1.6 4.6h55.2v52.9H-1.6V4.6z" fill="url(#SVGID_3_)" /></g
></g
></g
><g
><g
><defs><path id="SVGID_4_" d="M.5 17.6L23 4.8v52.6l-9-5.2V21.4L.5 29.3z" /></defs
><clipPath id="SVGID_5_"><use xlink:href="#SVGID_4_" overflow="visible" /></clipPath
><g clip-path="url(#SVGID_5_)"
><linearGradient
id="SVGID_6_"
gradientUnits="userSpaceOnUse"
x1="-1.9"
y1="335.05"
x2="53.3"
y2="335.05"
gradientTransform="translate(0 -304)"
><stop offset="0" stop-color="#ff6f00" /><stop
offset="1"
stop-color="#ffa800"
/></linearGradient
><path d="M-1.9 4.6h55.2v52.9H-1.9V4.6z" fill="url(#SVGID_6_)" /></g
></g
></g
></svg
>
</div>
{/if}

{#if modeltype === 'npy'}
<div class="{modeltype} mt">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 450 450" id="logo_npy"
><g id="Layer_1" data-name="Layer 1"
><polygon
class="npy-1"
points="220.93 127.14 151.77 92.23 75.87 130.11 146.9 165.78 220.93 127.14"
/><polygon
class="npy-1"
points="252.63 143.14 325.14 179.74 249.91 217.52 178.77 181.79 252.63 143.14"
/><polygon
class="npy-1"
points="349.47 92.76 423.96 130.11 357.34 163.57 284.68 126.92 349.47 92.76"
/><polygon
class="npy-1"
points="317.41 76.67 250.35 43.05 184.01 76.15 253.11 111 317.41 76.67"
/><polygon
class="npy-1"
points="264.98 365.44 264.98 456.95 346.22 416.41 346.13 324.86 264.98 365.44"
/><polygon
class="npy-1"
points="346.1 292.91 346.01 202.32 264.98 242.6 264.98 333.22 346.1 292.91"
/><polygon
class="npy-1"
points="443.63 275.93 443.63 367.8 374.34 402.38 374.29 310.93 443.63 275.93"
/><polygon
class="npy-1"
points="443.63 243.81 443.63 153.79 374.21 188.3 374.27 279.07 443.63 243.81"
/><path
class="npy-2"
d="M236.3,242.6l-54.72-27.51V334s-66.92-142.39-73.12-155.18c-.8-1.65-4.09-3.46-4.93-3.9-12-6.3-47.16-24.11-47.16-24.11V360.89l48.64,26V277.08s66.21,127.23,66.88,128.62,7.32,14.8,14.42,19.51c9.46,6.26,50,30.64,50,30.64Z"
/></g
></svg
>
</div>
{/if}

{#if modeltype === 'pt'}
<div class="{modeltype} mt">
<svg xmlns="http://www.w3.org/2000/svg" id="logo_pt"
><g transform="matrix(0.45 0 0 0.45 -8 0)" fill="#ee4c2c"
><path
d="M40.8 9.3l-2.1 2.1c3.5 3.5 3.5 9.2 0 12.7s-9.2 3.5-12.7 0-3.5-9.2 0-12.7l5.6-5.6.7-.8V.8l-8.5 8.5a11.89 11.89 0 0 0 0 16.9 11.89 11.89 0 0 0 16.9 0c4.8-4.7 4.8-12.3.1-16.9z"
/><circle cx="36.6" cy="7.1" r="1.6" /></g
></svg
>
</div>
{/if}
<div class="{datatype} dt">{datatype}</div>
<div class="{backend} bk">{backend.replaceAll('_', ' ')}</div>
</div>
{/each}
</div>

<style>
.title {
margin: 1em;
text-align: center;
color: var(--red);
}
.testqueue {
text-align: left;
}
</style>
2 changes: 1 addition & 1 deletion src/lib/config.js
Original file line number Diff line number Diff line change
Expand Up @@ -115,7 +115,7 @@ export let models = [
id: 'fns_candy',
name: 'FNS Candy',
url: 'https://github.com/microsoft/Windows-Machine-Learning/raw/master/Samples/CustomTensorization/CustomTensorization/fns-candy.onnx',
format: 'onnx',
format: 'pt',
datatype: 'fp32'
},
];
Expand Down
Loading

0 comments on commit cd19adf

Please sign in to comment.