| Lx=np.array(Lx) | Lx=np.array(Lx) | ||||
| return(t,Lx) | return(t,Lx) | ||||
| def creation_x(tmin,tmax,n): | |||||
| Lx=[] | |||||
| t= np.linspace(tmin,tmax,n) | |||||
| for i in t: | |||||
| Lx.append(i) | |||||
| return(t,np.array(Lx)) | |||||
| def creation_arctan(tmin,tmax,n): | |||||
| Lx=[] | |||||
| t= np.linspace(tmin,tmax,n) | |||||
| for i in t: | |||||
| Lx.append(np.arctan(i)) | |||||
| return(t,np.array(Lx)) | |||||
| def creation_x2(tmin,tmax,n): | |||||
| Lx=[] | |||||
| t= np.linspace(tmin,tmax,n) | |||||
| for i in t: | |||||
| Lx.append(i**2) | |||||
| return(t,np.array(Lx)) | |||||
| def snake(x, alpha=1.0): | |||||
| def snake(x, alpha=10): | |||||
| return (x + tf.sin(x)**2/alpha) | return (x + tf.sin(x)**2/alpha) | ||||
| model_sin.add(tf.keras.Input(shape=(1,))) | model_sin.add(tf.keras.Input(shape=(1,))) | ||||
| model_sin.add(tf.keras.layers.Dense(4, activation=sin)) | |||||
| model_sin.add(tf.keras.layers.Dense(4, activation=sin)) | |||||
| model_sin.add(tf.keras.layers.Dense(4, activation=sin)) | |||||
| model_sin.add(tf.keras.layers.Dense(4, activation=sin)) | |||||
| model_sin.add(tf.keras.layers.Dense(4, activation=sin)) | |||||
| model_sin.add(tf.keras.layers.Dense(512, activation=sin)) | |||||
| model_sin.add(tf.keras.layers.Dense(1)) | model_sin.add(tf.keras.layers.Dense(1)) | ||||
| plt.show() | plt.show() | ||||
| """ | |||||
| Created on Wed Nov 24 16:53:37 2021 | |||||
| @author: virgi | |||||
| """ | |||||
| from Creation_donnee import * | from Creation_donnee import * | ||||
| import numpy as np | import numpy as np | ||||
| w=10 | |||||
| n=20 | n=20 | ||||
| #création de la base de donnéé | #création de la base de donnéé | ||||
| X,Y=creation_sin(-15,-8,n,1,) | |||||
| X2,Y2=creation_sin(10,18,n,1,) | |||||
| X,Y=creation_sin(-1.5,-1,n,w,) | |||||
| X2,Y2=creation_sin(1,1.5,n,w,) | |||||
| X=np.concatenate([X,X2]) | X=np.concatenate([X,X2]) | ||||
| Y=np.concatenate([Y,Y2]) | Y=np.concatenate([Y,Y2]) | ||||
| n=10000 | n=10000 | ||||
| Xv,Yv=creation_sin(-20,20,n,1) | |||||
| Xv,Yv=creation_sin(-2,2,n,w) | |||||
| model_ReLU=tf.keras.models.Sequential() | model_ReLU=tf.keras.models.Sequential() | ||||
| model_ReLU.add(tf.keras.Input(shape=(1,))) | model_ReLU.add(tf.keras.Input(shape=(1,))) | ||||
| model_ReLU.add(tf.keras.layers.Dense(64, activation='relu')) | |||||
| model_ReLU.add(tf.keras.layers.Dense(64, activation='relu')) | |||||
| model_ReLU.add(tf.keras.layers.Dense(64, activation='relu')) | |||||
| model_ReLU.add(tf.keras.layers.Dense(64, activation='relu')) | |||||
| model_ReLU.add(tf.keras.layers.Dense(64, activation='relu')) | |||||
| model_ReLU.add(tf.keras.layers.Dense(512, activation='relu')) | |||||
| model_ReLU.add(tf.keras.layers.Dense(1)) | model_ReLU.add(tf.keras.layers.Dense(1)) | ||||
| model_ReLU.fit(X, Y, batch_size=1, epochs=10, shuffle='True',validation_data=(Xv, Yv)) | |||||
| model_ReLU.fit(X, Y, batch_size=16, epochs=10, shuffle='True',validation_data=(Xv, Yv)) | |||||
| model_snake.add(tf.keras.Input(shape=(1,))) | model_snake.add(tf.keras.Input(shape=(1,))) | ||||
| model_snake.add(tf.keras.layers.Dense(64, activation=snake)) | |||||
| model_snake.add(tf.keras.layers.Dense(64, activation=snake)) | |||||
| model_snake.add(tf.keras.layers.Dense(64, activation=snake)) | |||||
| model_snake.add(tf.keras.layers.Dense(64, activation=snake)) | |||||
| model_snake.add(tf.keras.layers.Dense(64, activation=snake)) | |||||
| model_snake.add(tf.keras.layers.Dense(512, activation=snake)) | |||||
| model_snake.add(tf.keras.layers.Dense(1)) | model_snake.add(tf.keras.layers.Dense(1)) | ||||
| model_snake.summary() | model_snake.summary() | ||||
| model_snake.fit(X, Y, batch_size=1, epochs=10, shuffle='True',validation_data=(Xv, Yv)) | |||||
| model_snake.fit(X, Y, batch_size=16, epochs=100, shuffle='True',validation_data=(Xv, Yv)) | |||||
| model_swish.add(tf.keras.Input(shape=(1,))) | model_swish.add(tf.keras.Input(shape=(1,))) | ||||
| model_swish.add(tf.keras.layers.Dense(64, activation='swish')) | |||||
| model_swish.add(tf.keras.layers.Dense(64, activation='swish')) | |||||
| model_swish.add(tf.keras.layers.Dense(64, activation='swish')) | |||||
| model_swish.add(tf.keras.layers.Dense(64, activation='swish')) | |||||
| model_swish.add(tf.keras.layers.Dense(64, activation='swish')) | |||||
| model_swish.add(tf.keras.layers.Dense(512, activation='swish')) | |||||
| model_swish.add(tf.keras.layers.Dense(1)) | model_swish.add(tf.keras.layers.Dense(1)) |
| model_ReLU.add(tf.keras.Input(shape=(1,))) | model_ReLU.add(tf.keras.Input(shape=(1,))) | ||||
| model_ReLU.add(tf.keras.layers.Dense(64, activation='relu')) | |||||
| model_ReLU.add(tf.keras.layers.Dense(64, activation='relu')) | |||||
| model_ReLU.add(tf.keras.layers.Dense(64, activation='relu')) | |||||
| model_ReLU.add(tf.keras.layers.Dense(64, activation='relu')) | |||||
| model_ReLU.add(tf.keras.layers.Dense(64, activation='relu')) | |||||
| model_ReLU.add(tf.keras.layers.Dense(512, activation='relu')) | |||||
| model_ReLU.add(tf.keras.layers.Dense(1)) | model_ReLU.add(tf.keras.layers.Dense(1)) | ||||
| model_tanh.add(tf.keras.Input(shape=(1,))) | model_tanh.add(tf.keras.Input(shape=(1,))) | ||||
| model_tanh.add(tf.keras.layers.Dense(64, activation='tanh')) | |||||
| model_tanh.add(tf.keras.layers.Dense(64, activation='tanh')) | |||||
| model_tanh.add(tf.keras.layers.Dense(64, activation='tanh')) | |||||
| model_tanh.add(tf.keras.layers.Dense(64, activation='tanh')) | |||||
| model_tanh.add(tf.keras.layers.Dense(64, activation='tanh')) | |||||
| model_tanh.add(tf.keras.layers.Dense(512, activation='tanh')) | |||||
| model_tanh.add(tf.keras.layers.Dense(1)) | model_tanh.add(tf.keras.layers.Dense(1)) |
| model_xsin.add(tf.keras.Input(shape=(1,))) | model_xsin.add(tf.keras.Input(shape=(1,))) | ||||
| model_xsin.add(tf.keras.layers.Dense(64, activation=x_sin)) | |||||
| model_xsin.add(tf.keras.layers.Dense(64, activation=x_sin)) | |||||
| model_xsin.add(tf.keras.layers.Dense(64, activation=x_sin)) | |||||
| model_xsin.add(tf.keras.layers.Dense(64, activation=x_sin)) | |||||
| model_xsin.add(tf.keras.layers.Dense(64, activation=x_sin)) | |||||
| model_xsin.add(tf.keras.layers.Dense(512, activation=x_sin)) | |||||
| model_xsin.add(tf.keras.layers.Dense(1)) | model_xsin.add(tf.keras.layers.Dense(1)) |