Guest User

Untitled

a guest
May 21st, 2018
75
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.31 KB | None | 0 0
  1. import numpy as np
  2. import sklearn.model_selection as skl_ms
  3. from keras.models import Sequential
  4. from keras.layers import Conv2D
  5. from keras.layers import Activation
  6. from keras.layers.core import Reshape
  7. from keras.utils import plot_model
  8. from matplotlib import cm
  9. import matplotlib.pyplot as plt
  10.  
  11. def plotArray(w):
  12. plt.imshow(w, cmap=cm.gray);
  13. plt.colorbar();
  14. plt.show();
  15.  
  16. k=8;
  17. n=1000;
  18. X = np.random.randint(0, k, [1000, 1, 2, 1]);
  19. Y = np.zeros([1000, 1]);
  20. epochs=50;
  21.  
  22. #Harder AND
  23. for i in range(0, n):
  24. if X[i, 0, 0, 0] > 3 and X[i, 0, 1, 0] > 3:
  25. Y[i] = 1;
  26.  
  27. (X_train, X_test, Y_train, Y_test) = skl_ms.train_test_split(X, Y);
  28.  
  29. model = Sequential([Conv2D(1, kernel_size=[1,2], activation='sigmoid', input_shape=[1, 2, 1]),
  30. Reshape(target_shape=(1,))]);
  31.  
  32. plot_model(model, to_file='logic_model.png', show_shapes=True, show_layer_names=True);
  33.  
  34. model.compile(optimizer='nadam', loss='mse');
  35.  
  36. print(model.summary());
  37.  
  38. model.fit(x=X_train, y=Y_train, epochs=epochs, batch_size=30);
  39.  
  40.  
  41. #Generate a plot to see what the model predictions are as a function of input 1
  42. #and input 2
  43. A=np.zeros([k, k]);
  44. for i in range(0, k):
  45. for j in range(0, k):
  46. b = np.array([i, j]);
  47. b = b.reshape([1, 1, 2, 1]);
  48.  
  49. A[i, j] = model.predict(b);
  50.  
  51. plotArray(A);
  52. plotArray(A>0.5);
Add Comment
Please, Sign In to add comment