Guest User

Untitled

a guest
Dec 14th, 2017
72
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.13 KB | None | 0 0
  1. import os
  2. import shutil
  3. import numpy as np
  4. from keras import Input
  5. from keras.layers import Dense
  6. from keras.models import Model
  7. from keras.optimizers import RMSprop
  8. from keras import callbacks
  9. from sklearn.datasets import load_digits
  10. from sklearn.model_selection import train_test_split
  11.  
  12. TENSORBOARD_PATH = './logs'
  13. reset=True
  14. print('Resetting:', reset)
  15. if reset:
  16. while os.path.isdir(TENSORBOARD_PATH):
  17. shutil.rmtree(TENSORBOARD_PATH)
  18.  
  19. def build_model(shape, name=None):
  20. x = Input(shape)
  21. y = Dense(128, activation='relu')(x)
  22. model = Model(inputs=x, outputs=y, name=name)
  23. optimizer = RMSprop(lr=0.01, rho=0.9, epsilon=1e-08, decay=0.0)
  24. model.compile(loss='sparse_categorical_crossentropy', optimizer=optimizer)
  25. return model
  26.  
  27. x, y = load_digits(return_X_y=True)
  28. x, x_test, y, y_test = train_test_split(x, y)
  29.  
  30. samples, features = x.shape
  31. models = [build_model([features], name=name) for name in ('alpha', 'beta')]
  32.  
  33. for model in models:
  34. # Training "fresh" models.
  35. model.fit(x, y,
  36. epochs=2,
  37. batch_size=None,
  38. validation_data=(x_test, y_test),
  39. callbacks=[callbacks.TensorBoard('./logs/' + model.name)])
  40. model.save_weights('./%s.hdf5'%(model.name))
  41.  
  42. for model in models:
  43. # Training "trained" models.
  44. model.load_weights('./%s.hdf5'%(model.name))
  45. model.fit(x, y,
  46. epochs=4,
  47. batch_size=None,
  48. validation_data=(x_test, y_test),
  49. callbacks=[callbacks.TensorBoard('./logs/' + model.name)],
  50. initial_epoch=2)
  51. model.save_weights('./%s.hdf5'%(model.name))
  52.  
  53.  
  54. for model in models:
  55. # Training "fresh, but trained" models.
  56. model = Model(model.inputs, model.outputs, name=model.name)
  57. optimizer = RMSprop(lr=0.001, rho=0.9, epsilon=1e-08, decay=0.0)
  58. model.compile(loss='sparse_categorical_crossentropy', optimizer=optimizer)
  59. model.load_weights('./%s.hdf5'%(model.name))
  60. model.fit(x, y,
  61. epochs=6,
  62. batch_size=None,
  63. validation_data=(x_test, y_test),
  64. callbacks=[callbacks.TensorBoard('./logs/' + model.name)],
  65. initial_epoch=6)
Add Comment
Please, Sign In to add comment