帮我用tensorflow2.12.0写cnn代码,用于拟合两组数据,要有测试后的图形输出
时间: 2024-05-05 08:19:58 浏览: 100
cnn.zip_CNN 手写数据集_cnn 手写_tensorflow cnn_卷积 mnist_神经网络
好的,以下是一个简单的CNN代码,用于拟合两组数据,并输出测试后的图形。请注意,此代码仅供参考,您需要根据您的数据集和需求进行修改。
```python
import tensorflow as tf
from tensorflow import keras
import numpy as np
import matplotlib.pyplot as plt
# 构建模型
model = keras.Sequential([
keras.layers.Conv2D(filters=32, kernel_size=3, activation='relu', input_shape=(28, 28, 1)),
keras.layers.MaxPooling2D(pool_size=(2, 2)),
keras.layers.Flatten(),
keras.layers.Dense(units=10, activation='softmax')
])
# 编译模型
model.compile(optimizer='adam',
loss='sparse_categorical_crossentropy',
metrics=['accuracy'])
# 准备数据
train_data = np.random.rand(100, 28, 28, 1)
train_labels = np.random.randint(2, size=100)
test_data = np.random.rand(20, 28, 28, 1)
test_labels = np.random.randint(2, size=20)
# 训练模型
model.fit(train_data, train_labels, epochs=10)
# 测试模型
test_loss, test_acc = model.evaluate(test_data, test_labels, verbose=2)
print('Test accuracy:', test_acc)
# 输出测试后的图形
predictions = model.predict(test_data)
for i in range(20):
plt.imshow(test_data[i].reshape(28, 28), cmap=plt.cm.binary)
plt.title('Prediction: ' + str(np.argmax(predictions[i])))
plt.show()
```
在这个例子中,我们使用了一个简单的CNN模型来拟合两组随机生成的数据。我们首先构建模型,然后编译模型,并准备训练和测试数据。我们使用`fit`函数来训练模型,并使用`evaluate`函数来测试模型的准确性。最后,我们使用`predict`函数来生成预测结果,并使用matplotlib库来输出测试后的图形。
您可以将该代码保存为一个.py文件并运行,以查看测试后的图形输出。
阅读全文