From b2640e6b3496a0f8fd4ce36548b8f5d8b74448ba Mon Sep 17 00:00:00 2001
From: zhangmeng <775834166@qq.com>
Date: 星期六, 11 一月 2020 15:38:51 +0800
Subject: [PATCH] update
---
run.go | 27 ++++++++++++---------------
1 files changed, 12 insertions(+), 15 deletions(-)
diff --git a/run.go b/run.go
index 9cd9ec1..c31f84a 100644
--- a/run.go
+++ b/run.go
@@ -15,9 +15,9 @@
type reid struct {
handle *ReID
- list *sdkhelper.LockList
fnLogger func(...interface{})
+ gpu int
ipc string
}
@@ -46,17 +46,11 @@
gpuM := sdkhelper.Atoi(cfg.Param[sGPU])
- rGPU := 0
+ rGPU := gpu
if rGPU == -1 {
rGPU = gogpu.ValidGPU(gpuM + 512)
}
- if rGPU == -1 {
- fn("Reid SDK Create Error When Find GPU")
- return nil
- }
-
- rGPU = 0
handle := NewSDK(rGPU, cfg.Param[sModel])
if handle == nil {
@@ -66,9 +60,9 @@
return &reid{
handle: handle,
- list: sdkhelper.NewLockList(6),
fnLogger: fn,
+ gpu: rGPU,
ipc: cfg.Param[sIPC],
}
}
@@ -90,9 +84,9 @@
msg, err = c.Recv()
if err != nil {
- s.fnLogger("REID~~~~~~Recv Image Error : ", err)
continue
}
+
i := &protomsg.Image{}
err := proto.Unmarshal(msg, i)
if err != nil {
@@ -103,9 +97,16 @@
s.fnLogger("REID~~~~~~protomsg.Image data null")
continue
}
+ s.fnLogger("REID~~~~~~Recv Image:", len(i.Data))
+
feat := s.handle.Extract2(unsafe.Pointer(&i.Data[0]), int(i.Width), int(i.Height), 3)
if feat == nil {
-
+ // feat = make([]float32, 1)
+ } else {
+ for k := 0; k < 3; k++ {
+ s.fnLogger("REID~~~~~~extractor---human_feats------%f", feat[k+2000])
+ }
+ s.fnLogger("REID~~~~~~Run Reid Use GPU: ", s.gpu)
}
buf := float32SliceAsByteSlice(feat)
c.Send(buf)
@@ -121,9 +122,5 @@
l := len(src) * 4
ptr := unsafe.Pointer(&src[0])
- // It is important to keep in mind that the Go garbage collector
- // will not interact with this data, and that if src if freed,
- // the behavior of any Go code using the slice is nondeterministic.
- // Reference: https://github.com/golang/go/wiki/cgo#turning-c-arrays-into-go-slices
return (*[1 << 26]byte)((*[1 << 26]byte)(ptr))[:l:l]
}
--
Gitblit v1.8.0