Beispiel #1
0
    def run(self):
        self.stopped = False
        self.status_sig.emit('Initializing...', True)
        from builder import Builder
        from config import load_config
        from savegbx import save_gbx

        from keras.models import load_model

        data_path = get_resource_path('data')
        config = load_config(os.path.join(data_path, 'config.json'))

        if not self.scaler:
            self.status_sig.emit('Loading data...', True)
            with open(os.path.join(data_path, config['position_scaler']),
                      'rb') as scaler_file:
                self.scaler = pickle.load(scaler_file)

        if self.stopped:
            return

        if not self.pattern_data:
            with open(os.path.join(data_path, config['pattern_data']),
                      'rb') as pattern_file:
                self.pattern_data = pickle.load(pattern_file)

        if self.stopped:
            return

        models_path = get_resource_path('models')
        if not self.builder:
            self.status_sig.emit('Loading models...', True)
            block_model = load_model(
                os.path.join(models_path, 'block_model_300_300.h5'))
            pos_model = load_model(
                os.path.join(models_path, 'position_model_512_512_256.h5'))

            self.builder = Builder(block_model,
                                   pos_model,
                                   config['lookback'],
                                   None,
                                   self.pattern_data,
                                   self.scaler,
                                   temperature=self.variety)

        if self.stopped:
            return

        self.status_sig.emit('Building...', False)
        track = self.builder.build(self.length,
                                   verbose=False,
                                   progress_callback=self.progress_callback)

        if track and self.save_fname:
            save_gbx({
                'track_data': track,
                'map_name': self.map_name
            }, os.path.join(data_path, 'Template.Challenge.Gbx'),
                     self.save_fname)
            self.status_sig.emit('Done.', False)
Beispiel #2
0
pattern_data = pickle.load(pattern_data_file)

scaler_file = open(config['position_scaler'], 'rb')
scaler = pickle.load(scaler_file)


def progress_callback(completed, total):
    percentage = int(completed / float(total) * 100)
    sys.stdout.write(f'Progress: {percentage}% [{completed} / {total}]\r')
    sys.stdout.flush()


block_model = load_model(args.block_model)
pos_model = load_model(args.pos_model)
builder = Builder(block_model,
                  pos_model,
                  config['lookback'],
                  None,
                  pattern_data,
                  scaler,
                  temperature=args.temperature)

track = builder.build(args.length,
                      verbose=False,
                      save=False,
                      progress_callback=progress_callback,
                      map_size=(32, 32, 32))
print(track)
save_gbx({'track_data': track}, 'data/Template.Challenge.Gbx', args.output)
print(f'Track saved to {args.output}.')
Beispiel #3
0
pattern_data = pickle.load(pattern_data_file)

scaler_file = open(config['position_scaler'], 'rb')
scaler = pickle.load(scaler_file)


def progress_callback(completed, total):
    percentage = int(completed / float(total) * 100)
    sys.stdout.write(f'Progress: {percentage}% [{completed} / {total}]\r')
    sys.stdout.flush()


block_model = load_model(args.block_model)
pos_model = load_model(args.pos_model)
builder = Builder(block_model,
                  pos_model,
                  config['lookback'],
                  None,
                  pattern_data,
                  scaler,
                  temperature=args.temperature)

track = builder.build(args.length,
                      verbose=False,
                      save=False,
                      progress_callback=progress_callback,
                      map_size=(32, 32, 32))
print(track)
save_gbx({'track_data': track}, 'data/Template.Map.Gbx', args.output)
print(f'Track saved to {args.output}.')