Skip to content

Commit 849d855

Browse files
Update development requirements and enhance document search functionality
1 parent aecd78d commit 849d855

File tree

151 files changed

+2022
-5514
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

151 files changed

+2022
-5514
lines changed

.dockerignore

100644100755
File mode changed.

.flake8

100644100755
File mode changed.

.gitattributes

100644100755
File mode changed.

.github/FUNDING.yml

100644100755
File mode changed.

.github/workflows/build.yml

100644100755
File mode changed.

.github/workflows/conda-env.yml

100644100755
File mode changed.

.github/workflows/docker-push.yml

100644100755
File mode changed.

.github/workflows/lint.yml

100644100755
File mode changed.

.github/workflows/pypi-publish.yml

100644100755
File mode changed.

.github/workflows/python-package.yml

100644100755
File mode changed.

.gitignore

100644100755
File mode changed.

CHANGELOG.md

100644100755
File mode changed.

LICENSE

100644100755
File mode changed.

MANIFEST.in

100644100755
File mode changed.

README.md

100644100755
File mode changed.

backup-conda-lock.yml

+1,353
Large diffs are not rendered by default.

conda-lock.yml

100644100755
File mode changed.

conf/analyzer/default.yaml

100644100755
File mode changed.

conf/analyzer/detector/retinaface.yaml

100644100755
File mode changed.

conf/analyzer/logger/json_format.yaml

100644100755
File mode changed.

conf/analyzer/predictor/align/synergy_mobilenet_v2.yaml

100644100755
File mode changed.

conf/analyzer/predictor/au/open_graph_swin_base.yaml

100644100755
File mode changed.

conf/analyzer/predictor/deepfake/efficientnet_b7.yaml

100644100755
File mode changed.

conf/analyzer/predictor/embed/r50_vggface_1m.yaml

100644100755
File mode changed.

conf/analyzer/predictor/fer/efficientnet_b0_7.yaml

100644100755
File mode changed.

conf/analyzer/predictor/fer/efficientnet_b2_8.yaml

100644100755
File mode changed.

conf/analyzer/predictor/va/elim_al_alexnet.yaml

100644100755
File mode changed.

conf/analyzer/predictor/verify/adaface_ir101_webface12m.yaml

100644100755
File mode changed.

conf/analyzer/predictor/verify/r100_magface_unpg.yaml

100644100755
File mode changed.

conf/analyzer/reader/default.yaml

100644100755
File mode changed.

conf/analyzer/reader/file.yaml

100644100755
File mode changed.

conf/analyzer/reader/tensor.yaml

100644100755
File mode changed.

conf/analyzer/reader/universal.yaml

100644100755
File mode changed.

conf/analyzer/unifier/img_244.yaml

100644100755
File mode changed.

conf/analyzer/unifier/img_260.yaml

100644100755
File mode changed.

conf/analyzer/unifier/img_380.yaml

100644100755
File mode changed.

conf/analyzer/utilizer/align/lmk3d_mesh_pose.yaml

100644100755
File mode changed.

conf/analyzer/utilizer/draw_boxes/torchvision_boxes.yaml

100644100755
File mode changed.

conf/analyzer/utilizer/draw_landmarks/torchvision_keypoints.yaml

100644100755
File mode changed.

conf/analyzer/utilizer/save/image_saver.yaml

100644100755
File mode changed.

conf/config.yaml

100644100755
File mode changed.

conf/merged/gpu.merged.config.yaml

100644100755
File mode changed.

conf/merged/merged.config.yaml

100644100755
File mode changed.

conf/tensor.config.yaml

100644100755
File mode changed.

conf/tests.config.1.yaml

100644100755
File mode changed.

conf/tests.config.2.yaml

100644100755
File mode changed.

conf/tests.config.3.yaml

100644100755
File mode changed.

conf/tests.config.4.yaml

100644100755
File mode changed.

conf/tests.config.5.yaml

100644100755
File mode changed.

data/facetorch-logo-42.png

