def read_stream(self, id_stream): stream = get_conftools_streams().instance(id_stream) for i, log_item in enumerate(stream.read_all()): timestamp = i * 1.0 yield 'y0', timestamp, log_item.y0 yield 'y1', timestamp, log_item.y1 yield 'u', timestamp, log_item.u
def define_jobs_context(self, context): distances_library = get_conftools_uncertain_image_distances() distances = distances_library.expand_names(self.options.distances) distances = natsorted(distances) streams_library = get_conftools_streams() streams = streams_library.expand_names(self.options.streams) streams = natsorted(streams) # id_comb = ','.join(streams) + '-' + ','.join(distances) create_diststats_jobs(context, distances=distances, streams=streams, maxd=self.options.maxd)
def define_jobs_context(self, context): distances_library = get_conftools_uncertain_image_distances() distances = distances_library.expand_names(self.options.distances) streams_library = get_conftools_streams() streams = streams_library.expand_names(self.options.streams) discdds_library = get_conftools_discdds() discdds = discdds_library.expand_names(self.options.dds) for c, id_discdds in iterate_context_names(context, discdds): create_predstats_jobs(context=c, distances=distances, id_discdds=id_discdds, streams=streams, maxd=10)
def video_visualize_diffeo_stream1_robot(id_robot, boot_root, out): """ Creates a video for the stream. """ my_stream = 'robotstream-%s' % id_robot bootstream = ['diffeo_agents.library.BootStream', dict(id_robot=id_robot, boot_root=boot_root)] limit_stream = ['diffeo2dds_learn.library.LimitStream', dict(n=1000, stream=bootstream)] streams = get_conftools_streams() streams.add_spec(my_stream, "", limit_stream) return video_visualize_diffeo_stream1(my_stream, out)
def compute_dist_stats(id_distance, id_stream, delta): distances_library = get_conftools_uncertain_image_distances() distance = distances_library.instance(id_distance) stream = get_conftools_streams().instance(id_stream) it = stream.read_all() results = [] for logitem in iterate_testcases(it, delta): assert_allclose(len(logitem.u), delta) y0 = UncertainImage(logitem.y0) y1 = UncertainImage(logitem.y1) d = distance.distance(y0, y1) results.append(d) logger.info('%s: found %d of %d steps in %s' % (id_distance, len(results), delta, id_stream)) return results
def make_logcases(id_stream, n, delta, id_tcs, id_discdds, discdds, seed): stream = get_conftools_streams().instance(id_stream) stream_data = stream.read_all() miniplans = iterate_testcases(stream_data, delta) sampled = reservoir_sample(miniplans, N=n, seed=seed) for i, m in enumerate(sampled): id_tc = id_tcs[i] I0 = UncertainImage(m.y0) I1 = UncertainImage(m.y1) assert len(m.u) == delta plan = discdds.commands_to_indices(m.u) tc = TestCase(id_tc=id_tc, id_discdds=id_discdds, y0=I0, y1=I1, true_plan=plan) # TODO: add field desc # desc = 'Sampled from stream %s, i=%s for seed %s.' % (i, seed) yield tc
def video_visualize_diffeo_stream1_robot(id_robot, boot_root, out): """ Creates a video for the stream. """ my_stream = 'robotstream-%s' % id_robot bootstream = [ 'diffeo_agents.library.BootStream', dict(id_robot=id_robot, boot_root=boot_root) ] limit_stream = [ 'diffeo2dds_learn.library.LimitStream', dict(n=1000, stream=bootstream) ] streams = get_conftools_streams() streams.add_spec(my_stream, "", limit_stream) return video_visualize_diffeo_stream1(my_stream, out)
def compute_predstats(id_discdds, id_stream, delta, id_distances): dds = get_conftools_discdds().instance(id_discdds) stream = get_conftools_streams().instance(id_stream) distances_library = get_conftools_uncertain_image_distances() distances = dict(map(lambda x: (x, distances_library.instance(x)), id_distances)) dtype = [(x, 'float32') for x in id_distances] results = [] for logitem in iterate_testcases(stream.read_all(), delta): assert_allclose(len(logitem.u), delta) y0 = UncertainImage(logitem.y0) y1 = UncertainImage(logitem.y1) py0 = dds.predict(y0, dds.commands_to_indices(logitem.u)) ds = [] for name in id_distances: d = distances[name].distance(y1, py0) # d0 = distances[name].distance(y1, y0) ds.append(d) a = np.array(tuple(ds), dtype=dtype) results.append(a) return results
def compute_predstats(id_discdds, id_stream, delta, id_distances): dds = get_conftools_discdds().instance(id_discdds) stream = get_conftools_streams().instance(id_stream) distances_library = get_conftools_uncertain_image_distances() distances = dict( map(lambda x: (x, distances_library.instance(x)), id_distances)) dtype = [(x, 'float32') for x in id_distances] results = [] for logitem in iterate_testcases(stream.read_all(), delta): assert_allclose(len(logitem.u), delta) y0 = UncertainImage(logitem.y0) y1 = UncertainImage(logitem.y1) py0 = dds.predict(y0, dds.commands_to_indices(logitem.u)) ds = [] for name in id_distances: d = distances[name].distance(y1, py0) # d0 = distances[name].distance(y1, y0) ds.append(d) a = np.array(tuple(ds), dtype=dtype) results.append(a) return results
def read_stream(self, id_stream): stream = get_conftools_streams().instance(id_stream) for i, log_item in enumerate(stream.read_all()): signal = 'data' timestamp = i * 1.0 yield signal, timestamp, log_item
# # # for_all_imagestreams = fancy_test_decorator(lister=image_stream_lister, # arguments=lambda id_image_stream: # (id_image_stream, testconfig().image_streams.instance(id_image_stream)), # attributes=lambda id_image_stream: dict(image_stream=id_image_stream), # debug=True) # # def stream_lister(): # config = testconfig() # keys = config.streams.keys() # keys = [k for k in keys if k.startswith('test_')] # return keys # # for_all_streams = fancy_test_decorator(lister=stream_lister, # arguments=lambda x: (x, testconfig().streams.instance(x)), # attributes=lambda x: dict(stream=x), # debug=True) from comptests.registrar import comptests_for_all from diffeo2dds_learn import get_conftools_streams, get_conftools_image_streams from diffeo2dds_learn.configuration.config_master import ( get_conftools_diffeoaction_estimators, get_conftools_diffeosystem_estimators, ) for_all_streams = comptests_for_all(get_conftools_streams()) for_all_image_streams = comptests_for_all(get_conftools_image_streams()) for_all_diffeoaction_estimators = comptests_for_all(get_conftools_diffeoaction_estimators()) for_all_diffeosystem_estimators = comptests_for_all(get_conftools_diffeosystem_estimators())
# # # for_all_imagestreams = fancy_test_decorator(lister=image_stream_lister, # arguments=lambda id_image_stream: # (id_image_stream, testconfig().image_streams.instance(id_image_stream)), # attributes=lambda id_image_stream: dict(image_stream=id_image_stream), # debug=True) # # def stream_lister(): # config = testconfig() # keys = config.streams.keys() # keys = [k for k in keys if k.startswith('test_')] # return keys # # for_all_streams = fancy_test_decorator(lister=stream_lister, # arguments=lambda x: (x, testconfig().streams.instance(x)), # attributes=lambda x: dict(stream=x), # debug=True) from comptests.registrar import comptests_for_all from diffeo2dds_learn import (get_conftools_streams, get_conftools_image_streams) from diffeo2dds_learn.configuration.config_master import get_conftools_diffeoaction_estimators, \ get_conftools_diffeosystem_estimators for_all_streams = comptests_for_all(get_conftools_streams()) for_all_image_streams = comptests_for_all(get_conftools_image_streams()) for_all_diffeoaction_estimators = comptests_for_all(get_conftools_diffeoaction_estimators()) for_all_diffeosystem_estimators = comptests_for_all(get_conftools_diffeosystem_estimators())