Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
F
face
Project
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Иван Кубота
face
Commits
9af582a7
Commit
9af582a7
authored
Oct 30, 2018
by
vincent
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
use env wrapper for browser related code
parent
3ed6b109
Hide whitespace changes
Inline
Side-by-side
Showing
16 changed files
with
87 additions
and
78 deletions
+87
-78
drawLandmarks.ts
src/dom/drawLandmarks.ts
+2
-2
extractFaces.ts
src/dom/extractFaces.ts
+5
-2
FaceLandmark68Net.ts
src/faceLandmarkNet/FaceLandmark68Net.ts
+6
-3
FaceLandmark68NetBase.ts
src/faceLandmarkNet/FaceLandmark68NetBase.ts
+2
-4
FaceLandmark68TinyNet.ts
src/faceLandmarkNet/FaceLandmark68TinyNet.ts
+7
-3
extractParamsFromWeigthMap.ts
src/faceLandmarkNet/extractParamsFromWeigthMap.ts
+5
-7
extractParamsFromWeigthMapTiny.ts
src/faceLandmarkNet/extractParamsFromWeigthMapTiny.ts
+5
-7
FaceRecognitionNet.ts
src/faceRecognitionNet/FaceRecognitionNet.ts
+7
-3
extractParamsFromWeigthMap.ts
src/faceRecognitionNet/extractParamsFromWeigthMap.ts
+3
-6
Mtcnn.ts
src/mtcnn/Mtcnn.ts
+7
-4
extractParamsFromWeigthMap.ts
src/mtcnn/extractParamsFromWeigthMap.ts
+4
-12
SsdMobilenetv1.ts
src/ssdMobilenetv1/SsdMobilenetv1.ts
+7
-3
extractParamsFromWeigthMap.ts
src/ssdMobilenetv1/extractParamsFromWeigthMap.ts
+3
-7
TinyFaceDetector.ts
src/tinyFaceDetector/TinyFaceDetector.ts
+12
-6
const.ts
src/tinyFaceDetector/const.ts
+2
-4
TinyYolov2.ts
src/tinyYolov2/TinyYolov2.ts
+10
-5
No files found.
src/dom/drawLandmarks.ts
View file @
9af582a7
import
{
getContext2dOrThrow
,
getDefaultDrawOptions
,
resolveInput
}
from
'tfjs-image-recognition-base'
;
import
{
env
,
getContext2dOrThrow
,
getDefaultDrawOptions
,
resolveInput
}
from
'tfjs-image-recognition-base'
;
import
{
FaceLandmarks
}
from
'../classes/FaceLandmarks'
;
import
{
FaceLandmarks68
}
from
'../classes/FaceLandmarks68'
;
...
...
@@ -11,7 +11,7 @@ export function drawLandmarks(
options
?:
DrawLandmarksOptions
)
{
const
canvas
=
resolveInput
(
canvasArg
)
if
(
!
(
canvas
instanceof
HTMLCanvasElement
))
{
if
(
!
(
canvas
instanceof
env
.
getEnv
().
Canvas
))
{
throw
new
Error
(
'drawLandmarks - expected canvas to be of type: HTMLCanvasElement'
)
}
...
...
src/dom/extractFaces.ts
View file @
9af582a7
...
...
@@ -8,6 +8,7 @@ import {
}
from
'tfjs-image-recognition-base'
;
import
{
FaceDetection
}
from
'../classes/FaceDetection'
;
import
{
env
}
from
'tfjs-image-recognition-base'
;
/**
* Extracts the image regions containing the detected faces.
...
...
@@ -21,9 +22,11 @@ export async function extractFaces(
detections
:
Array
<
FaceDetection
|
Rect
>
):
Promise
<
HTMLCanvasElement
[]
>
{
const
{
Canvas
}
=
env
.
getEnv
()
let
canvas
=
input
as
HTMLCanvasElement
if
(
!
(
input
instanceof
HTMLCanvasElement
))
{
if
(
!
(
input
instanceof
Canvas
))
{
const
netInput
=
await
toNetInput
(
input
)
if
(
netInput
.
batchSize
>
1
)
{
...
...
@@ -31,7 +34,7 @@ export async function extractFaces(
}
const
tensorOrCanvas
=
netInput
.
getInput
(
0
)
canvas
=
tensorOrCanvas
instanceof
HTMLCanvasElement
canvas
=
tensorOrCanvas
instanceof
Canvas
?
tensorOrCanvas
:
await
imageTensorToCanvas
(
tensorOrCanvas
)
}
...
...
src/faceLandmarkNet/FaceLandmark68Net.ts
View file @
9af582a7
...
...
@@ -4,9 +4,9 @@ import { ConvParams, SeparableConvParams } from 'tfjs-tiny-yolov2';
import
{
depthwiseSeparableConv
}
from
'./depthwiseSeparableConv'
;
import
{
extractParams
}
from
'./extractParams'
;
import
{
extractParamsFromWeigthMap
}
from
'./extractParamsFromWeigthMap'
;
import
{
FaceLandmark68NetBase
}
from
'./FaceLandmark68NetBase'
;
import
{
fullyConnectedLayer
}
from
'./fullyConnectedLayer'
;
import
{
loadQuantizedParams
}
from
'./loadQuantizedParams'
;
import
{
DenseBlock4Params
,
NetParams
}
from
'./types'
;
function
denseBlock
(
...
...
@@ -64,10 +64,13 @@ export class FaceLandmark68Net extends FaceLandmark68NetBase<NetParams> {
})
}
protected
loadQuantizedParams
(
uri
:
string
|
undefined
)
{
return
loadQuantizedParams
(
uri
)
protected
getDefaultModelName
():
string
{
return
'face_landmark_68_model'
}
protected
extractParamsFromWeigthMap
(
weightMap
:
tf
.
NamedTensorMap
)
{
return
extractParamsFromWeigthMap
(
weightMap
)
}
protected
extractParams
(
weights
:
Float32Array
)
{
return
extractParams
(
weights
)
...
...
src/faceLandmarkNet/FaceLandmark68NetBase.ts
View file @
9af582a7
...
...
@@ -3,7 +3,7 @@ import { IDimensions, isEven, NetInput, NeuralNetwork, Point, TNetInput, toNetIn
import
{
FaceLandmarks68
}
from
'../classes/FaceLandmarks68'
;
export
class
FaceLandmark68NetBase
<
NetParams
>
extends
NeuralNetwork
<
NetParams
>
{
export
abstract
class
FaceLandmark68NetBase
<
NetParams
>
extends
NeuralNetwork
<
NetParams
>
{
// TODO: make super.name protected
private
__name
:
string
...
...
@@ -13,9 +13,7 @@ export class FaceLandmark68NetBase<NetParams> extends NeuralNetwork<NetParams> {
this
.
__name
=
_name
}
public
runNet
(
_
:
NetInput
):
tf
.
Tensor2D
{
throw
new
Error
(
`
${
this
.
__name
}
- runNet not implemented`
)
}
public
abstract
runNet
(
netInput
:
NetInput
):
tf
.
Tensor2D
public
postProcess
(
output
:
tf
.
Tensor2D
,
inputSize
:
number
,
originalDimensions
:
IDimensions
[]):
tf
.
Tensor2D
{
...
...
src/faceLandmarkNet/FaceLandmark68TinyNet.ts
View file @
9af582a7
...
...
@@ -6,7 +6,7 @@ import { depthwiseSeparableConv } from './depthwiseSeparableConv';
import
{
extractParamsTiny
}
from
'./extractParamsTiny'
;
import
{
FaceLandmark68NetBase
}
from
'./FaceLandmark68NetBase'
;
import
{
fullyConnectedLayer
}
from
'./fullyConnectedLayer'
;
import
{
loadQuantizedParamsTiny
}
from
'./loadQuantizedParams
Tiny'
;
import
{
extractParamsFromWeigthMapTiny
}
from
'./extractParamsFromWeigthMap
Tiny'
;
import
{
DenseBlock3Params
,
TinyNetParams
}
from
'./types'
;
function
denseBlock
(
...
...
@@ -60,8 +60,12 @@ export class FaceLandmark68TinyNet extends FaceLandmark68NetBase<TinyNetParams>
})
}
protected
loadQuantizedParams
(
uri
:
string
|
undefined
)
{
return
loadQuantizedParamsTiny
(
uri
)
protected
getDefaultModelName
():
string
{
return
'face_landmark_68_tiny_model'
}
protected
extractParamsFromWeigthMap
(
weightMap
:
tf
.
NamedTensorMap
)
{
return
extractParamsFromWeigthMapTiny
(
weightMap
)
}
protected
extractParams
(
weights
:
Float32Array
)
{
...
...
src/faceLandmarkNet/
loadQuantizedParams
.ts
→
src/faceLandmarkNet/
extractParamsFromWeigthMap
.ts
View file @
9af582a7
import
{
disposeUnusedWeightTensors
,
loadWeightMap
,
ParamMapping
}
from
'tfjs-image-recognition-base'
;
import
*
as
tf
from
'@tensorflow/tfjs-core'
;
import
{
disposeUnusedWeightTensors
,
ParamMapping
}
from
'tfjs-image-recognition-base'
;
import
{
loadParamsFactory
}
from
'./loadParamsFactory'
;
import
{
NetParams
}
from
'./types'
;
const
DEFAULT_MODEL_NAME
=
'face_landmark_68_model'
export
function
extractParamsFromWeigthMap
(
weightMap
:
tf
.
NamedTensorMap
):
{
params
:
NetParams
,
paramMappings
:
ParamMapping
[]
}
{
export
async
function
loadQuantizedParams
(
uri
:
string
|
undefined
):
Promise
<
{
params
:
NetParams
,
paramMappings
:
ParamMapping
[]
}
>
{
const
weightMap
=
await
loadWeightMap
(
uri
,
DEFAULT_MODEL_NAME
)
const
paramMappings
:
ParamMapping
[]
=
[]
const
{
...
...
src/faceLandmarkNet/
loadQuantizedParams
Tiny.ts
→
src/faceLandmarkNet/
extractParamsFromWeigthMap
Tiny.ts
View file @
9af582a7
import
{
disposeUnusedWeightTensors
,
loadWeightMap
,
ParamMapping
}
from
'tfjs-image-recognition-base'
;
import
*
as
tf
from
'@tensorflow/tfjs-core'
;
import
{
disposeUnusedWeightTensors
,
ParamMapping
}
from
'tfjs-image-recognition-base'
;
import
{
loadParamsFactory
}
from
'./loadParamsFactory'
;
import
{
TinyNetParams
}
from
'./types'
;
const
DEFAULT_MODEL_NAME
=
'face_landmark_68_tiny_model'
export
function
extractParamsFromWeigthMapTiny
(
weightMap
:
tf
.
NamedTensorMap
):
{
params
:
TinyNetParams
,
paramMappings
:
ParamMapping
[]
}
{
export
async
function
loadQuantizedParamsTiny
(
uri
:
string
|
undefined
):
Promise
<
{
params
:
TinyNetParams
,
paramMappings
:
ParamMapping
[]
}
>
{
const
weightMap
=
await
loadWeightMap
(
uri
,
DEFAULT_MODEL_NAME
)
const
paramMappings
:
ParamMapping
[]
=
[]
const
{
...
...
src/faceRecognitionNet/FaceRecognitionNet.ts
View file @
9af582a7
...
...
@@ -3,7 +3,7 @@ import { NetInput, NeuralNetwork, normalize, TNetInput, toNetInput } from 'tfjs-
import
{
convDown
}
from
'./convLayer'
;
import
{
extractParams
}
from
'./extractParams'
;
import
{
loadQuantizedParams
}
from
'./loadQuantizedParams
'
;
import
{
extractParamsFromWeigthMap
}
from
'./extractParamsFromWeigthMap
'
;
import
{
residual
,
residualDown
}
from
'./residualLayer'
;
import
{
NetParams
}
from
'./types'
;
...
...
@@ -78,8 +78,12 @@ export class FaceRecognitionNet extends NeuralNetwork<NetParams> {
:
faceDescriptorsForBatch
[
0
]
}
protected
loadQuantizedParams
(
uri
:
string
|
undefined
)
{
return
loadQuantizedParams
(
uri
)
protected
getDefaultModelName
():
string
{
return
'face_recognition_model'
}
protected
extractParamsFromWeigthMap
(
weightMap
:
tf
.
NamedTensorMap
)
{
return
extractParamsFromWeigthMap
(
weightMap
)
}
protected
extractParams
(
weights
:
Float32Array
)
{
...
...
src/faceRecognitionNet/
loadQuantizedParams
.ts
→
src/faceRecognitionNet/
extractParamsFromWeigthMap
.ts
View file @
9af582a7
...
...
@@ -9,8 +9,6 @@ import {
import
{
ConvLayerParams
,
NetParams
,
ResidualLayerParams
,
ScaleLayerParams
}
from
'./types'
;
const
DEFAULT_MODEL_NAME
=
'face_recognition_model'
function
extractorsFactory
(
weightMap
:
any
,
paramMappings
:
ParamMapping
[])
{
const
extractWeightEntry
=
extractWeightEntryFactory
(
weightMap
,
paramMappings
)
...
...
@@ -46,11 +44,10 @@ function extractorsFactory(weightMap: any, paramMappings: ParamMapping[]) {
}
export
async
function
loadQuantizedParams
(
uri
:
string
|
undefined
):
Promise
<
{
params
:
NetParams
,
paramMappings
:
ParamMapping
[]
}
>
{
export
function
extractParamsFromWeigthMap
(
weightMap
:
tf
.
NamedTensorMap
):
{
params
:
NetParams
,
paramMappings
:
ParamMapping
[]
}
{
const
weightMap
=
await
loadWeightMap
(
uri
,
DEFAULT_MODEL_NAME
)
const
paramMappings
:
ParamMapping
[]
=
[]
const
{
...
...
src/mtcnn/Mtcnn.ts
View file @
9af582a7
...
...
@@ -7,8 +7,8 @@ import { FaceLandmarks5 } from '../classes/FaceLandmarks5';
import
{
bgrToRgbTensor
}
from
'./bgrToRgbTensor'
;
import
{
CELL_SIZE
}
from
'./config'
;
import
{
extractParams
}
from
'./extractParams'
;
import
{
extractParamsFromWeigthMap
}
from
'./extractParamsFromWeigthMap'
;
import
{
getSizesForScale
}
from
'./getSizesForScale'
;
import
{
loadQuantizedParams
}
from
'./loadQuantizedParams'
;
import
{
IMtcnnOptions
,
MtcnnOptions
}
from
'./MtcnnOptions'
;
import
{
pyramidDown
}
from
'./pyramidDown'
;
import
{
stage1
}
from
'./stage1'
;
...
...
@@ -146,9 +146,12 @@ export class Mtcnn extends NeuralNetwork<NetParams> {
)
}
// none of the param tensors are quantized yet
protected
loadQuantizedParams
(
uri
:
string
|
undefined
)
{
return
loadQuantizedParams
(
uri
)
protected
getDefaultModelName
():
string
{
return
'mtcnn_model'
}
protected
extractParamsFromWeigthMap
(
weightMap
:
tf
.
NamedTensorMap
)
{
return
extractParamsFromWeigthMap
(
weightMap
)
}
protected
extractParams
(
weights
:
Float32Array
)
{
...
...
src/mtcnn/
loadQuantizedParams
.ts
→
src/mtcnn/
extractParamsFromWeigthMap
.ts
View file @
9af582a7
import
*
as
tf
from
'@tensorflow/tfjs-core'
;
import
{
disposeUnusedWeightTensors
,
extractWeightEntryFactory
,
loadWeightMap
,
ParamMapping
,
}
from
'tfjs-image-recognition-base'
;
import
{
disposeUnusedWeightTensors
,
extractWeightEntryFactory
,
ParamMapping
}
from
'tfjs-image-recognition-base'
;
import
{
ConvParams
,
FCParams
}
from
'tfjs-tiny-yolov2'
;
import
{
NetParams
,
ONetParams
,
PNetParams
,
RNetParams
,
SharedParams
}
from
'./types'
;
const
DEFAULT_MODEL_NAME
=
'mtcnn_model'
function
extractorsFactory
(
weightMap
:
any
,
paramMappings
:
ParamMapping
[])
{
const
extractWeightEntry
=
extractWeightEntryFactory
(
weightMap
,
paramMappings
)
...
...
@@ -87,11 +80,10 @@ function extractorsFactory(weightMap: any, paramMappings: ParamMapping[]) {
}
export
async
function
loadQuantizedParams
(
uri
:
string
|
undefined
):
Promise
<
{
params
:
NetParams
,
paramMappings
:
ParamMapping
[]
}
>
{
export
function
extractParamsFromWeigthMap
(
weightMap
:
tf
.
NamedTensorMap
):
{
params
:
NetParams
,
paramMappings
:
ParamMapping
[]
}
{
const
weightMap
=
await
loadWeightMap
(
uri
,
DEFAULT_MODEL_NAME
)
const
paramMappings
:
ParamMapping
[]
=
[]
const
{
...
...
src/ssdMobilenetv1/SsdMobilenetv1.ts
View file @
9af582a7
...
...
@@ -3,7 +3,7 @@ import { NetInput, NeuralNetwork, Rect, TNetInput, toNetInput } from 'tfjs-image
import
{
FaceDetection
}
from
'../classes/FaceDetection'
;
import
{
extractParams
}
from
'./extractParams'
;
import
{
loadQuantizedParams
}
from
'./loadQuantizedParams
'
;
import
{
extractParamsFromWeigthMap
}
from
'./extractParamsFromWeigthMap
'
;
import
{
mobileNetV1
}
from
'./mobileNetV1'
;
import
{
nonMaxSuppression
}
from
'./nonMaxSuppression'
;
import
{
outputLayer
}
from
'./outputLayer'
;
...
...
@@ -116,8 +116,12 @@ export class SsdMobilenetv1 extends NeuralNetwork<NetParams> {
return
results
}
protected
loadQuantizedParams
(
uri
:
string
|
undefined
)
{
return
loadQuantizedParams
(
uri
)
protected
getDefaultModelName
():
string
{
return
'ssd_mobilenetv1_model'
}
protected
extractParamsFromWeigthMap
(
weightMap
:
tf
.
NamedTensorMap
)
{
return
extractParamsFromWeigthMap
(
weightMap
)
}
protected
extractParams
(
weights
:
Float32Array
)
{
...
...
src/ssdMobilenetv1/
loadQuantizedParams
.ts
→
src/ssdMobilenetv1/
extractParamsFromWeigthMap
.ts
View file @
9af582a7
...
...
@@ -3,15 +3,12 @@ import {
disposeUnusedWeightTensors
,
extractWeightEntryFactory
,
isTensor3D
,
loadWeightMap
,
ParamMapping
,
}
from
'tfjs-image-recognition-base'
;
import
{
ConvParams
}
from
'tfjs-tiny-yolov2'
;
import
{
BoxPredictionParams
,
MobileNetV1
,
NetParams
,
PointwiseConvParams
,
PredictionLayerParams
}
from
'./types'
;
const
DEFAULT_MODEL_NAME
=
'ssd_mobilenetv1_model'
function
extractorsFactory
(
weightMap
:
any
,
paramMappings
:
ParamMapping
[])
{
const
extractWeightEntry
=
extractWeightEntryFactory
(
weightMap
,
paramMappings
)
...
...
@@ -114,11 +111,10 @@ function extractorsFactory(weightMap: any, paramMappings: ParamMapping[]) {
}
}
export
async
function
loadQuantizedParams
(
uri
:
string
|
undefined
):
Promise
<
{
params
:
NetParams
,
paramMappings
:
ParamMapping
[]
}
>
{
export
function
extractParamsFromWeigthMap
(
weightMap
:
tf
.
NamedTensorMap
):
{
params
:
NetParams
,
paramMappings
:
ParamMapping
[]
}
{
const
weightMap
=
await
loadWeightMap
(
uri
,
DEFAULT_MODEL_NAME
)
const
paramMappings
:
ParamMapping
[]
=
[]
const
{
...
...
src/tinyFaceDetector/TinyFaceDetector.ts
View file @
9af582a7
import
{
Point
,
TNetInput
}
from
'tfjs-image-recognition-base'
;
import
{
TinyYolov2
as
TinyYolov2Base
,
ITinyYolov2Options
}
from
'tfjs-tiny-yolov2'
;
import
*
as
tf
from
'@tensorflow/tfjs-core'
;
import
{
ParamMapping
,
Point
,
TNetInput
}
from
'tfjs-image-recognition-base'
;
import
{
ITinyYolov2Options
,
TinyYolov2
as
TinyYolov2Base
}
from
'tfjs-tiny-yolov2'
;
import
{
TinyYolov2NetParams
}
from
'tfjs-tiny-yolov2/build/commonjs/tinyYolov2/types'
;
import
{
FaceDetection
}
from
'../classes'
;
import
{
BOX_ANCHORS
,
DEFAULT_MODEL_NAME
,
IOU_THRESHOLD
,
MEAN_RGB
}
from
'./const'
;
import
{
BOX_ANCHORS
,
IOU_THRESHOLD
,
MEAN_RGB
}
from
'./const'
;
export
class
TinyFaceDetector
extends
TinyYolov2Base
{
...
...
@@ -29,8 +31,11 @@ export class TinyFaceDetector extends TinyYolov2Base {
return
objectDetections
.
map
(
det
=>
new
FaceDetection
(
det
.
score
,
det
.
relativeBox
,
{
width
:
det
.
imageWidth
,
height
:
det
.
imageHeight
}))
}
protected
loadQuantizedParams
(
modelUri
:
string
|
undefined
)
{
const
defaultModelName
=
DEFAULT_MODEL_NAME
return
super
.
loadQuantizedParams
(
modelUri
,
defaultModelName
)
as
any
protected
getDefaultModelName
():
string
{
return
'tiny_face_detector_model'
}
protected
extractParamsFromWeigthMap
(
weightMap
:
tf
.
NamedTensorMap
):
{
params
:
TinyYolov2NetParams
,
paramMappings
:
ParamMapping
[]
}
{
return
super
.
extractParamsFromWeigthMap
(
weightMap
)
}
}
\ No newline at end of file
src/tinyFaceDetector/const.ts
View file @
9af582a7
...
...
@@ -10,6 +10,4 @@ export const BOX_ANCHORS = [
new
Point
(
9.041765
,
10.66308
)
]
export
const
MEAN_RGB
:
[
number
,
number
,
number
]
=
[
117.001
,
114.697
,
97.404
]
export
const
DEFAULT_MODEL_NAME
=
'tiny_face_detector_model'
\ No newline at end of file
export
const
MEAN_RGB
:
[
number
,
number
,
number
]
=
[
117.001
,
114.697
,
97.404
]
\ No newline at end of file
src/tinyYolov2/TinyYolov2.ts
View file @
9af582a7
import
{
Point
,
TNetInput
}
from
'tfjs-image-recognition-base'
;
import
{
ITinyYolov2Options
,
TinyYolov2
as
TinyYolov2Base
}
from
'tfjs-tiny-yolov2'
;
import
*
as
tf
from
'@tensorflow/tfjs-core'
;
import
{
ParamMapping
,
Point
,
TNetInput
}
from
'tfjs-image-recognition-base'
;
import
{
ITinyYolov2Options
,
TinyYolov2
as
TinyYolov2Base
,
TinyYolov2NetParams
}
from
'tfjs-tiny-yolov2'
;
import
{
FaceDetection
}
from
'../classes'
;
import
{
...
...
@@ -46,8 +47,11 @@ export class TinyYolov2 extends TinyYolov2Base {
return
objectDetections
.
map
(
det
=>
new
FaceDetection
(
det
.
score
,
det
.
relativeBox
,
{
width
:
det
.
imageWidth
,
height
:
det
.
imageHeight
}))
}
protected
loadQuantizedParams
(
modelUri
:
string
|
undefined
)
{
const
defaultModelName
=
this
.
withSeparableConvs
?
DEFAULT_MODEL_NAME_SEPARABLE_CONV
:
DEFAULT_MODEL_NAME
return
super
.
loadQuantizedParams
(
modelUri
,
defaultModelName
)
as
any
protected
getDefaultModelName
():
string
{
return
this
.
withSeparableConvs
?
DEFAULT_MODEL_NAME_SEPARABLE_CONV
:
DEFAULT_MODEL_NAME
}
protected
extractParamsFromWeigthMap
(
weightMap
:
tf
.
NamedTensorMap
):
{
params
:
TinyYolov2NetParams
,
paramMappings
:
ParamMapping
[]
}
{
return
super
.
extractParamsFromWeigthMap
(
weightMap
)
}
}
\ No newline at end of file
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment