network.py 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. import numpy as np
  2. import keras
  3. def createModel(loss="mse", optimizer="adam"):
  4. return createModel1(loss, optimizer)
  5. def createModel1(loss="mse", optimizer="adam"):
  6. inputs = keras.Input(shape=(512*512,))
  7. x = keras.layers.Dense(128, activation="softsign")(inputs)
  8. x = keras.layers.Dense(32, activation="softsign")(x)
  9. outputs = keras.layers.Dense(4, activation="relu")(x)
  10. model = keras.Model(inputs=inputs, outputs=outputs)
  11. model.compile(optimizer=optimizer, loss=loss)
  12. model.summary()
  13. return model
  14. def createModel2(loss="mse", optimizer="adam"):
  15. inputs = keras.Input(shape=(512*512,))
  16. x = keras.layers.Dense(1024, activation="softsign")(inputs)
  17. x = keras.layers.Dense(128, activation="softsign")(x)
  18. x = keras.layers.Dense(32, activation="softsign")(x)
  19. outputs = keras.layers.Dense(4, activation="relu")(x)
  20. model = keras.Model(inputs=inputs, outputs=outputs)
  21. model.compile(optimizer=optimizer, loss=loss)
  22. model.summary()
  23. return model
  24. def createModelHistogram(loss="mse", optimizer="adam"):
  25. inputs = keras.Input(shape=(4096,))
  26. x = keras.layers.Dense(32, activation="softsign")(inputs)
  27. outputs = keras.layers.Dense(5, activation="relu")(x)
  28. model = keras.Model(inputs=inputs, outputs=outputs)
  29. model.compile(optimizer=optimizer, loss=loss)
  30. model.summary()
  31. return model
  32. def save(model, fileName="model.keras"):
  33. model.save(fileName)
  34. def load(fileName="model.keras"):
  35. return keras.saving.load_model(fileName)
  36. def toOneHot(arrItems, value):
  37. r = []
  38. for v in arrItems:
  39. if v == value:
  40. r.append(1.0)
  41. else:
  42. r.append(0.0)
  43. return r