이 위대한 기사 (http://machinethink.net/blog/coreml-custom-layers/) 덕분에 Keras 사용자 지정 레이어로 coremltools 및 Lambda를 사용하여 변환하는 방법을 이해했습니다. 그러나 두 가지 매개 변수를 사용하여 상황을 이해할 수는 없습니다.Core ML에 두 개의 매개 변수가있는 사용자 지정 레이어
#python
def scaling(x, scale):
return x * scale
Keras layer 여기에 있습니다. 이 상황에
#python
up = conv2d_bn(mixed,
K.int_shape(x)[channel_axis],
1,
activation=None,
use_bias=True,
name=name_fmt('Conv2d_1x1'))
x = Lambda(scaling, # HERE !!
output_shape=K.int_shape(up)[1:],
arguments={'scale': scale})(up)
x = add([x, up])
, 어떻게 스위프트에
custom MLCustomLayer class
에서
func evaluate(inputs: [MLMultiArray], outputs: [MLMultiArray])
을 쓸 수 있습니까? 나는
x * scale
같은
#swift
func evaluate(inputs: [MLMultiArray], outputs: [MLMultiArray]) throws {
for i in 0..<inputs.count {
let input = inputs[i]
let output = outputs[i]
for j in 0..<input.count {
let x = input[j].floatValue
let y = x/(1 + exp(-x))
output[j] = NSNumber(value: y)
}
}
}
어떻게
약 2 매개 변수 기능, 다음과 같이 하나의 매개 변수 기능 상황에서 이해?전체 코드는 여기입니다.
Keras https://github.com/osmszk/dla_team14/blob/master/facenet/code/facenet_keras_v2.py하여 사용자 층 https://github.com/osmszk/dla_team14/blob/master/facenet/coreml/CoremlTest.ipynb
- 감사합니다.
오! 정말 고맙습니다. 나는 네가 그렇게 논평했다. – osmszk
네, 맞습니다. 'scale'은 하이퍼 매개 변수입니다. 결실을 맺은 블로그 게시물과 코드 덕택에이 문제를 해결할 수있었습니다! – osmszk
많은 sooooo 감사합니다! – osmszk