diff --git a/manager/main.go b/manager/main.go index 4abb5b7ca4b..d602c99fb09 100644 --- a/manager/main.go +++ b/manager/main.go @@ -79,7 +79,9 @@ func (s *server) saveCompletedModels(studyId string, conf *pb.StudyConfig) error met := make([]*pb.Metrics, len(conf.Metrics)) for i, mn := range conf.Metrics { l, _ := dbIf.GetTrialLogs(tid, &kdb.GetTrialLogOpts{Name: mn}) - met[i] = &pb.Metrics{Name: mn, Value: l[len(l)-1].Value} + if len(l) > 0 { + met[i] = &pb.Metrics{Name: mn, Value: l[len(l)-1].Value} + } } t, _ := dbIf.GetTrial(tid) s.SaveModel(context.Background(), &pb.SaveModelRequest{ diff --git a/manager/modelstore/modeldb.go b/manager/modelstore/modeldb.go index f59f9a22be8..691cd32a295 100644 --- a/manager/modelstore/modeldb.go +++ b/manager/modelstore/modeldb.go @@ -123,6 +123,9 @@ func (m *ModelDB) SaveModel(in *api.SaveModelRequest) error { } md.ID = fres.ModelId for _, met := range in.Model.Metrics { + if met == nil { + continue + } mv, err := strconv.ParseFloat(met.Value, 64) if err != nil { continue