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.5KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  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. w=10
  12. n=2000
  13. #création de la base de donnée
  14. X,Y=creation_sin(-2.5,-1,n,w)
  15. X2,Y2=creation_sin(1,1.5,n,w)
  16. X=np.concatenate([X,X2])
  17. Y=np.concatenate([Y,Y2])
  18. n=10000
  19. Xv,Yv=creation_sin(-3,3,n,w)
  20. model_sin=tf.keras.models.Sequential()
  21. model_sin.add(tf.keras.Input(shape=(1,)))
  22. # model_sin.add(tf.keras.layers.Dense(64, activation=sin))
  23. # model_sin.add(tf.keras.layers.Dense(64, activation=sin))
  24. # model_sin.add(tf.keras.layers.Dense(64, activation=sin))
  25. # model_sin.add(tf.keras.layers.Dense(64, activation=sin))
  26. # model_sin.add(tf.keras.layers.Dense(64, activation=sin))
  27. # model_sin.add(tf.keras.layers.Dense(64, activation=sin))
  28. model_sin.add(tf.keras.layers.Dense(512, activation=sin))
  29. model_sin.add(tf.keras.layers.Dense(1))
  30. opti=tf.keras.optimizers.Adam()
  31. model_sin.compile(opti, loss='mse', metrics=['accuracy'])
  32. model_sin.summary()
  33. model_sin.fit(X, Y, batch_size=16, epochs=150, shuffle='True',validation_data=(Xv, Yv))
  34. Y_predis_sin=model_sin.predict(X)
  35. Y_predis_validation_sin=model_sin.predict(Xv)
  36. plt.figure()
  37. plt.plot(X,Y,'x',label='donnée')
  38. plt.plot(Xv,Yv,label="validation")
  39. plt.plot(X,Y_predis_sin,'o',label='prediction sur les données avec sin ')
  40. plt.plot(Xv,Y_predis_validation_sin,label='prediction sur la validation avec sin')
  41. plt.legend()
  42. plt.show()