1.代码:
import numpy as np import tensorflow as tf # 自变量和目标值 X = np.array([[1, 2, 3, 4, 5, 6]]) # 自变量需要是二维数组形式 Y = np.array([4531.575371]) # 转换为TensorFlow张量 X = tf.constant(X, dtype=tf.float32) Y = tf.constant(Y, dtype=tf.float32) # 定义模型 model = tf.keras.Sequential([ tf.keras.layers.Dense(units=1, input_shape=[6], use_bias=False) # 不使用偏置项 ]) # 设置初始权重 initial_weights = np.array([[700], [800], [600], [650], [750], [850]], dtype=np.float32) model.layers[0].set_weights([initial_weights]) # 编译模型 model.compile(optimizer='adam', loss='mse') # 训练模型 history = model.fit(X, Y, epochs=10000, verbose=0) # 使用较多的迭代次数以尝试获得更好的结果 # 获取训练后的权重 trained_weights = model.layers[0].get_weights()[0] # 打印结果 print("训练后的权重:") print(trained_weights)
2.效果: