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)
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}.')
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}.')