reid from https://github.com/michuanhaohao/reid-strong-baseline
zhangmeng
2020-01-14 3c5565466db64950d797fdc3e40c599d73a3e239
debug
2个文件已修改
70 ■■■■ 已修改文件
go.mod 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
run.go 68 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
go.mod
@@ -17,5 +17,5 @@
    golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135 // indirect
    google.golang.org/grpc v1.26.0 // indirect
    honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc // indirect
    nanomsg.org/go-mangos v1.4.0 // indirect
    nanomsg.org/go-mangos v1.4.0
)
run.go
@@ -15,8 +15,12 @@
    "basic.com/pubsub/protomsg.git"
    "basic.com/valib/godraw.git"
    "basic.com/valib/deliver.git"
    "github.com/gogo/protobuf/proto"
    "nanomsg.org/go-mangos"
    "nanomsg.org/go-mangos/protocol/rep"
    "nanomsg.org/go-mangos/transport/ipc"
    "nanomsg.org/go-mangos/transport/tcp"
)
type reid struct {
@@ -77,38 +81,40 @@
func Run(ctx context.Context, i interface{}) {
    s := i.(*reid)
    c := deliver.NewClient(deliver.ReqRep, s.ipc)
    sendTry := 0
    recvTry := 0
    maxTry := 30
    var msg []byte
    var sock mangos.Socket
    var err error
    var msg []byte
    for {
        if sock, err = rep.NewSocket(); err != nil {
            s.fnLogger("can't get new rep socket: ", err)
            time.Sleep(5 * time.Millisecond)
        } else {
            break
        }
    }
    sock.AddTransport(ipc.NewTransport())
    sock.AddTransport(tcp.NewTransport())
    for {
        if err = sock.Listen(s.ipc); err != nil {
            s.fnLogger("can't listen on rep socket: ", err)
            time.Sleep(5 * time.Millisecond)
        } else {
            break
        }
    }
    for {
        select {
        case <-ctx.Done():
            sock.Close()
            return
        default:
            for {
                msg, err = c.Recv()
                if err == nil {
                    recvTry = 0
                    break
                }
                recvTry++
                if recvTry > maxTry {
                    break
                }
            if msg, err = sock.Recv(); err != nil {
                s.fnLogger("REID~~~~~~Recv From HumanTrack error: ", err)
                time.Sleep(5 * time.Millisecond)
                continue
            }
            if recvTry > maxTry {
                recvTry = 0
                continue
            }
@@ -155,20 +161,8 @@
            buf := float32SliceAsByteSlice(feat)
            ioutil.WriteFile("./reid-feat-byte.txt", buf, 0644)
            for {
                err = c.Send(buf)
                if err == nil {
                    sendTry = 0
                    break
                }
                if sendTry > maxTry {
                    sendTry = 0
                    s.fnLogger("REID~~~~~~Send HumanTrack try: ", maxTry)
                    break
                }
            if err = sock.Send(buf); err != nil {
                s.fnLogger("REID~~~~~~Send HumanTrack error: ", err)
                time.Sleep(5 * time.Millisecond)
                continue
            }
        }