Continue refactor
Dependencies
- [2]
JZRK6Q4KRefactor (preparation for multiple models) - [3]
SJHJS463Model trainer: main function to open sdl window and launch second thread for actual training - [4]
ROQCAPZJBegin function for showing the map (for now just opens SDL window) - [5]
CWOSQTC4Trust tensorflow's thread safety (it wasn't the cause of an earlier bug) - [6]
6AXPZL5PTry to offload tight loop to rust (for now it segfaults) - [7]
VKA5CCGCAdd pysdl2 to the trainmodel dependencies so I'll be able to visualize what's going on. - [8]
E742MTJAFix segfault (don't pass pointers between functions in different SDL versions), minor refactor - [9]
QBDHX7BHAdd a makefile to express python dependencies since pipenv doesn't like tensorflow - [10]
3QGP6RXLAutomatically format python files - [11]
ZLSXVDETModel trainer: export model in tfjs format once trained - [12]
7ML3OFE7Model trainer: initial train and visualize thread pair (total crust mass; todo: altitude instead) - [13]
EB3DTD43Model trainer: use ground altitude instead of crust mass distribution - [14]
2ABZP2KNModel trainer: save map.png after training - [15]
6W7MFV2FD20-based neural network architecture - [*]
ZM2EMAZOStart doing python multi-module stuff properly
Change contents
- replacement in trainmodel/src/model.py at line 5
import os - replacement in trainmodel/src/model.py at line 9
activation=keras.activations.softplus)(inputs)activation=tf.math.asinh)(inputs) - replacement in trainmodel/src/model.py at line 11
activation=keras.activations.softplus)(layer1)layer3 = keras.layers.Dense(20, activation=keras.activations.softplus)(activation=tf.math.asinh)(layer1)layer3 = keras.layers.Dense(20, activation=tf.math.asinh)( - replacement in trainmodel/src/model.py at line 14
layer4 = keras.layers.Dense(20, activation=keras.activations.softplus)(layer4 = keras.layers.Dense(20, activation=tf.math.asinh)( - replacement in trainmodel/src/model.py at line 22
layer8 = keras.layers.Dense(20, activation=keras.activations.softplus)(layer8 = keras.layers.Dense(20, activation=tf.math.asinh)( - replacement in trainmodel/src/model.py at line 24
layer9 = keras.layers.Dense(20, activation=keras.activations.softplus)(layer9 = keras.layers.Dense(20, activation=tf.math.asinh)( - replacement in trainmodel/src/model.py at line 26
layer10 = keras.layers.Dense(20, activation=keras.activations.softplus)(layer10 = keras.layers.Dense(20, activation=tf.math.asinh)( - replacement in trainmodel/src/model.py at line 28
layer11 = keras.layers.Dense(20, activation=keras.activations.softplus)(layer11 = keras.layers.Dense(20, activation=tf.math.asinh)( - replacement in trainmodel/src/model.py at line 30
layer12 = keras.layers.Dense(20, activation=keras.activations.softplus)(layer12 = keras.layers.Dense(20, activation=tf.math.asinh)( - replacement in trainmodel/src/model.py at line 35
def model():def model(chans = 1): - replacement in trainmodel/src/model.py at line 39
outputs = keras.layers.Dense(1, activation=keras.activations.sigmoid)(keras.layers.concatenate([d1, d2]))m = keras.layers.Dense(20, activation=tf.math.asinh)(keras.layers.concatenate([d1,d2]))outputs = keras.layers.Dense(chans, activation=keras.activations.sigmoid)(m) - replacement in trainmodel/src/model.py at line 62
self.heightmap = model()self.heightmap.compile(optimizer=keras.optimizers.RMSprop(),loss=shore_focused_loss)[2.41]self.members = {}def heightmap(self):if 'heightmap' not in self.members:self.members['heightmap'] = model()self.members['heightmap'].compile(optimizer=keras.optimizers.RMSprop(),loss=shore_focused_loss)return self.members['heightmap']def save(self, path):path = os.fspath(path)try:os.makedirs(path)except FileExistsError:Nonefor name, model in self.members.items():model.save(f'{path}{os.sep}{name}') - replacement in trainmodel/src/drawmap.py at line 28
outputs = m.heightmap(inputs)outputs = m.heightmap()(inputs) - edit in trainmodel/src/__main__.py at line 5
import tensorflowjs as tfjs - replacement in trainmodel/src/__main__.py at line 13
m.heightmap.fit(x=training_data[0], y=training_data[1], batch_size=100, epochs=5000)tfjs.converters.save_keras_model(m.heightmap, 'tfjs_model')m.heightmap().fit(x=training_data[0], y=training_data[1], batch_size=100, epochs=5000)m.save('models') - replacement in trainmodel/src/__main__.py at line 18
outputs = tf.reshape(m.heightmap(inputs), (1024, 2048, 1))outputs = tf.reshape(m.heightmap()(inputs), (1024, 2048, 1)) - edit in trainmodel/Makefile at line 10
env PATH=$(PWD)/venv/bin:$(PATH) pip install tensorflowjs