做2输入3输出的cnn回归预测的代码
时间: 2024-02-24 19:55:31 浏览: 66
以下是一个简单的 2 输入 3 输出的 CNN 回归预测的代码示例:
```python
import numpy as np
from tensorflow import keras
# 生成训练数据
X_train = np.random.rand(1000, 2)
y_train = np.column_stack((X_train[:, 0] + X_train[:, 1], X_train[:, 0] - X_train[:, 1], X_train[:, 0] * X_train[:, 1]))
# 定义模型
model = keras.Sequential([
keras.layers.Dense(units=64, activation='relu', input_shape=(2,)),
keras.layers.Dense(units=32, activation='relu'),
keras.layers.Dense(units=3, activation='linear')
])
# 编译模型
model.compile(optimizer='adam', loss='mse')
# 训练模型
model.fit(X_train, y_train, epochs=50, batch_size=32)
# 生成测试数据
X_test = np.random.rand(5, 2)
# 预测输出
y_pred = model.predict(X_test)
print('测试输入:')
print(X_test)
print('预测输出:')
print(y_pred)
```
这个示例中,我们使用随机生成的 1000 个 2 维输入数据,分别计算它们的和、差和积,作为对应的 3 维输出数据。然后,我们定义了一个包含 2 个隐藏层的神经网络模型,其中每个隐藏层包含 64 和 32 个神经元。最后一层是一个具有 3 个输出单元的线性层,用于进行回归预测。我们使用均方误差作为损失函数,并使用 Adam 优化器进行模型训练。训练完成后,我们使用随机生成的 5 个 2 维输入数据进行测试,并输出预测的 3 维输出数据。
阅读全文