importsysimportthreadingimporttensorflowastffromtensorflowimportkerasfrom.importmodelfrom.importsimsavefrom.importdrawmapdeftrain(m,filename):source=simsave.SimResult(open(filename,'r'))training_data=model.training_data(source)m.heightmap().fit(x=training_data[0],y=training_data[1],batch_size=100,epochs=5000)m.save('models')inputs=tf.reshape(drawmap.inputs_equirectangular(2048,1024),(2048*1024,3))outputs=tf.reshape(m.heightmap()(inputs),(1024,2048,1))outputs=tf.cast(drawmap.colourize_heightmap(outputs)*255,tf.uint8)outputs=tf.io.encode_png(outputs).numpy()f=open("map.png",'wb')f.write(outputs)f.close()iflen(sys.argv)>1:m=model.ModelSet()bg_thread=threading.Thread(target=train,args=(m,sys.argv[1]),kwargs={})bg_thread.start()drawmap.run(m)bg_thread.join()else:print("Expecting filename of tectonic.js save",file=sys.stderr)