100644100755
File mode changed.

data/facetorch-logo-64.png

100644100755
File mode changed.

data/input/tensor.pt

100644100755
File mode changed.

data/input/test.jpg

100644100755
File mode changed.

data/input/test2.jpg

100644100755
File mode changed.

data/input/test3.jpg

100644100755
File mode changed.

data/input/test4.jpg

100644100755
File mode changed.

data/input/test5.jpg

100644100755
File mode changed.

data/output/test.png

100644100755
File mode changed.

data/output/test2.png

100644100755
File mode changed.

data/output/test3.png

100644100755
File mode changed.

data/output/test4.png

100644100755
File mode changed.

data/output/test5.png

100644100755
File mode changed.

data/output/test_tensor.png

100644100755
File mode changed.

docker-compose.dev.yml

100644100755
File mode changed.

docker-compose.yml

100644100755
File mode changed.

docker/Dockerfile

100644100755
File mode changed.

docker/Dockerfile.dev

100644100755
File mode changed.

docker/Dockerfile.dev.gpu

100644100755
File mode changed.

docker/Dockerfile.gpu

100644100755
File mode changed.

docker/Dockerfile.lock

100644100755
File mode changed.

docker/Dockerfile.tests

100644100755
File mode changed.

docs/doc-search.html

+61-4
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,8 @@
44
<meta charset="utf-8">
55
<meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1">
66
<title>Search</title>
7-
<link rel="preload stylesheet" as="style" href="https://cdnjs.cloudflare.com/ajax/libs/10up-sanitize.css/11.0.1/sanitize.min.css" integrity="sha256-PK9q560IAAa6WVRRh76LtCaI8pjTJ2z11v0miyNNjrs=" crossorigin>
8-
<link rel="preload stylesheet" as="style" href="https://cdnjs.cloudflare.com/ajax/libs/10up-sanitize.css/11.0.1/typography.min.css" integrity="sha256-7l/o7C8jubJiy74VsKTidCy1yBkRtiUGbVkYBylBqUg=" crossorigin>
7+
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/10up-sanitize.css/13.0.0/sanitize.min.css" integrity="sha512-y1dtMcuvtTMJc1yPgEqF0ZjQbhnc/bFhyvIyVNb9Zk5mIGtqVaAB1Ttl28su8AvFMOY0EwRbAe+HCLqj6W7/KA==" crossorigin>
8+
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/10up-sanitize.css/13.0.0/typography.min.css" integrity="sha512-Y1DYSb995BAfxobCkKepB1BqJJTPrOp3zPL74AWFugHHmmdcvO+C48WLrUOlhGMc0QG7AE3f7gmvvcrmX2fDoA==" crossorigin>
99
<style>
1010
body {margin: 0 1em;}
1111
footer,
@@ -40,7 +40,7 @@ <h3 id="search-status"></h3>
4040
</footer>
4141

4242
<script src="index.js"></script>
43-
<script src="https://cdnjs.cloudflare.com/ajax/libs/lunr.js/2.3.8/lunr.min.js" integrity="sha512-HiJdkRySzXhiUcX2VweXaiy8yeY212ep/j51zR/z5IPCX4ZUOxaf6naJ/0dQL/2l+ZL+B9in/u4nT8QJZ/3mig==" crossorigin></script>
43+
<script src="https://cdnjs.cloudflare.com/ajax/libs/lunr.js/2.3.9/lunr.min.js" integrity="sha512-4xUl/d6D6THrAnXAwGajXkoWaeMNwEKK4iNfq5DotEbLPAfk6FSxSP3ydNxqDgCw1c/0Z1Jg6L8h2j+++9BZmg==" crossorigin></script>
4444
<script>
4545
'use strict';
4646

@@ -52,7 +52,10 @@ <h3 id="search-status"></h3>
5252
}
5353

