import numpy as np from utils import * from nn import B, compile_b from draw import draw import time def chunker(seq, size): return (seq[pos:pos + size] for pos in range(0, len(seq), size)) def predicted_map(path=None): year = MAX_YEAR - 1 df = pd.read_pickle('data.p') print('TEMPERATURE MODIFICATION OF {}'.format(change)) inputs = ['elevation', 'distance_to_water', 'latitude'] for season in SEASONS: inputs += [ 'temp_{}_{}'.format(season, year), 'precip_{}_{}'.format(season, year) ] print(inputs) # print(inputs) frame = df[inputs + ['longitude']] # print(frame.head()) for season in SEASONS: frame.loc[:, 'temp_{}_{}'.format(season, year)] += change columns = ['latitude', 'longitude', 'biome_num'] new_data = pd.DataFrame(columns=columns) for i, chunk in enumerate(chunker(frame, B.batch_size)): if chunk.shape[0] < B.batch_size: continue input_data = normalize_ndarray(chunk.loc[:, inputs].values) out = B.predict(input_data) f = pd.DataFrame({ 'longitude': chunk.loc[:, 'longitude'], 'latitude': chunk.loc[:, 'latitude'], 'biome_num': out }, columns=columns) new_data = new_data.append(f) draw(new_data, path=path) if __name__ == "__main__": compile_b() predicted_map()