2 Unit tests for optimization that logs to comet.ml. 3 Author: Jing Wu and Frank Dellaert 8 if sys.version_info.major >= 3:
9 from io
import StringIO
11 from cStringIO
import StringIO
14 from datetime
import datetime
18 from gtsam
import Rot3
28 """Check correct logging to comet.ml.""" 31 """Set up a small Karcher mean optimization example.""" 33 R = Rot3.Expmap(np.array([0.1, 0, 0]))
34 rotations = {R, R.inverse()}
48 self.
graph.
add(gtsam.PriorFactorRot3(KEY, R, MODEL))
57 """Reset print capture.""" 58 sys.stdout = sys.__stdout__
61 """Test with a simple hook.""" 78 """Make sure we are properly terminating LM""" 91 @unittest.skip(
"Not a test we want run every time, as needs comet.ml account")
93 """Test with a comet hook.""" 94 from comet_ml
import Experiment
95 comet = Experiment(project_name=
"Testing",
96 auto_output_logging=
"native")
97 comet.log_dataset_info(name=
"Karcher", path=
"shonan")
98 comet.add_tag(
"GaussNewton")
99 comet.log_parameter(
"method",
"GaussNewton")
100 time = datetime.now()
101 comet.set_name(
"GaussNewton-" +
str(time.month) +
"/" +
str(time.day) +
" " 102 +
str(time.hour)+
":"+
str(time.minute)+
":"+
str(time.second))
105 def hook(optimizer, error):
106 comet.log_metric(
"Karcher error",
107 error, optimizer.iterations())
112 actual = self.optimizer.
values()
115 if __name__ ==
"__main__":
def gtsam_optimize(optimizer, params, hook)
def optimize_using(OptimizerClass, hook, args)
def gtsamAssertEquals(self, actual, expected, tol=1e-9)
EIGEN_STRONG_INLINE Packet4f print(const Packet4f &a)
Rot3 is a 3D rotation represented as a rotation matrix if the preprocessor symbol GTSAM_USE_QUATERNIO...
static shared_ptr Create(size_t dim)
def test_simple_printing(self)
def test_lm_simple_printing(self)
graph add(PriorFactor< Pose2 >(1, priorMean, priorNoise))