5454
async function build_index() {
55-
return lunr(function () {
55+
try {
56+
return lunr.Index.load(_expand(INDEX)); // Prebuilt index
57+
} catch {
58+
return lunr(function () {
5659
this.ref('i');
5760
this.field('name', {boost: 10});
5861
this.field('ref', {boost: 5});
@@ -67,6 +70,60 @@ <h3 id="search-status"></h3>
6770
this.add(doc);
6871
}, this);
6972
});
73+
}
74+
}
75+
76+
function _expand(compact) {
77+
// https://john-millikin.com/compacting-lunr-search-indices
78+
const fields = compact["fields"];
79+
const fieldVectors = compact["fieldVectors"].map((item) => {
80+
const id = item[0];
81+
const vectors = item[1];
82+
let prev = null;
83+
const expanded = vectors.map((v, ii) => {
84+
if (ii % 2 === 0) {
85+
if (v === null) {
86+
v = prev + 1;
87+
}
88+
prev = v;
89+
}
90+
return v;
91+
});
92+
return [id, expanded];
93+
});
94+
const invertedIndex = compact["invertedIndex"].map((item, itemIdx) => {
95+
const token = item[0];
96+
const fieldMap = {"_index": itemIdx};
97+
fields.forEach((field, fieldIdx) => {
98+
const matches = {};
99+
let docRef = null;
100+
item[fieldIdx + 1].forEach((v, ii) => {
101+
if (ii % 2 === 0) {
102+
docRef = fieldVectors[v][0].slice((field + '/').length);
103+
} else {
104+
matches[docRef] = v;
105+
}
106+
});
107+
fieldMap[field] = matches;
108+
})
109+
return [token, fieldMap];
110+
});
111+
invertedIndex.sort((a, b) => {
112+
if (a[0] < b[0]) {
113+
return -1;
114+
}
115+
if (a[0] > b[0]) {
116+
return 1;
117+
}
118+
return 0;
119+
});
120+
return {
121+
"version": compact["version"],
122+
"fields": fields,
123+
"fieldVectors": fieldVectors,
124+
"invertedIndex": invertedIndex,
125+
"pipeline": compact["pipeline"],
126+
};
70127
}
71128

