예제 #1
0
def viewer_main(modelfile=None,
                config='',
                zoom=False,
                server=False,
                response='pickle'):
    experiment = Experiment(zoom=zoom)
    if modelfile:
        experiment.execute('loadmodel %s' % modelfile)
    if not server:
        experiment.execute('loadconfig %s' % config)
    experiment.start()
    if server:
        receiver = Thread(target=receive, args=(experiment, response))
        receiver.start()
    experiment.join()
예제 #2
0
            Mbest += experiment.model.best_view(\
                experiment.relevance_models[targetrm])[1]
            best = set(best).pop()
            if current != best:
                experiment.execute('select %s' % best)
                #experiment.altdisplays[0].camera_view(experiment.model[best])
                try:
                    experiment.execute('fov %s' % current)
                except:
                    pass
                experiment.execute('fov %s' % best)
                if current_frames < opts.jitter:
                    U += 1
                current_frames = 0
            M += score
            channel.sendall(best)
            if positions and not 'J%d' % (pnum + 1) in positions:
                break
    finally:
        try:
            print('A: %.4f, M: %.4f, U: %d' % ((opts.w * (M / Mbest)) / (float(U) / float(frames) + opts.w), (M / Mbest), U))
            sys.stdout.flush()
        except ZeroDivisionError:
            pass
        if port:
            port.close()
        channel.close()
        sock.close()
        experiment.execute('exit')
        experiment.join()