You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

sin.py 1.2KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. # -*- coding: utf-8 -*-
  2. """
  3. Created on Wed Nov 24 16:58:44 2021
  4. @author: virgi
  5. """
  6. import tensorflow as tf
  7. import matplotlib.pyplot as plt
  8. from fonction_activation import *
  9. from Creation_donnee import *
  10. import numpy as np
  11. n=20
  12. #création de la base de donnéé
  13. X,Y=creation_sin(-15,-8,n,1,)
  14. X2,Y2=creation_sin(10,18,n,1,)
  15. X=np.concatenate([X,X2])
  16. Y=np.concatenate([Y,Y2])
  17. n=10000
  18. Xv,Yv=creation_sin(-20,20,n,1)
  19. model_sin=tf.keras.models.Sequential()
  20. model_sin.add(tf.keras.Input(shape=(1,)))
  21. model_sin.add(tf.keras.layers.Dense(512, activation=sin))
  22. model_sin.add(tf.keras.layers.Dense(1))
  23. opti=tf.keras.optimizers.Adam()
  24. model_sin.compile(opti, loss='mse', metrics=['accuracy'])
  25. model_sin.summary()
  26. model_sin.fit(X, Y, batch_size=1, epochs=10, shuffle='True',validation_data=(Xv, Yv))
  27. Y_predis_sin=model_sin.predict(X)
  28. Y_predis_validation_sin=model_sin.predict(Xv)
  29. plt.figure()
  30. plt.plot(X,Y,'x',label='donnée')
  31. plt.plot(Xv,Yv,label="validation")
  32. plt.plot(X,Y_predis_sin,'o',label='prediction sur les donné avec sin comme activation')
  33. plt.plot(Xv,Y_predis_validation_sin,label='prediction sur la validation avec sin comme activation')
  34. plt.legend()
  35. plt.show()