72129
function search(query) {

docs/facetorch/analyzer/core.html

+15-328
Large diffs are not rendered by default.

docs/facetorch/analyzer/detector/core.html

+15-91
Original file line numberDiff line numberDiff line change
@@ -2,18 +2,21 @@
22
<html lang="en">
33
<head>
44
<meta charset="utf-8">
5-
<meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1" />
6-
<meta name="generator" content="pdoc 0.10.0" />
5+
<meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1">
6+
<meta name="generator" content="pdoc3 0.11.1">
77
<title>facetorch.analyzer.detector.core API documentation</title>
8-
<meta name="description" content="" />
9-
<link rel="preload stylesheet" as="style" href="https://cdnjs.cloudflare.com/ajax/libs/10up-sanitize.css/11.0.1/sanitize.min.css" integrity="sha256-PK9q560IAAa6WVRRh76LtCaI8pjTJ2z11v0miyNNjrs=" crossorigin>
10-
<link rel="preload stylesheet" as="style" href="https://cdnjs.cloudflare.com/ajax/libs/10up-sanitize.css/11.0.1/typography.min.css" integrity="sha256-7l/o7C8jubJiy74VsKTidCy1yBkRtiUGbVkYBylBqUg=" crossorigin>
11-
<link rel="stylesheet preload" as="style" href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/10.1.1/styles/github.min.css" crossorigin>
12-
<style>:root{--highlight-color:#fe9}.flex{display:flex !important}body{line-height:1.5em}#content{padding:20px}#sidebar{padding:30px;overflow:hidden}#sidebar > *:last-child{margin-bottom:2cm}#lunr-search{width:100%;font-size:1em;padding:6px 9px 5px 9px;border:1px solid silver}.http-server-breadcrumbs{font-size:130%;margin:0 0 15px 0}#footer{font-size:.75em;padding:5px 30px;border-top:1px solid #ddd;text-align:right}#footer p{margin:0 0 0 1em;display:inline-block}#footer p:last-child{margin-right:30px}h1,h2,h3,h4,h5{font-weight:300}h1{font-size:2.5em;line-height:1.1em}h2{font-size:1.75em;margin:1em 0 .50em 0}h3{font-size:1.4em;margin:25px 0 10px 0}h4{margin:0;font-size:105%}h1:target,h2:target,h3:target,h4:target,h5:target,h6:target{background:var(--highlight-color);padding:.2em 0}a{color:#058;text-decoration:none;transition:color .3s ease-in-out}a:hover{color:#e82}.title code{font-weight:bold}h2[id^="header-"]{margin-top:2em}.ident{color:#900}pre code{background:#f8f8f8;font-size:.8em;line-height:1.4em}code{background:#f2f2f1;padding:1px 4px;overflow-wrap:break-word}h1 code{background:transparent}pre{background:#f8f8f8;border:0;border-top:1px solid #ccc;border-bottom:1px solid #ccc;margin:1em 0;padding:1ex}#http-server-module-list{display:flex;flex-flow:column}#http-server-module-list div{display:flex}#http-server-module-list dt{min-width:10%}#http-server-module-list p{margin-top:0}.toc ul,#index{list-style-type:none;margin:0;padding:0}#index code{background:transparent}#index h3{border-bottom:1px solid #ddd}#index ul{padding:0}#index h4{margin-top:.6em;font-weight:bold}@media (min-width:200ex){#index .two-column{column-count:2}}@media (min-width:300ex){#index .two-column{column-count:3}}dl{margin-bottom:2em}dl dl:last-child{margin-bottom:4em}dd{margin:0 0 1em 3em}#header-classes + dl > dd{margin-bottom:3em}dd dd{margin-left:2em}dd p{margin:10px 0}.name{background:#eee;font-weight:bold;font-size:.85em;padding:5px 10px;display:inline-block;min-width:40%}.name:hover{background:#e0e0e0}dt:target .name{background:var(--highlight-color)}.name > span:first-child{white-space:nowrap}.name.class > span:nth-child(2){margin-left:.4em}.inherited{color:#999;border-left:5px solid #eee;padding-left:1em}.inheritance em{font-style:normal;font-weight:bold}.desc h2{font-weight:400;font-size:1.25em}.desc h3{font-size:1em}.desc dt code{background:inherit}.source summary,.git-link-div{color:#666;text-align:right;font-weight:400;font-size:.8em;text-transform:uppercase}.source summary > *{white-space:nowrap;cursor:pointer}.git-link{color:inherit;margin-left:1em}.source pre{max-height:500px;overflow:auto;margin:0}.source pre code{font-size:12px;overflow:visible}.hlist{list-style:none}.hlist li{display:inline}.hlist li:after{content:',\2002'}.hlist li:last-child:after{content:none}.hlist .hlist{display:inline;padding-left:1em}img{max-width:100%}td{padding:0 .5em}.admonition{padding:.1em .5em;margin-bottom:1em}.admonition-title{font-weight:bold}.admonition.note,.admonition.info,.admonition.important{background:#aef}.admonition.todo,.admonition.versionadded,.admonition.tip,.admonition.hint{background:#dfd}.admonition.warning,.admonition.versionchanged,.admonition.deprecated{background:#fd4}.admonition.error,.admonition.danger,.admonition.caution{background:lightpink}</style>
13-
<style media="screen and (min-width: 700px)">@media screen and (min-width:700px){#sidebar{width:30%;height:100vh;overflow:auto;position:sticky;top:0}#content{width:70%;max-width:100ch;padding:3em 4em;border-left:1px solid #ddd}pre code{font-size:1em}.item .name{font-size:1em}main{display:flex;flex-direction:row-reverse;justify-content:flex-end}.toc ul ul,#index ul{padding-left:1.5em}.toc > ul > li{margin-top:.5em}}</style>
8+
<meta name="description" content="">
9+
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/10up-sanitize.css/13.0.0/sanitize.min.css" integrity="sha512-y1dtMcuvtTMJc1yPgEqF0ZjQbhnc/bFhyvIyVNb9Zk5mIGtqVaAB1Ttl28su8AvFMOY0EwRbAe+HCLqj6W7/KA==" crossorigin>
10+
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/10up-sanitize.css/13.0.0/typography.min.css" integrity="sha512-Y1DYSb995BAfxobCkKepB1BqJJTPrOp3zPL74AWFugHHmmdcvO+C48WLrUOlhGMc0QG7AE3f7gmvvcrmX2fDoA==" crossorigin>
11+
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.9.0/styles/github.min.css" crossorigin>
12+
<style>:root{--highlight-color:#fe9}.flex{display:flex !important}body{line-height:1.5em}#content{padding:20px}#sidebar{padding:1.5em;overflow:hidden}#sidebar > *:last-child{margin-bottom:2cm}#lunr-search{width:100%;font-size:1em;padding:6px 9px 5px 9px;border:1px solid silver}.http-server-breadcrumbs{font-size:130%;margin:0 0 15px 0}#footer{font-size:.75em;padding:5px 30px;border-top:1px solid #ddd;text-align:right}#footer p{margin:0 0 0 1em;display:inline-block}#footer p:last-child{margin-right:30px}h1,h2,h3,h4,h5{font-weight:300}h1{font-size:2.5em;line-height:1.1em}h2{font-size:1.75em;margin:2em 0 .50em 0}h3{font-size:1.4em;margin:1.6em 0 .7em 0}h4{margin:0;font-size:105%}h1:target,h2:target,h3:target,h4:target,h5:target,h6:target{background:var(--highlight-color);padding:.2em 0}a{color:#058;text-decoration:none;transition:color .2s ease-in-out}a:visited{color:#503}a:hover{color:#b62}.title code{font-weight:bold}h2[id^="header-"]{margin-top:2em}.ident{color:#900;font-weight:bold}pre code{font-size:.8em;line-height:1.4em;padding:1em;display:block}code{background:#f3f3f3;font-family:"DejaVu Sans Mono",monospace;padding:1px 4px;overflow-wrap:break-word}h1 code{background:transparent}pre{border-top:1px solid #ccc;border-bottom:1px solid #ccc;margin:1em 0}#http-server-module-list{display:flex;flex-flow:column}#http-server-module-list div{display:flex}#http-server-module-list dt{min-width:10%}#http-server-module-list p{margin-top:0}.toc ul,#index{list-style-type:none;margin:0;padding:0}#index code{background:transparent}#index h3{border-bottom:1px solid #ddd}#index ul{padding:0}#index h4{margin-top:.6em;font-weight:bold}@media (min-width:200ex){#index .two-column{column-count:2}}@media (min-width:300ex){#index .two-column{column-count:3}}dl{margin-bottom:2em}dl dl:last-child{margin-bottom:4em}dd{margin:0 0 1em 3em}#header-classes + dl > dd{margin-bottom:3em}dd dd{margin-left:2em}dd p{margin:10px 0}.name{background:#eee;font-size:.85em;padding:5px 10px;display:inline-block;min-width:40%}.name:hover{background:#e0e0e0}dt:target .name{background:var(--highlight-color)}.name > span:first-child{white-space:nowrap}.name.class > span:nth-child(2){margin-left:.4em}.inherited{color:#999;border-left:5px solid #eee;padding-left:1em}.inheritance em{font-style:normal;font-weight:bold}.desc h2{font-weight:400;font-size:1.25em}.desc h3{font-size:1em}.desc dt code{background:inherit}.source summary,.git-link-div{color:#666;text-align:right;font-weight:400;font-size:.8em;text-transform:uppercase}.source summary > *{white-space:nowrap;cursor:pointer}.git-link{color:inherit;margin-left:1em}.source pre{max-height:500px;overflow:auto;margin:0}.source pre code{font-size:12px;overflow:visible}.hlist{list-style:none}.hlist li{display:inline}.hlist li:after{content:',\2002'}.hlist li:last-child:after{content:none}.hlist .hlist{display:inline;padding-left:1em}img{max-width:100%}td{padding:0 .5em}.admonition{padding:.1em 1em;margin-bottom:1em}.admonition-title{font-weight:bold}.admonition.note,.admonition.info,.admonition.important{background:#aef}.admonition.todo,.admonition.versionadded,.admonition.tip,.admonition.hint{background:#dfd}.admonition.warning,.admonition.versionchanged,.admonition.deprecated{background:#fd4}.admonition.error,.admonition.danger,.admonition.caution{background:lightpink}</style>
13+
<style media="screen and (min-width: 700px)">@media screen and (min-width:700px){#sidebar{width:30%;height:100vh;overflow:auto;position:sticky;top:0}#content{width:70%;max-width:100ch;padding:3em 4em;border-left:1px solid #ddd}pre code{font-size:1em}.name{font-size:1em}main{display:flex;flex-direction:row-reverse;justify-content:flex-end}.toc ul ul,#index ul ul{padding-left:1em}.toc > ul > li{margin-top:.5em}}</style>
1414
<style media="print">@media print{#sidebar h1{page-break-before:always}.source{display:none}}@media print{*{background:transparent !important;color:#000 !important;box-shadow:none !important;text-shadow:none !important}a[href]:after{content:" (" attr(href) ")";font-size:90%}a[href][title]:after{content:none}abbr[title]:after{content:" (" attr(title) ")"}.ir a:after,a[href^="javascript:"]:after,a[href^="#"]:after{content:""}pre,blockquote{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}tr,img{page-break-inside:avoid}img{max-width:100% !important}@page{margin:0.5cm}p,h2,h3{orphans:3;widows:3}h1,h2,h3,h4,h5,h6{page-break-after:avoid}}</style>
15-
<script defer src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/10.1.1/highlight.min.js" integrity="sha256-Uv3H6lx7dJmRfRvH8TH6kJD1TSK1aFcwgx+mdg3epi8=" crossorigin></script>
16-
<script>window.addEventListener('DOMContentLoaded', () => hljs.initHighlighting())</script>
15+
<script defer src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.9.0/highlight.min.js" integrity="sha512-D9gUyxqja7hBtkWpPWGt9wfbfaMGVt9gnyCvYa+jojwwPHLCzUm5i8rpk7vD7wNee9bA35eYIjobYPaQuKS1MQ==" crossorigin></script>
16+
<script>window.addEventListener('DOMContentLoaded', () => {
17+
hljs.configure({languages: ['bash', 'css', 'diff', 'graphql', 'ini', 'javascript', 'json', 'plaintext', 'python', 'python-repl', 'rust', 'shell', 'sql', 'typescript', 'xml', 'yaml']});
18+
hljs.highlightAll();
19+
})</script>
1720
</head>
1821
<body>
1922
<main>
@@ -22,64 +25,6 @@
2225
<h1 class="title">Module <code>facetorch.analyzer.detector.core</code></h1>
2326
</header>
2427
<section id="section-intro">
25-
<details class="source">
26-
<summary>
27-
<span>Expand source code</span>
28-
</summary>
29-
<pre><code class="python">import torch
30-
from codetiming import Timer
31-
from facetorch.base import BaseDownloader, BaseModel
32-
from facetorch.datastruct import ImageData
33-
from facetorch.logger import LoggerJsonFile
34-
35-
from .post import BaseDetPostProcessor
36-
from .pre import BaseDetPreProcessor
37-
38-
logger = LoggerJsonFile().logger
39-
40-
41-
class FaceDetector(BaseModel):
42-
@Timer(
43-
&#34;FaceDetector.__init__&#34;, &#34;{name}: {milliseconds:.2f} ms&#34;, logger=logger.debug
44-
)
45-
def __init__(
46-
self,
47-
downloader: BaseDownloader,
48-
device: torch.device,
49-
preprocessor: BaseDetPreProcessor,
50-
postprocessor: BaseDetPostProcessor,
51-
**kwargs
52-
):
53-
&#34;&#34;&#34;FaceDetector is a wrapper around a neural network model that is trained to detect faces.
54-
55-
Args:
56-
downloader (BaseDownloader): Downloader that downloads the model.
57-
device (torch.device): Torch device cpu or cuda for the model.
58-
preprocessor (BaseDetPreProcessor): Preprocessor that runs before the model.
59-
postprocessor (BaseDetPostProcessor): Postprocessor that runs after the model.
60-
&#34;&#34;&#34;
61-
self.__dict__.update(kwargs)
62-
super().__init__(downloader, device)
63-
64-
self.preprocessor = preprocessor
65-
self.postprocessor = postprocessor
66-
67-
@Timer(&#34;FaceDetector.run&#34;, &#34;{name}: {milliseconds:.2f} ms&#34;, logger=logger.debug)
68-
def run(self, data: ImageData) -&gt; ImageData:
69-
&#34;&#34;&#34;Detect all faces in the image.
70-
71-
Args:
72-
ImageData: ImageData object containing the image tensor with values between 0 - 255 and shape (batch_size, channels, height, width).
73-
74-
Returns:
75-
ImageData: Image data object with Detection tensors and detected Face objects.
76-
&#34;&#34;&#34;
77-
data = self.preprocessor.run(data)
78-
logits = self.inference(data.tensor)
79-
data = self.postprocessor.run(data, logits)
80-
81-
return data</code></pre>
82-
</details>
8328
</section>
8429
<section>
8530
</section>
@@ -174,26 +119,6 @@ <h2 id="returns">Returns</h2>
174119
<dt><code>ImageData</code></dt>
175120
<dd>Image data object with Detection tensors and detected Face objects.</dd>
176121
</dl></div>
177-
<details class="source">
178-
<summary>
179-
<span>Expand source code</span>
180-
</summary>
181-
<pre><code class="python">@Timer(&#34;FaceDetector.run&#34;, &#34;{name}: {milliseconds:.2f} ms&#34;, logger=logger.debug)
182-
def run(self, data: ImageData) -&gt; ImageData:
183-
&#34;&#34;&#34;Detect all faces in the image.
184-
185-
Args:
186-
ImageData: ImageData object containing the image tensor with values between 0 - 255 and shape (batch_size, channels, height, width).
187-
188-
Returns:
189-
ImageData: Image data object with Detection tensors and detected Face objects.
190-
&#34;&#34;&#34;
191-
data = self.preprocessor.run(data)
192-
logits = self.inference(data.tensor)
193-
data = self.postprocessor.run(data, logits)
194-
195-
return data</code></pre>
196-
</details>
197122
</dd>
198123
</dl>
199124
<h3>Inherited members</h3>
@@ -256,7 +181,6 @@ <h3>Inherited members</h3>
256181
}).setContent('<iframe src="' + url + '"></iframe>').open();
257182
}
258183
</script>
259-
<h1>Index</h1>
260184
<div class="toc">
261185
<ul></ul>
262186
</div>
@@ -280,7 +204,7 @@ <h4><code><a title="facetorch.analyzer.detector.core.FaceDetector" href="#faceto
280204
</nav>
281205
</main>
282206
<footer id="footer">
283-
<p>Generated by <a href="https://pdoc3.github.io/pdoc" title="pdoc: Python API documentation generator"><cite>pdoc</cite> 0.10.0</a>.</p>
207+
<p>Generated by <a href="https://pdoc3.github.io/pdoc" title="pdoc: Python API documentation generator"><cite>pdoc</cite> 0.11.1</a>.</p>
284208
</footer>
285209
</body>
286-
</html>
210+
</html>

0 commit comments

Comments
 (0)