refactor: inference result

This commit is contained in:
Cyrille Nofficial 2021-12-31 18:47:21 +01:00
parent c5c87da714
commit ce58df8a6d
2 changed files with 12 additions and 10 deletions

View File

@ -211,17 +211,19 @@ func (p *Part) Value(img image.Image) (float32, float32, error) {
return 0., 0., fmt.Errorf("invoke failed: %v", status)
}
output := p.interpreter.GetOutputTensor(0)
output := p.interpreter.GetOutputTensor(0).Int8s()
zap.L().Debug("raw steering", zap.Int8s("result", output))
outputSize := output.Dim(output.NumDims() - 1)
//outputSize := output.Dim(output.NumDims() - 1)
b := make([]byte, outputSize)
status = output.CopyToBuffer(&b[0])
if status != tflite.OK {
return 0., 0., fmt.Errorf("output failed: %v", status)
}
//b := make([]byte, outputSize)
//status = output.CopyToBuffer(&b[0])
//if status != tflite.OK {
// return 0., 0., fmt.Errorf("output failed: %v", status)
//}
steering, score := tools.LinearBin(b, 15, -1, 2.0)
steering, score := tools.LinearBin(output, 15, -1, 2.0)
//steering, score := tools.LinearBin(b, 15, -1, 2.0)
zap.L().Debug("found steering",
zap.Float64("steering", steering),
zap.Float64("score", score),

View File

@ -7,7 +7,7 @@ import (
)
// LinearBin perform inverse linear_bin, taking
func LinearBin(arr []byte, n int, offset int, r float64) (float64, float64) {
func LinearBin(arr []int8, n int, offset int, r float64) (float64, float64) {
outputSize := len(arr)
type result struct {
score float64
@ -17,7 +17,7 @@ func LinearBin(arr []byte, n int, offset int, r float64) (float64, float64) {
var results []result
minScore := 0.2
for i := 0; i < outputSize; i++ {
score := float64(arr[i]) / 255.0
score := float64(int(arr[i])+128) / 255.0
if score < minScore {
continue
}