训练:
from tensorflow import keras import numpy as np import matplotlib.pyplot as plt x_train = np.linspace(0,10,80) y_train = np.sin(x_train) model = keras.Sequential( [keras.layers.Input(1),keras.layers.Dense(5, activation='sigmoid'), keras.layers.Dense(3, activation='sigmoid'), keras.layers.Dense(1)]) model.compile(optimizer=keras.optimizers.Adam(0.001), loss='mse', metrics=['accuracy']) model.fit(x_train, y_train, epochs=10000) model.save("rr.h5") y_predict = model.predict(x_train) plt.title('y') plt.xlabel('x') plt.ylabel('y') plt.plot(x_train, y_train, label='y_train') plt.plot(x_train, y_predict, label='y_predict') plt.legend() plt.show()预测:
from tensorflow import keras import numpy as np import matplotlib.pyplot as plt x_test = np.linspace(4.5,6.6,20) y_test = np.sin(x_test) network = keras.models.load_model('rr.h5') y_predict = network.predict(x_test) plt.title('y') plt.xlabel('x') plt.ylabel('y') plt.plot(x_test,y_test,label='y_test') plt.plot(x_test,y_predict,label='y_predict') plt.legend() plt.show()